Merge branch 'main' of https://gitlab.fdmci.hva.nl/propedeuse-hbo-ict/onderwijs/2023-2024/out-a-se-ti/blok-4/muupooviixee66
This commit is contained in:
248
.idea/workspace.xml
generated
248
.idea/workspace.xml
generated
@@ -1,7 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="AndroidLayouts">
|
||||
<shared>
|
||||
<config />
|
||||
</shared>
|
||||
</component>
|
||||
<component name="AutoImportSettings">
|
||||
<option name="autoReloadType" value="SELECTIVE" />
|
||||
<option name="autoReloadType" value="NONE" />
|
||||
</component>
|
||||
<component name="CMakeSettings">
|
||||
<configurations>
|
||||
@@ -9,7 +14,10 @@
|
||||
</configurations>
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="00599d5b-7eb5-44da-ad7f-98bf42384c16" name="Changes" comment="" />
|
||||
<list default="true" id="00599d5b-7eb5-44da-ad7f-98bf42384c16" name="Changes" comment="Final update onderzoek-formulier.md">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/docs/personalDocs/Luca/literatuuronderzoek/onderzoek-formulier.md" beforeDir="false" afterPath="$PROJECT_DIR$/docs/personalDocs/Luca/literatuuronderzoek/onderzoek-formulier.md" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
@@ -18,53 +26,140 @@
|
||||
<component name="ClangdSettings">
|
||||
<option name="formatViaClangd" value="false" />
|
||||
</component>
|
||||
<component name="ExternalProjectsData">
|
||||
<projectState path="$PROJECT_DIR$">
|
||||
<ProjectState />
|
||||
</projectState>
|
||||
</component>
|
||||
<component name="ExternalProjectsManager">
|
||||
<system id="GRADLE">
|
||||
<state>
|
||||
<projects_view>
|
||||
<tree_state>
|
||||
<expand />
|
||||
<select />
|
||||
</tree_state>
|
||||
</projects_view>
|
||||
</state>
|
||||
</system>
|
||||
</component>
|
||||
<component name="FileTemplateManagerImpl">
|
||||
<option name="RECENT_TEMPLATES">
|
||||
<list>
|
||||
<option value="Interface" />
|
||||
<option value="Class" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="Git.Merge.Settings">
|
||||
<option name="BRANCH" value="origin/main" />
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="GitLabMergeRequestFiltersHistory"><![CDATA[{
|
||||
"lastFilter": {
|
||||
"state": "OPENED",
|
||||
"assignee": {
|
||||
"type": "org.jetbrains.plugins.gitlab.mergerequest.ui.filters.GitLabMergeRequestsFiltersValue.MergeRequestsMemberFilterValue.MergeRequestsAssigneeFilterValue",
|
||||
"username": "hossan",
|
||||
"fullname": "Sam Hos"
|
||||
}
|
||||
}
|
||||
}]]></component>
|
||||
<component name="GitLabMergeRequestsSettings"><![CDATA[{
|
||||
"selectedUrlAndAccountId": {
|
||||
"first": "https://gitlab.fdmci.hva.nl/propedeuse-hbo-ict/onderwijs/2023-2024/out-a-se-ti/blok-4/muupooviixee66.git",
|
||||
"second": "84a10761-db55-497c-b8ce-f6aaf9a69ff1"
|
||||
}
|
||||
}]]></component>
|
||||
<component name="GitSEFilterConfiguration">
|
||||
<file-type-list>
|
||||
<filtered-out-file-type name="LOCAL_BRANCH" />
|
||||
<filtered-out-file-type name="REMOTE_BRANCH" />
|
||||
<filtered-out-file-type name="TAG" />
|
||||
<filtered-out-file-type name="COMMIT_BY_MESSAGE" />
|
||||
</file-type-list>
|
||||
</component>
|
||||
<component name="ProjectColorInfo">{
|
||||
"associatedIndex": 2
|
||||
"associatedIndex": 7
|
||||
}</component>
|
||||
<component name="ProjectId" id="2fE3N2CwEPDo9wBtexBLxU20tCJ" />
|
||||
<component name="ProjectLevelVcsManager">
|
||||
<ConfirmationsSetting value="2" id="Add" />
|
||||
</component>
|
||||
<component name="ProjectViewState">
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
</component>
|
||||
<component name="PropertiesComponent"><![CDATA[{
|
||||
"keyToString": {
|
||||
"RunOnceActivity.RadMigrateCodeStyle": "true",
|
||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||
"RunOnceActivity.cidr.known.project.marker": "true",
|
||||
"RunOnceActivity.readMode.enableVisualFormatting": "true",
|
||||
"cf.first.check.clang-format": "false",
|
||||
"cidr.known.project.marker": "true",
|
||||
"git-widget-placeholder": "main",
|
||||
"ignore.virus.scanning.warn.message": "true",
|
||||
"last_opened_file_path": "C:/Users/samho/muupooviixee66",
|
||||
"node.js.detected.package.eslint": "true",
|
||||
"node.js.detected.package.tslint": "true",
|
||||
"node.js.selected.package.eslint": "(autodetect)",
|
||||
"node.js.selected.package.tslint": "(autodetect)",
|
||||
"nodejs_package_manager_path": "npm",
|
||||
"settings.editor.selected.configurable": "preferences.lookFeel",
|
||||
"vue.rearranger.settings.migration": "true"
|
||||
<component name="PropertiesComponent">{
|
||||
"keyToString": {
|
||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||
"git-widget-placeholder": "main",
|
||||
"node.js.detected.package.eslint": "true",
|
||||
"node.js.detected.package.tslint": "true",
|
||||
"node.js.selected.package.eslint": "(autodetect)",
|
||||
"node.js.selected.package.tslint": "(autodetect)",
|
||||
"nodejs_package_manager_path": "npm",
|
||||
"vue.rearranger.settings.migration": "true"
|
||||
}
|
||||
}]]></component>
|
||||
}</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="MoveFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/code/src/app/src/main/java/com/fitbot" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunManager">
|
||||
<configuration name="Fitbot" type="AndroidRunConfigurationType" factoryName="Android App">
|
||||
<option name="DEPLOY" value="true" />
|
||||
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
|
||||
<option name="DEPLOY_AS_INSTANT" value="false" />
|
||||
<option name="ARTIFACT_NAME" value="" />
|
||||
<option name="PM_INSTALL_OPTIONS" value="" />
|
||||
<option name="ALL_USERS" value="false" />
|
||||
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
|
||||
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="" />
|
||||
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
||||
<option name="MODE" value="default_activity" />
|
||||
<option name="CLEAR_LOGCAT" value="false" />
|
||||
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
|
||||
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
|
||||
<option name="FORCE_STOP_RUNNING_APP" value="true" />
|
||||
<option name="INSPECTION_WITHOUT_ACTIVITY_RESTART" value="false" />
|
||||
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
|
||||
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
|
||||
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
|
||||
<option name="DEBUGGER_TYPE" value="Auto" />
|
||||
<Auto>
|
||||
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
|
||||
<option name="SHOW_STATIC_VARS" value="true" />
|
||||
<option name="WORKING_DIR" value="" />
|
||||
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
||||
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
||||
</Auto>
|
||||
<Hybrid>
|
||||
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
|
||||
<option name="SHOW_STATIC_VARS" value="true" />
|
||||
<option name="WORKING_DIR" value="" />
|
||||
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
||||
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
||||
</Hybrid>
|
||||
<Java />
|
||||
<Native>
|
||||
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
|
||||
<option name="SHOW_STATIC_VARS" value="true" />
|
||||
<option name="WORKING_DIR" value="" />
|
||||
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
||||
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
||||
</Native>
|
||||
<Profilers>
|
||||
<option name="ADVANCED_PROFILING_ENABLED" value="false" />
|
||||
<option name="STARTUP_PROFILING_ENABLED" value="false" />
|
||||
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
|
||||
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Java/Kotlin Method Sample (legacy)" />
|
||||
<option name="STARTUP_NATIVE_MEMORY_PROFILING_ENABLED" value="false" />
|
||||
<option name="NATIVE_MEMORY_SAMPLE_RATE_BYTES" value="2048" />
|
||||
</Profilers>
|
||||
<option name="DEEP_LINK" value="" />
|
||||
<option name="ACTIVITY_CLASS" value="" />
|
||||
<option name="SEARCH_ACTIVITY_IN_GLOBAL_SCOPE" value="false" />
|
||||
<option name="SKIP_ACTIVITY_VALIDATION" value="false" />
|
||||
<method v="2">
|
||||
<option name="Android.Gradle.BeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
</component>
|
||||
<component name="SharedIndexes">
|
||||
<attachedChunks>
|
||||
<set>
|
||||
<option value="bundled-js-predefined-1d06a55b98c1-2e7d6887c066-JavaScript-WS-241.15989.47" />
|
||||
</set>
|
||||
</attachedChunks>
|
||||
</component>
|
||||
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
@@ -75,10 +170,87 @@
|
||||
<updated>1713352368380</updated>
|
||||
<workItem from="1713352368383" duration="57000" />
|
||||
<workItem from="1713352446871" duration="1766000" />
|
||||
<workItem from="1713814327036" duration="4920000" />
|
||||
<workItem from="1713863377053" duration="634000" />
|
||||
</task>
|
||||
<task id="LOCAL-00001" summary="Changes">
|
||||
<created>1713528225837</created>
|
||||
<option name="number" value="00001" />
|
||||
<option name="presentableId" value="LOCAL-00001" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1713528225837</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00002" summary="Added audio recorder files and speech callbacks">
|
||||
<created>1713529491491</created>
|
||||
<option name="number" value="00002" />
|
||||
<option name="presentableId" value="LOCAL-00002" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1713529491491</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00003" summary="Moved files to appropriate directory.">
|
||||
<created>1713530847982</created>
|
||||
<option name="number" value="00003" />
|
||||
<option name="presentableId" value="LOCAL-00003" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1713530847982</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00004" summary="Added speech example">
|
||||
<created>1713533683504</created>
|
||||
<option name="number" value="00004" />
|
||||
<option name="presentableId" value="LOCAL-00004" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1713533683504</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00005" summary="Added 'onderzoek.md' & 'onderzoek-formulier.md'">
|
||||
<option name="closed" value="true" />
|
||||
<created>1713819918258</created>
|
||||
<option name="number" value="00005" />
|
||||
<option name="presentableId" value="LOCAL-00005" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1713819918258</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00006" summary="Updated 'onderzoek-formulier.md'">
|
||||
<option name="closed" value="true" />
|
||||
<created>1713858137734</created>
|
||||
<option name="number" value="00006" />
|
||||
<option name="presentableId" value="LOCAL-00006" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1713858137734</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00007" summary="Final update onderzoek-formulier.md">
|
||||
<option name="closed" value="true" />
|
||||
<created>1713858768333</created>
|
||||
<option name="number" value="00007" />
|
||||
<option name="presentableId" value="LOCAL-00007" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1713858768333</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="8" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="version" value="3" />
|
||||
</component>
|
||||
<component name="Vcs.Log.Tabs.Properties">
|
||||
<option name="TAB_STATES">
|
||||
<map>
|
||||
<entry key="MAIN">
|
||||
<value>
|
||||
<State />
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<MESSAGE value="Changes" />
|
||||
<MESSAGE value="Added audio recorder files and speech callbacks" />
|
||||
<MESSAGE value="Moved files to appropriate directory." />
|
||||
<MESSAGE value="Added speech example" />
|
||||
<MESSAGE value="Added sprint report files" />
|
||||
<MESSAGE value="Added 'onderzoek.md' & 'onderzoek-formulier.md'" />
|
||||
<MESSAGE value="Updated 'onderzoek-formulier.md'" />
|
||||
<MESSAGE value="Final update onderzoek-formulier.md" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="Final update onderzoek-formulier.md" />
|
||||
</component>
|
||||
</project>
|
4
code/src/.idea/encodings.xml
generated
Normal file
4
code/src/.idea/encodings.xml
generated
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding" addBOMForNewFiles="with NO BOM" />
|
||||
</project>
|
1
code/src/.idea/gradle.xml
generated
1
code/src/.idea/gradle.xml
generated
@@ -7,7 +7,6 @@
|
||||
<option name="testRunner" value="GRADLE" />
|
||||
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="gradleJvm" value="jbr-17" />
|
||||
<option name="modules">
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
|
2
code/src/.idea/vcs.xml
generated
2
code/src/.idea/vcs.xml
generated
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
|
||||
</component>
|
||||
</project>
|
@@ -34,4 +34,6 @@ dependencies {
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
|
||||
implementation 'com.aldebaran:qisdk:1.7.5'
|
||||
implementation 'com.aldebaran:qisdk-design:1.7.5'
|
||||
}
|
@@ -1,10 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.fitbot.fitbot">
|
||||
package="com.fitbot">
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
|
4
code/src/app/src/main/assets/robot/robotsdk.xml
Normal file
4
code/src/app/src/main/assets/robot/robotsdk.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<robot>
|
||||
<users-robotsdk minSdkVersion='API 7' />
|
||||
</robot>
|
37
code/src/app/src/main/java/com/fitbot/MainActivity.java
Normal file
37
code/src/app/src/main/java/com/fitbot/MainActivity.java
Normal file
@@ -0,0 +1,37 @@
|
||||
package com.fitbot;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.media.MediaRecorder;
|
||||
import android.os.Bundle;
|
||||
|
||||
public class MainActivity extends RobotActivity implements RobotLifecycleCallbacks {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
// Register the RobotLifecycleCallbacks to this Activity.
|
||||
QiSDK.register(this, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
// Unregister the RobotLifecycleCallbacks for this Activity.
|
||||
QiSDK.unregister(this, this);
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRobotFocusGained(QiContext qiContext) {
|
||||
// The robot focus is gained.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRobotFocusLost() {
|
||||
// The robot focus is lost.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRobotFocusRefused(String reason) {
|
||||
// The robot focus is refused.
|
||||
}
|
||||
}
|
@@ -0,0 +1,10 @@
|
||||
package com.fitbot.audio;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.media.MediaRecorder;
|
||||
|
||||
public class AudioAnalyser {
|
||||
|
||||
|
||||
|
||||
}
|
@@ -0,0 +1,47 @@
|
||||
package com.fitbot.audio;
|
||||
|
||||
import android.media.MediaRecorder;
|
||||
|
||||
public class AudioRecorder {
|
||||
|
||||
private MediaRecorder recorder;
|
||||
|
||||
|
||||
public AudioRecorder() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Record audio from the device's microphone
|
||||
* @return An instance of the AudioRecorder class
|
||||
*/
|
||||
public AudioRecorder record() {
|
||||
|
||||
recorder = new MediaRecorder();
|
||||
|
||||
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
|
||||
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
|
||||
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
|
||||
|
||||
// Attempt to prepare and start the audio recorder
|
||||
try {
|
||||
recorder.prepare();
|
||||
recorder.start();
|
||||
} catch (Exception e) {
|
||||
System.err.println("Error preparing audio recorder");
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Stop the audio recording
|
||||
*/
|
||||
public void stop() {
|
||||
recorder.stop();
|
||||
recorder.release();
|
||||
recorder = null;
|
||||
}
|
||||
|
||||
|
||||
}
|
@@ -1,13 +0,0 @@
|
||||
package com.fitbot.fitbot;
|
||||
|
||||
import android.os.Bundle;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
public class MainActivity extends AppCompatActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.testlayout); // replace with your layout file
|
||||
|
||||
}
|
||||
}
|
@@ -1,18 +0,0 @@
|
||||
package com.fitbot.fitbot;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.widget.TextView;
|
||||
|
||||
public class TextSetter {
|
||||
public static void setCustomText(Activity activity, int textViewId, String text) {
|
||||
TextView textView = (TextView) activity.findViewById(textViewId);
|
||||
textView.setText(text);
|
||||
}
|
||||
}
|
||||
|
||||
// usage:
|
||||
// TextSetter.setCustomText(this, R.id.testText, "Bruh");
|
||||
// r.id.testText is the id of the textview in the layout file
|
||||
// "Bruh" is the text to be set
|
||||
|
||||
// make sure you have the right layout set in MainActivity.java with the setContentView method
|
@@ -0,0 +1,8 @@
|
||||
package com.fitbot.speech;
|
||||
|
||||
/**
|
||||
* Interface for a callback that is called when speech is generated
|
||||
*/
|
||||
public interface ISpeechCallback {
|
||||
void onSpeechGenerated(String speech);
|
||||
}
|
@@ -0,0 +1,101 @@
|
||||
package com.fitbot.speech;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Locale;
|
||||
import com.aldebaran.qi.sdk.builder.SayBuilder;
|
||||
import com.aldebaran.qi.sdk.object.conversation.Phrase;
|
||||
import com.aldebaran.qi.sdk.object.conversation.Say;
|
||||
import com.aldebaran.qi.sdk.object.locale.Language;
|
||||
import com.aldebaran.qi.sdk.object.locale.Locale;
|
||||
import com.aldebaran.qi.sdk.object.locale.Region;
|
||||
|
||||
|
||||
public class SpeechGenerator {
|
||||
|
||||
private QiContext qiContext; // The QiContext object
|
||||
private ISpeechCallback speechCallback = (content) -> {}; // Default empty callback
|
||||
private StringBuilder speechBuffer = new StringBuilder(); // Buffer to store the speech content
|
||||
private String languageIso639_1; // ISO 639-1 language code
|
||||
|
||||
/**
|
||||
* Constructor that sets the language of the speech to be generated
|
||||
* @param languageIso639_1 The ISO 639-1 language code, e.g. "en" for English
|
||||
*/
|
||||
public SpeechGenerator(String languageIso639_1)
|
||||
{
|
||||
if ( !Arrays.asList(Locale.getISOLanguages()).contains(languageIso639_1) )
|
||||
throw new IllegalArgumentException("Invalid language code");
|
||||
this.languageIso639_1 = languageIso639_1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Default constructor, sets the language to Dutch
|
||||
*/
|
||||
public SpeechGenerator()
|
||||
{
|
||||
this("nl");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set the language of the speech to be generated
|
||||
* @param languageIso639_1 The ISO 639-1 language code, e.g. "en" for English
|
||||
* @return An instance of the SpeechGenerator class
|
||||
*/
|
||||
public SpeechGenerator language(String languageIso639_1)
|
||||
{
|
||||
this.languageIso639_1 = languageIso639_1;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Appends the provided text to the speech buffer
|
||||
* @param text The text to append
|
||||
* @return An instance of the SpeechGenerator class
|
||||
*/
|
||||
public SpeechGenerator print(String text)
|
||||
{
|
||||
speechBuffer.append(text);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Appends the provided text to the speech buffer, followed by a newline character
|
||||
* @param text The text to append
|
||||
* @return An instance of the SpeechGenerator class
|
||||
*/
|
||||
public SpeechGenerator println(String text)
|
||||
{
|
||||
return print(text).print("\n");
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the contents of the speech buffer
|
||||
*/
|
||||
public String getBuffer()
|
||||
{
|
||||
return speechBuffer.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear the contents of the speech buffer
|
||||
*/
|
||||
public void clearBuffer()
|
||||
{
|
||||
speechBuffer = new StringBuilder();
|
||||
}
|
||||
|
||||
/**
|
||||
* Print the contents of the speech buffer to the console
|
||||
*/
|
||||
public void speak()
|
||||
{
|
||||
Say say = new SayBuilder().with(qiContext)
|
||||
.withPhrase(speechBuffer.toString())
|
||||
.withLocale(new Locale(languageIso639_1))
|
||||
.build();
|
||||
speechCallback.onSpeechGenerated(speechBuffer.toString());
|
||||
}
|
||||
|
||||
|
||||
}
|
6
code/src/app/src/test/java/HelloHuman.java
Normal file
6
code/src/app/src/test/java/HelloHuman.java
Normal file
@@ -0,0 +1,6 @@
|
||||
public class HelloHuman {
|
||||
// Create a new say action.
|
||||
Say say = SayBuilder.with(qiContext) // Create the builder with the context.
|
||||
.withText("Hello human!") // Set the text to say.
|
||||
.build(); // Build the say action.
|
||||
}
|
@@ -7,4 +7,34 @@ With our project, we want the people to start moving more. Since people are beco
|
||||
|
||||
### Why are we not using the NAO bot
|
||||
|
||||
 The NAO robot is a humanoid robot used for research and education. The robot was developed by the French company Aldebaran Robotics, which was acquired by the Japanese Softbank Robotics in 2015. We did not end up using this robot for our project. The main reason is iets complexity. it is nice to be able to move the legs but it is realy hard and for a lot of excersises it lacks a good exhibition. The pepper bot does not have legs but it has a tablet where we can show the escersizes on. This helps the user by dislpaying a preview of the excersize aswell as being able to do the arms motion. The Nao bot is also smaller than the pepper bot
|
||||
 The NAO robot is a humanoid robot used for research and education. The robot was developed by the French company Aldebaran Robotics, which was acquired by the Japanese Softbank Robotics in 2015. We did not end up using this robot for our project. Due to its complex programming and not havong a built in tablet. This made it for us hard to work with and the tablet makes it nice to additional guidance for the people. I will list some pros and cons below
|
||||
|
||||
#### Pros
|
||||
NAO has more control over its body. It can use it legs to walk or sit, for example. This makes it able to demonstrate a lot more exercises which could come in handy especially with more leg focused exercises.
|
||||
|
||||
NAO also has speech recognition and it can detect faces. This could be used to command the robot with only speech. And with its face recognition, it might be able to see if a person is having a hard time doing an exercise. This will be helpful if we implant an account system.
|
||||
#### Cons
|
||||
NAO is smaller than the pepper bot, which makes it a worse option in a bigger room or in group exercises.
|
||||
|
||||
NAO does not have a built-in tablet, which means it relies on the speech recognition. This might make it hard for people to use with a strange accent.
|
||||
|
||||
Due to its small size, the battery is also way smaller, which might make it hard for NAO to work for multiple hours.
|
||||
|
||||
|
||||
# Pepper bot
|
||||
|
||||
The Pepper robot is a humanoid robot developed by the Japanese company Softbank Robotics. The robot is designed to communicate with humans and can do this through speech, facial recognition and movement. This robot is also equipped with a tablet so you can use Android apps.
|
||||
|
||||
### Why did we choose the pepper bot
|
||||
|
||||
Since we wanted to people to become more active, we needed a bigger bot than NAO. This so that everyone can use it and feels more connected. The tablet was also a highlight for us, since an android app really helps. The android app can be used to show videos of the exercises, and we can proscribe a fitness program if required.
|
||||
|
||||
#### Pros
|
||||
Since The pepper bot is way bigger, it could be more engaging and appealing to our users.
|
||||
|
||||
The Tablet makes it easy to display fitness exercises, to follow along and interact with the robot.
|
||||
|
||||
The pepper bot can react to human emotions, which could come in handy if a user is having a hard time with an exercise.
|
||||
#### Cons
|
||||
|
||||
The pepper bot does not have legs, which makes it harder for us to use it for leg exercises, since the user needs to do it of the tablet.
|
@@ -0,0 +1,49 @@
|
||||
# Probleembeschrijving en hoofdvraag en deelvragen
|
||||
|
||||
| Naam | Luca Warmenhoven |
|
||||
|-------|-------------------|
|
||||
| Datum | 22 / 04 / 2024 |
|
||||
|
||||
**Criteria onderzoeksthema:**
|
||||
1. Het thema/vraagstuk sluit aan bij de technische opdracht van de leerroute
|
||||
2. Het thema/vraagstuk omvat een ethisch en/of maatschappelijk issue
|
||||
|
||||
**Resultaat:**
|
||||
Betoog op basis van literatuuronderzoek van minimaal 1000 tot maximaal 1500 woorden, gericht op een publiek met beperkte ICT-kennis.
|
||||
|
||||
> 1. *Onderwerp*
|
||||
>
|
||||
> Het onderwerp van mijn onderzoek is: <br>
|
||||
> Ik ga het hebben over hoe we kunstmatige intelligentie kunnen toepassen om de eenzaamheid bij ouderen te verminderen.
|
||||
|
||||
> 2. *Aanleiding*
|
||||
>
|
||||
> Na mate de populariteit van het gebruik van kunstmatige intelligentie de laatste jaren steeds meer is toegenomen
|
||||
> is het relevant om te kijken naar wat de mogelijkheden zijn om deze toe te kunnen passen in de zorg.
|
||||
> Hierbij is het interessant om te kijken of we deze applicaties kunnen toepassen om ouderen zich minder eennzaam
|
||||
> te laten voelen.
|
||||
|
||||
> 3. *Afbakening*
|
||||
>
|
||||
> Ik zal mezelf in dit onderzoek beperken tot de toepassingen hoe kunstmatige intelligentie *wel* ingezet kan worden
|
||||
> om eenzaamheid te verminderen. Uiteraard is het niet voor iedereen toepasselijk, daarom zal ik kijken naar welke
|
||||
> manieren/methodes wel zouden kunnen werken.
|
||||
|
||||
> 4. *Doelstelling*
|
||||
>
|
||||
> Het onderzoek heeft als doel om de lezer te overtuigen dat kunstmatige intelligentie op meerdere manieren toegepast
|
||||
> kan worden dan alleen maar LLM's of stable diffusion. Ik hoop met dit onderzoek een beter beeld te schetsen over de
|
||||
> mogelijkheden die er zijn om K.I. in te zetten om de eenzaamheid bij ouderen te verminderen.
|
||||
|
||||
> 5. *Ethisch/maatschappelijke issue*
|
||||
>
|
||||
> Het voor mijn publiek interessante issue dat op het gebied van het afgebakende thema speelt is: <br>
|
||||
>
|
||||
> Hoewel het toepassen van kunstmatige intelligentie in de zorg veel voordelen met zich mee kan brengen, is het ook
|
||||
> belangrijk om te kijken naar de ethische kant van het verhaal. Is het wel ethisch verantwoord om het vermaak van
|
||||
> ouderen over te laten aan K.I? En hoe zit het met privacy van ouderen? Wat als de robot gehackt wordt? Dit zijn allemaal
|
||||
> onderwerpen die ik in mijn onderzoek zal behandelen.
|
||||
>
|
||||
> 6. *Vraagstelling - De hoofdvraag.*
|
||||
>
|
||||
> *"Is het mogelijk om kunstmatige intelligentie in te zetten om de eenzaamheid bij ouderen te verminderen?"*
|
@@ -0,0 +1,27 @@
|
||||
**A. ONDERWERP – Het thema/vraagstuk van het onderzoek is:**
|
||||
|
||||
Ethiek binnen de ICT bij ouderenzorg
|
||||
|
||||
**B. AANLEIDING – De aanleiding en/of context van het thema/vraagstuk is:**
|
||||
|
||||
omdat wij niet weten hoe we met nieuwe technologie om moeten gaan. Dit kan voor veel problemen zorgen als er niet goed over wordt nagedacht. Er is nu nog veel onduidelijkheid over dit onderwerp
|
||||
|
||||
**C. AFBAKENING – Binnen dit thema beperk ik mij tot het aspect:**
|
||||
|
||||
Ouderenzorg en Robotica
|
||||
|
||||
**D. DOELSTELLING – Het onderzoek levert het volgende op (bijv. kennis die er nu nog niet is in de vorm van een voorstel/ontwerp, of een diagnose van het probleem):**
|
||||
|
||||
Ik wil weten of de opdracht waarmee we bezig zijn een ethisch probleem kan vormen.
|
||||
|
||||
**C. ETHISCH/MAATSCHAPPELIJK ISSUE – Het voor mijn publiek interessante issue dat op het gebied van het afgebakende thema speelt is:**
|
||||
|
||||
Is het wel ethisch verantwoord om ouderen in contact te brengen met robots
|
||||
|
||||
**G. VRAAGSTELLING 1 - De Hoofdvraag van mijn onderzoek is:**
|
||||
|
||||
Welke ethische dilemma's kunnen er vormen bij het gebruik van robotica in de ouderenzorg.
|
||||
|
||||
**H. BEGRIPSOMSCHRIJVING – De volgende begrippen uit mijn vraagstelling definieer ik als:**
|
||||
|
||||
**I. VRAAGSTELLING 2 - De deelvragen van mijn onderzoek zijn:**
|
@@ -0,0 +1,26 @@
|
||||
# Formulier Probleembeschrijving en Hoofd en Deelvragen
|
||||
|
||||
|
||||
Naam Student: Sam Hos <br>
|
||||
Datum: 22-04-2024
|
||||
|
||||
### A. onderwerp
|
||||
Het betoog gaat over de de implicaties van AI op het onderwijs.
|
||||
|
||||
### B. aanleiding
|
||||
De aanleiding voor dit onderzoek is omdat AI groter dan ooit is op dit moment en het overal in het onderwijs gebruikt word.
|
||||
|
||||
### C. afbakening
|
||||
Ik leg mijn focus op hoe studenten er gebruik van maken en wat daar de gevolgen van zijn.
|
||||
|
||||
### D. doelstelling
|
||||
Het onderzoek levert kennis op over hoe AI word gebruikt door studenten en wat de gevolgen daarvan in de toekomst zijn.
|
||||
|
||||
### E. ethisch/maatschappelijk issue
|
||||
De ethische kwestie die ik aankaart is of het wel verantwoord is om AI te gebruiken in het onderwijs.
|
||||
|
||||
### G. vraagstelling
|
||||
Hoe gebruiken studenten AI in het onderwijs en wat zijn de gevolgen daarvan?
|
||||
|
||||
|
||||
|
162
docs/personalDocs/sebas/dailyUpdates.md
Normal file
162
docs/personalDocs/sebas/dailyUpdates.md
Normal file
@@ -0,0 +1,162 @@
|
||||
# Daily updates
|
||||
|
||||
**_2024_**
|
||||
|
||||
**15 April**
|
||||
|
||||
To do
|
||||
|
||||
- Free
|
||||
|
||||
Done
|
||||
|
||||
- Free
|
||||
|
||||
**16 April**
|
||||
|
||||
To do
|
||||
|
||||
- Start of the project
|
||||
|
||||
Done
|
||||
|
||||
- Start of the project
|
||||
|
||||
**17 April**
|
||||
|
||||
To do
|
||||
|
||||
- Meeting with the team
|
||||
- Think of the robot we want to use
|
||||
- Create mindmap for the project
|
||||
- Create issues for the project
|
||||
|
||||
Done
|
||||
|
||||
- Meeting with the team
|
||||
- Think of the robot we want to use
|
||||
- Create mindmap for the project
|
||||
|
||||
**18 April**
|
||||
|
||||
To do
|
||||
|
||||
- Created file structure for the project
|
||||
- Update the pages with the new structure
|
||||
|
||||
Done
|
||||
|
||||
- Created file structure for the project
|
||||
- Update the pages with the new structure
|
||||
|
||||
**19 April**
|
||||
|
||||
To do
|
||||
|
||||
- Start installing required software for pepper
|
||||
|
||||
Done
|
||||
|
||||
- Start installing required software for pepper
|
||||
|
||||
**20 April**
|
||||
|
||||
- Weekend
|
||||
|
||||
**21 April**
|
||||
|
||||
- Weekend
|
||||
|
||||
**22 April**
|
||||
|
||||
To do
|
||||
|
||||
- Research ethics in the ICT field
|
||||
- Fill in form for ethics research
|
||||
- Finish the research for task 1
|
||||
- Install new software for pepper (discord)
|
||||
- Finish issues for sprint 1
|
||||
|
||||
Done
|
||||
|
||||
-
|
||||
|
||||
**23 April**
|
||||
|
||||
To do
|
||||
|
||||
-
|
||||
|
||||
Done
|
||||
|
||||
-
|
||||
|
||||
**24 April**
|
||||
|
||||
To do
|
||||
|
||||
-
|
||||
|
||||
Done
|
||||
|
||||
-
|
||||
|
||||
**25 April**
|
||||
|
||||
To do
|
||||
|
||||
-
|
||||
|
||||
Done
|
||||
|
||||
-
|
||||
|
||||
**26 April**
|
||||
|
||||
To do
|
||||
|
||||
-
|
||||
|
||||
Done
|
||||
|
||||
-
|
||||
|
||||
**27 April**
|
||||
|
||||
To do
|
||||
|
||||
-
|
||||
|
||||
Done
|
||||
|
||||
-
|
||||
|
||||
**28 April**
|
||||
|
||||
To do
|
||||
|
||||
-
|
||||
|
||||
Done
|
||||
|
||||
-
|
||||
|
||||
**29 April**
|
||||
|
||||
To do
|
||||
|
||||
-
|
||||
|
||||
Done
|
||||
|
||||
-
|
||||
|
||||
**30 April**
|
||||
|
||||
To do
|
||||
|
||||
-
|
||||
|
||||
Done
|
||||
|
||||
-
|
Binary file not shown.
0
docs/personalDocs/sebas/onderzoekEthiek/ethiek.md
Normal file
0
docs/personalDocs/sebas/onderzoekEthiek/ethiek.md
Normal file
111
docs/personalDocs/sebas/onderzoekEthiek/formulier.md
Normal file
111
docs/personalDocs/sebas/onderzoekEthiek/formulier.md
Normal file
@@ -0,0 +1,111 @@
|
||||
# Probleembeschrijving en hoofdvraag en deelvragen
|
||||
|
||||
Naam Student: Sebastiaan Koedam Datum: 21-04-2024
|
||||
|
||||
**Criteria onderzoeksthema:**
|
||||
1. Het thema/vraagstuk sluit aan bij de technische opdracht van de leerroute
|
||||
2. Het thema/vraagstuk omvat een ethisch en/of maatschappelijk issue
|
||||
|
||||
**Resultaat:**
|
||||
Betoog op basis van literatuuronderzoek van minimaal 1000 tot maximaal 1500 woorden, gericht op een publiek met beperkte ICT-kennis.
|
||||
|
||||
**A. ONDERWERP** – Het thema/vraagstuk van het onderzoek is:
|
||||
|
||||
Waar gaat je betoog over?
|
||||
|
||||
Het helpen van ouderen met fitness door middel van robots.
|
||||
|
||||
**B. AANLEIDING** – De aanleiding en/of context van het thema/vraagstuk is:
|
||||
|
||||
Waarom is het op dit moment in de tijd nuttig om over dit vraagstuk na te denken?
|
||||
|
||||
Ouderenzorg is een steeds groter wordend probleem in Nederland. De vergrijzing neemt toe, zorgkosten stijgen en steeds minder mensen willen in de zorg werken. Door ouderen te helpen met fitness kunnen we de zorgkosten verlagen en de ouderen een betere levenskwaliteit geven. Het inzetten van robots kan hierbij helpen. Het is daarnaast belangrijk om te weten hoe ouderen dit ervaren en wat hun wensen zijn.
|
||||
|
||||
**C. AFBAKENING** – Binnen dit thema beperk ik mij tot het aspect:
|
||||
|
||||
Waar leg je de focus op?
|
||||
|
||||
In hoeverre robots kunnen worden ingezet om ouderen te helpen met fitness. Het onderzoek richt zich op de ervaringen van ouderen met deze vorm van zorg.
|
||||
|
||||
**D. DOELSTELLING** – Het onderzoek levert het volgende op:
|
||||
|
||||
Wat bereik je met je onderzoek?
|
||||
|
||||
Het onderzoek levert inzicht op in hoe ouderen het ervaren om geholpen te worden door robots bij fitness. Dit inzicht kan gebruikt worden om de zorg voor ouderen te verbeteren.
|
||||
|
||||
**E. ETHISCH/MAATSCHAPPELIJK ISSUE** – Het voor mijn publiek interessante issue dat op het gebied van het afgebakende thema speelt is:
|
||||
|
||||
Welke ethische kwestie kaart je aan in je betoog?
|
||||
|
||||
Waar liggen de grenzen van de inzet van robots in de zorg voor ouderen wat fitness betreft?
|
||||
|
||||
**G. VRAAGSTELLING 1*** - De Hoofdvraag van mijn onderzoek is:
|
||||
|
||||
Welke vraag ga je beantwoorden in je betoog?
|
||||
|
||||
In hoeverre kunnen robots worden ingezet om ouderen te helpen met fitness?
|
||||
|
||||
**H. BEGRIPSOMSCHRIJVING** – De volgende begrippen uit mijn vraagstelling definieer ik als:
|
||||
|
||||
Licht begrippen uit je vraag toe.
|
||||
|
||||
**I. VRAAGSTELLING 2** - De deelvragen van mijn onderzoek zijn:
|
||||
|
||||
Welke logische stappen ga je zetten om je vraag te beantwoorden?
|
||||
|
||||
*Nb: je hoofdvraag is de rode draad van je onderzoek en stuurt de verwachting van je publiek. Je hoofdvraag kan beeldvormend, verklaringsgericht, adviesgericht, uitvoeringsgericht of evaluatief zijn. Bepaal welk type onderzoek je doet (beschrijvend of verklarend) en formuleer de hoofdvraag. Hieronder een paar voorbeelden.
|
||||
|
||||
Beschrijvende hoofdvraag:
|
||||
Wat zijn de kenmerken …?
|
||||
Welke eigenschappen heeft …..?
|
||||
Waaruit bestaat ….?
|
||||
Wat zijn de mogelijkheden …?
|
||||
Wat gebeurt er …?
|
||||
Hoe zit het met …?
|
||||
Wat zijn de drie voornaamste ontwikkelingen op het gebied van ….?
|
||||
|
||||
Verklarende hoofdvraag:
|
||||
Waarom is <het zo> ..?
|
||||
Hoe komt het dat …?
|
||||
Wat zijn de drie voornaamste oorzaken ..?
|
||||
|
||||
Voorschrijvende / Adviesgerichte hoofdvraag
|
||||
Hoe kan....?
|
||||
Welke methode ...?
|
||||
Welke maatregelen...?
|
||||
|
||||
Uitvoeringsgerichte hoofdvraag
|
||||
Welke aanpak..?
|
||||
|
||||
Evaluatieve hoofdvraag
|
||||
Wat zijn de voor- en nadelen...?
|
||||
Wat zijn de ervaringen van ... met...?
|
||||
Wat zijn de resultaten van ...?
|
||||
|
||||
*Nb: de deelvragen bepalen de hoofdstukstructuur van je onderzoek. De deelvragen sluiten aan bij het type hoofdvraag: heb je dus een beeldvormende hoofdvraag dan moet je ook beeldvormende deelvragen formuleren.
|
||||
|
||||
Controleer het type hoofdvraag dat je hebt geformuleerd en formuleer hetzelfde type deelvragen. Hieronder een paar voorbeelden hoe de vraag te beginnen:
|
||||
|
||||
Beschrijvende deelvragen:
|
||||
Waaruit bestaat ….?
|
||||
Wat zijn de kenmerken van ..?
|
||||
Welke eigenschappen heeft...?
|
||||
|
||||
Verklarende deelvraag:
|
||||
Waarom is x het geval..?
|
||||
Hoe komt het dat …?
|
||||
Wat is de oorzaak van ..?
|
||||
|
||||
Voorschrijvende / adviesgerichte deelvraag
|
||||
Hoe kan....?
|
||||
Welke methode ...?
|
||||
Welke maatregel ....?
|
||||
Welke oplossing biedt..?
|
||||
|
||||
Uitvoeringsgerichte deelvraag
|
||||
Welke aanpak..?
|
||||
|
||||
Evaluatieve deelvraag
|
||||
Wat zijn de nadelen...?
|
||||
Wat zijn de voordelen...?
|
||||
Wat is de waarde van ...?
|
1
fitbot/.gitignore
vendored
Normal file
1
fitbot/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/build
|
34
fitbot/build.gradle
Normal file
34
fitbot/build.gradle
Normal file
@@ -0,0 +1,34 @@
|
||||
plugins {
|
||||
id 'com.android.library'
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdk 34
|
||||
|
||||
defaultConfig {
|
||||
minSdk 21
|
||||
targetSdk 34
|
||||
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
consumerProguardFiles "consumer-rules.pro"
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
implementation 'com.android.support:appcompat-v7:28.0.0'
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
androidTestImplementation 'com.android.support.test:runner:1.0.2'
|
||||
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
|
||||
}
|
0
fitbot/consumer-rules.pro
Normal file
0
fitbot/consumer-rules.pro
Normal file
21
fitbot/proguard-rules.pro
vendored
Normal file
21
fitbot/proguard-rules.pro
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
# Add project specific ProGuard rules here.
|
||||
# You can control the set of applied configuration files using the
|
||||
# proguardFiles setting in build.gradle.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
|
||||
# Uncomment this to preserve the line number information for
|
||||
# debugging stack traces.
|
||||
#-keepattributes SourceFile,LineNumberTable
|
||||
|
||||
# If you keep the line number information, uncomment this to
|
||||
# hide the original source file name.
|
||||
#-renamesourcefileattribute SourceFile
|
@@ -0,0 +1,25 @@
|
||||
package com.fitbot;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
* Instrumented test, which will execute on an Android device.
|
||||
*
|
||||
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class ExampleInstrumentedTest {
|
||||
@Test
|
||||
public void useAppContext() {
|
||||
// Context of the app under test.
|
||||
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
|
||||
assertEquals("com.fitbot.test", appContext.getPackageName());
|
||||
}
|
||||
}
|
5
fitbot/src/main/AndroidManifest.xml
Normal file
5
fitbot/src/main/AndroidManifest.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.fitbot">
|
||||
|
||||
</manifest>
|
17
fitbot/src/test/java/com/fitbot/ExampleUnitTest.java
Normal file
17
fitbot/src/test/java/com/fitbot/ExampleUnitTest.java
Normal file
@@ -0,0 +1,17 @@
|
||||
package com.fitbot;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
* Example local unit test, which will execute on the development machine (host).
|
||||
*
|
||||
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||
*/
|
||||
public class ExampleUnitTest {
|
||||
@Test
|
||||
public void addition_isCorrect() {
|
||||
assertEquals(4, 2 + 2);
|
||||
}
|
||||
}
|
8
local.properties
Normal file
8
local.properties
Normal file
@@ -0,0 +1,8 @@
|
||||
## This file must *NOT* be checked into Version Control Systems,
|
||||
# as it contains information specific to your local configuration.
|
||||
#
|
||||
# Location of the SDK. This is only used by Gradle.
|
||||
# For customization when using a Version Control System, please read the
|
||||
# header note.
|
||||
#Fri Apr 19 14:48:28 CEST 2024
|
||||
sdk.dir=/Users/lucawarm/Library/Android/sdk
|
Reference in New Issue
Block a user