summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2014-03-10 18:04:43 +0000
committeraarne <aarne@chalmers.se>2014-03-10 18:04:43 +0000
commitccda8f00e169ae2db24de6e9295bd1b256bf30a8 (patch)
treee117c85f99ae57a0f1b09cbf63052d16fd03ef66
parent2ee2769146f22630773cf6e8c980b64070e8b57c (diff)
android: added (1) dg icon (2) green/yellow/red colours for translation confidence (3) App grammars as test case in Translator.java
-rw-r--r--src/ui/android/AndroidManifest.xml2
-rw-r--r--src/ui/android/res/drawable-hdpi/dg_short.pngbin0 -> 2811 bytes
-rw-r--r--src/ui/android/res/drawable-mdpi/dg_short.pngbin0 -> 2811 bytes
-rw-r--r--src/ui/android/res/drawable-xhdpi/dg_short.pngbin0 -> 2811 bytes
-rw-r--r--src/ui/android/res/drawable-xxhdpi/dg_short.pngbin0 -> 2811 bytes
-rw-r--r--src/ui/android/res/drawable/first_person_utterance_bg.xml2
-rw-r--r--src/ui/android/res/drawable/second_person_best_utterance_bg.xml6
-rw-r--r--src/ui/android/res/drawable/second_person_chunk_utterance_bg.xml6
-rw-r--r--src/ui/android/res/drawable/second_person_utterance_bg.xml2
-rw-r--r--src/ui/android/res/layout/second_person_best_utterance.xml12
-rw-r--r--src/ui/android/res/layout/second_person_chunk_utterance.xml12
-rw-r--r--src/ui/android/src/org/grammaticalframework/ui/android/ConversationView.java29
-rw-r--r--src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java4
-rw-r--r--src/ui/android/src/org/grammaticalframework/ui/android/Translator.java19
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
new file mode 100644
index 000000000..82158be5f
--- /dev/null
+++ b/src/ui/android/res/drawable-hdpi/dg_short.png
Binary files differ
diff --git a/src/ui/android/res/drawable-mdpi/dg_short.png b/src/ui/android/res/drawable-mdpi/dg_short.png
new file mode 100644
index 000000000..82158be5f
--- /dev/null
+++ b/src/ui/android/res/drawable-mdpi/dg_short.png
Binary files differ
diff --git a/src/ui/android/res/drawable-xhdpi/dg_short.png b/src/ui/android/res/drawable-xhdpi/dg_short.png
new file mode 100644
index 000000000..82158be5f
--- /dev/null
+++ b/src/ui/android/res/drawable-xhdpi/dg_short.png
Binary files differ
diff --git a/src/ui/android/res/drawable-xxhdpi/dg_short.png b/src/ui/android/res/drawable-xxhdpi/dg_short.png
new file mode 100644
index 000000000..82158be5f
--- /dev/null
+++ b/src/ui/android/res/drawable-xxhdpi/dg_short.png
Binary files differ
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);
}