Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

# **RoboTutor**

Welcome to RoboTutor:
Welcome to RoboTutor:


## **Setup and Configuration:**
Expand All @@ -12,7 +12,7 @@ Welcome to RoboTutor:

[Install GitHub Desktop](https://desktop.github.com/)<br>

RoboTutor uses a large volume of external assets at runtime. To successfully run RoboTutor you must first install these assets on your target device. The [RTAsset_Publisher](https://github.com/synaptek/RTAsset_Publisher) is the tool you can use to push the Rt assets to your device. Once you have cloned and run the associated tools to push the data assets to your device you can proceed with building RoboTutor.
RoboTutor uses a large volume of external assets at runtime. To successfully run RoboTutor you must first install these assets on your target device. The [RTAsset_Publisher](https://github.com/RoboTutorLLC/RTAsset_Publisher) is the tool you can use to push the Rt assets to your device. Once you have cloned and run the associated tools to push the data assets to your device you can proceed with building RoboTutor.


## **Building RoboTutor:**
Expand All @@ -21,12 +21,12 @@ RoboTutor uses a large volume of external assets at runtime. To successfully ru

2. **Import** the RoboTutor project into Android Studio.

3. You may need to install different versions of the build tools and android SDKs.

4. There are a number of build variants you can select to generate versions that support static language selections and also vesions that permit dynamic language selection at runtime. In order to generate any flavor that depends on the key signature, you must generate your own keystore (see next steps). Note that the version used in the XPrize code drop 1 submission usees flavor *release_sw*, which depends on a signed APK.


5. If you do not already have one, follow the steps [here](https://stackoverflow.com/questions/3997748/how-can-i-create-a-keystore) to generate a keystore.
3. You may need to install different versions of the build tools and android SDKs.
4. There are a number of build variants you can select to generate versions that support static language selections and also vesions that permit dynamic language selection at runtime. In order to generate any flavor that depends on the key signature, you must generate your own keystore (see next steps). Note that the version used in the XPrize code drop 1 submission usees flavor *release_sw*, which depends on a signed APK.
5. If you do not already have one, follow the steps [here](https://stackoverflow.com/questions/3997748/how-can-i-create-a-keystore) to generate a keystore.

6. Add a file named "keystore.properties" to your root project directory, and give it the following contents. The values should be based on the values you used to generate the keystore.
```
Expand All @@ -35,7 +35,7 @@ keyPassword=<your_key_password>
keyAlias=<your_key_alias>
storeFile=<path_to_location_of_keystore>
```

7. Use Android Studio or gradlew to generate a signed APK with the flavor *release_sw*. This will generate the file *robotutor.release_sw.1.8.8.1.apk*. This APK should be transferred to the apk in your local SystemBuild directory.


Expand All @@ -45,12 +45,12 @@ storeFile=<path_to_location_of_keystore>
## **XPrize Submission:**

The following repositories are part of the Team-RoboTutor entry:
* XPRIZE/GLEXP-Team-RoboTutor-RoboTutor
* XPRIZE/GLEXP-Team-RoboTutor-RoboTutor
* XPRIZE/GLEXP-Team-RoboTutor-SystemBuild
* XPRIZE/GLEXP-Team-RoboTutor-RTAsset_Publisher
* XPRIZE/GLEXP-Team-RoboTutor-CodeDrop1-Assets
* XPRIZE/GLEXP-Team-RoboTutor-RoboLauncher
* XPRIZE/GLEXP-Team-RoboTutor-RoboTransfer
* XPRIZE/GLEXP-Team-RoboTutor-RoboLauncher
* XPRIZE/GLEXP-Team-RoboTutor-RoboTransfer



Expand Down
2 changes: 1 addition & 1 deletion app/src/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@

"tutorVariants" supporting [encfolder] encodings
----------------------------------------------------------
"story.echo", "story.hear", "story.read"
"story.echo", "story.hear", "story.read", "story.parrot", "story.hide", "story.reveal"


Tutors with large numbers of datasources use the [encfolder] encoding scheme. With this encoding the tutor descriptor is combined with the datasource descriptor in the following manner.
Expand Down
5 changes: 5 additions & 0 deletions app/src/main/assets/tutors/engine_descriptor.json
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,11 @@
"tutorName": "story_reading",
"features": "FTR_USER_PARROT"
},
"story.prompt": {
"type": "TUTORVAR_MAP",
"tutorName": "story_reading",
"features": "FTR_USER_PROMPT"
},
"story.gen.hide": {
"type": "TUTORVAR_MAP",
"tutorName": "story_questions",
Expand Down
200 changes: 102 additions & 98 deletions app/src/main/assets/tutors/story_reading/animator_graph.json

Large diffs are not rendered by default.

11 changes: 4 additions & 7 deletions app/src/main/java/cmu/xprize/robotutor/RoboTutor.java
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ public class RoboTutor extends Activity implements IReadyListener, IRoboTutor {

private Thread audioLogThread;
// TODO move to config file
private boolean RECORD_AUDIO = false;
private boolean RECORD_AUDIO = true;

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand Down Expand Up @@ -429,8 +429,7 @@ protected Boolean doInBackground(Void... unused) {
try {
// TODO: Don't do this in production
// At the moment we always reinstall the tutor spec data - for



if(CacheSource.equals(TCONST.EXTERN)) {
tutorAssetManager.installAssets(TCONST.TUTORROOT);
logManager.postEvent_V(TAG, "INFO:Tutor Assets installed");
Expand Down Expand Up @@ -482,7 +481,7 @@ protected Boolean doInBackground(Void... unused) {
return result;
}

@Override
@Override
protected void onPostExecute(Boolean result) {
isReady = result;

Expand Down Expand Up @@ -836,9 +835,9 @@ protected void onDestroy() {
// after logging, transfer logs to READY folder
logManager.transferHotLogs(hotLogPath, readyLogPath);
logManager.transferHotLogs(hotLogPathPerf, readyLogPathPerf);

}


private int getNextLogSequenceId() {
SharedPreferences prefs = getPreferences(MODE_PRIVATE);

Expand Down Expand Up @@ -896,9 +895,7 @@ public static String getPromotionMode(String matrix) {
placement = false;
}


return placement ? "PLACEMENT" : "PROMOTION";

}
}

Loading