diff options
| author | aarne <aarne@chalmers.se> | 2014-03-10 18:04:43 +0000 |
|---|---|---|
| committer | aarne <aarne@chalmers.se> | 2014-03-10 18:04:43 +0000 |
| commit | ccda8f00e169ae2db24de6e9295bd1b256bf30a8 (patch) | |
| tree | e117c85f99ae57a0f1b09cbf63052d16fd03ef66 /src/ui/android | |
| parent | 2ee2769146f22630773cf6e8c980b64070e8b57c (diff) | |
android: added (1) dg icon (2) green/yellow/red colours for translation confidence (3) App grammars as test case in Translator.java
Diffstat (limited to 'src/ui/android')
14 files changed, 77 insertions, 17 deletions
diff --git a/src/ui/android/AndroidManifest.xml b/src/ui/android/AndroidManifest.xml index ab9dc4e7e..459ea601c 100644 --- a/src/ui/android/AndroidManifest.xml +++ b/src/ui/android/AndroidManifest.xml @@ -13,7 +13,7 @@ <application android:allowBackup="true" - android:icon="@drawable/ic_launcher" + android:icon="@drawable/dg_short" android:label="@string/app_name" android:theme="@style/AppTheme" android:name="GFTranslator"> <activity diff --git a/src/ui/android/res/drawable-hdpi/dg_short.png b/src/ui/android/res/drawable-hdpi/dg_short.png Binary files differnew file mode 100644 index 000000000..82158be5f --- /dev/null +++ b/src/ui/android/res/drawable-hdpi/dg_short.png diff --git a/src/ui/android/res/drawable-mdpi/dg_short.png b/src/ui/android/res/drawable-mdpi/dg_short.png Binary files differnew file mode 100644 index 000000000..82158be5f --- /dev/null +++ b/src/ui/android/res/drawable-mdpi/dg_short.png diff --git a/src/ui/android/res/drawable-xhdpi/dg_short.png b/src/ui/android/res/drawable-xhdpi/dg_short.png Binary files differnew file mode 100644 index 000000000..82158be5f --- /dev/null +++ b/src/ui/android/res/drawable-xhdpi/dg_short.png diff --git a/src/ui/android/res/drawable-xxhdpi/dg_short.png b/src/ui/android/res/drawable-xxhdpi/dg_short.png Binary files differnew file mode 100644 index 000000000..82158be5f --- /dev/null +++ b/src/ui/android/res/drawable-xxhdpi/dg_short.png diff --git a/src/ui/android/res/drawable/first_person_utterance_bg.xml b/src/ui/android/res/drawable/first_person_utterance_bg.xml index 9eb02aef1..acdf9ab92 100644 --- a/src/ui/android/res/drawable/first_person_utterance_bg.xml +++ b/src/ui/android/res/drawable/first_person_utterance_bg.xml @@ -2,5 +2,5 @@ <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="4dp" /> - <solid android:color="#75CD75" /> + <solid android:color="#CDCDED" /> </shape>
\ No newline at end of file diff --git a/src/ui/android/res/drawable/second_person_best_utterance_bg.xml b/src/ui/android/res/drawable/second_person_best_utterance_bg.xml new file mode 100644 index 000000000..9eb02aef1 --- /dev/null +++ b/src/ui/android/res/drawable/second_person_best_utterance_bg.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle"> + <corners android:radius="4dp" /> + <solid android:color="#75CD75" /> +</shape>
\ No newline at end of file diff --git a/src/ui/android/res/drawable/second_person_chunk_utterance_bg.xml b/src/ui/android/res/drawable/second_person_chunk_utterance_bg.xml new file mode 100644 index 000000000..d10d67122 --- /dev/null +++ b/src/ui/android/res/drawable/second_person_chunk_utterance_bg.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle"> + <corners android:radius="4dp" /> + <solid android:color="#FFB2A5" /> +</shape>
\ No newline at end of file diff --git a/src/ui/android/res/drawable/second_person_utterance_bg.xml b/src/ui/android/res/drawable/second_person_utterance_bg.xml index 4acf07c67..e07cc10b3 100644 --- a/src/ui/android/res/drawable/second_person_utterance_bg.xml +++ b/src/ui/android/res/drawable/second_person_utterance_bg.xml @@ -2,5 +2,5 @@ <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="4dp" /> - <solid android:color="#7575CD" /> + <solid android:color="#FFFF99" /> </shape>
\ No newline at end of file diff --git a/src/ui/android/res/layout/second_person_best_utterance.xml b/src/ui/android/res/layout/second_person_best_utterance.xml new file mode 100644 index 000000000..58d2d76a8 --- /dev/null +++ b/src/ui/android/res/layout/second_person_best_utterance.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<TextView + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_height="wrap_content" + android:layout_width="wrap_content" + android:layout_marginBottom="16dp" + android:layout_marginLeft="32dp" + android:layout_gravity="right" + android:padding="8dp" + android:textSize="20sp" + android:background="@drawable/second_person_best_utterance_bg" + /> diff --git a/src/ui/android/res/layout/second_person_chunk_utterance.xml b/src/ui/android/res/layout/second_person_chunk_utterance.xml new file mode 100644 index 000000000..6810f32da --- /dev/null +++ b/src/ui/android/res/layout/second_person_chunk_utterance.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<TextView + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_height="wrap_content" + android:layout_width="wrap_content" + android:layout_marginBottom="16dp" + android:layout_marginLeft="32dp" + android:layout_gravity="right" + android:padding="8dp" + android:textSize="20sp" + android:background="@drawable/second_person_chunk_utterance_bg" + /> diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/ConversationView.java b/src/ui/android/src/org/grammaticalframework/ui/android/ConversationView.java index 9c046858b..96bcbabb9 100644 --- a/src/ui/android/src/org/grammaticalframework/ui/android/ConversationView.java +++ b/src/ui/android/src/org/grammaticalframework/ui/android/ConversationView.java @@ -94,9 +94,31 @@ public class ConversationView extends ScrollView { }); } - public void addSecondPersonUtterance(CharSequence text) { - TextView view = (TextView) - mInflater.inflate(R.layout.second_person_utterance, mContent, false); + public CharSequence addSecondPersonUtterance(CharSequence text) { + + // parse by chunks, marked by *, red colour + TextView view ; + if (text.charAt(0) == '*') { + view = (TextView) + mInflater.inflate(R.layout.second_person_chunk_utterance, mContent, false) ; + text = text.subSequence(2, text.length()) ; + } + // parse error or unknown translations (in []) present, red colour + else if (text.toString().contains("parse error:") || text.toString().contains("[")) { + view = (TextView) + mInflater.inflate(R.layout.second_person_chunk_utterance, mContent, false) ; + } + // parse by domain grammar, marked by +, green colour + else if (text.charAt(0) == '+') { + view = (TextView) + mInflater.inflate(R.layout.second_person_best_utterance, mContent, false) ; + text = text.subSequence(2, text.length()) ; + } + // parse by resource grammar, no mark, yellow colour + else + view = (TextView) + mInflater.inflate(R.layout.second_person_utterance, mContent, false); + view.setText(text); mContent.addView(view); post(new Runnable() { @@ -104,6 +126,7 @@ public class ConversationView extends ScrollView { fullScroll(FOCUS_DOWN); } }); + return text ; } public void updateLastUtterance(CharSequence text, Object lexicon) { diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java b/src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java index f75f82cf4..2653b77ec 100644 --- a/src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java +++ b/src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java @@ -280,8 +280,8 @@ public class MainActivity extends Activity { private void outputText(String text) { if (DBG) Log.d(TAG, "Speaking: " + text); - mConversationView.addSecondPersonUtterance(text); - mTts.speak(getTargetLanguageCode(), text); + CharSequence text2 = mConversationView.addSecondPersonUtterance(text); + mTts.speak(getTargetLanguageCode(), text2.toString()); } private class SpeechInputListener implements ASR.Listener { diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java b/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java index 747942679..b7bb53199 100644 --- a/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java +++ b/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java @@ -29,7 +29,7 @@ public class Translator { private static final String TAG = "Translator"; - // /* + /* // old @@ -47,22 +47,22 @@ public class Translator { new Language("sv-SE", "Swedish", "ParseSwe", R.xml.qwerty), new Language("fi-FI", "Finnish", "ParseFin", R.xml.qwerty), }; - // */ + */ - /* + // /* // new // TODO: allow changing - private String mGrammar = "TransEngFinSwe.pgf"; + private String mGrammar = "App.pgf" ; // TODO: build dynamically? private Language[] mLanguages = { - new Language("en-US", "English", "NDTransEng", R.xml.qwerty), - // new Language("cmn-Hans-CN", "Chinese", "ParseChi", R.xml.qwerty), - new Language("sv-SE", "Swedish", "NDTransSwe", R.xml.qwerty), - new Language("fi-FI", "Finnish", "NDTransFin", R.xml.qwerty), + new Language("en-US", "English", "AppEng", R.xml.qwerty), + new Language("cmn-Hans-CN", "Chinese", "AppChi", R.xml.qwerty), + new Language("sv-SE", "Swedish", "AppSwe", R.xml.qwerty), + new Language("fi-FI", "Finnish", "AppFin", R.xml.qwerty), }; - */ + // */ private Context mContext; @@ -318,6 +318,7 @@ public class Translator { } public List<MorphoAnalysis> lookupMorpho(String sentence) { + Log.e(TAG, "lookupMorpho " + getSourceConcr()); return getSourceConcr().lookupMorpho(sentence); } |
