summaryrefslogtreecommitdiff
path: root/src/ui/android/res
diff options
context:
space:
mode:
authorbringert <bringert@google.com>2013-10-04 16:26:46 +0000
committerbringert <bringert@google.com>2013-10-04 16:26:46 +0000
commita35b286ce040919a71d27e5bf696886237c6c470 (patch)
tree4e54cc1994a7f0760f76b0efe8c9e85ef38ec9ef /src/ui/android/res
parentf156a5e8f9c903f132541e1c34f1c9f5c1ee69af (diff)
Add new Android voice translator sample app
This adds a simple voice translator Android app that uses the JNI bindings to the PGF C runtime. Caveats: - Since the C runtime doesn't compile for Android right now, I've bundled an old copy, along with its Java bindings. That should be removed once the C runtime compiels for Android again. - Adding an automated build would be nice. - Replacing the grammar requires editing a Java file, that should really be more dynamic.
Diffstat (limited to 'src/ui/android/res')
-rw-r--r--src/ui/android/res/drawable-hdpi/ic_action_switch.pngbin0 -> 436 bytes
-rw-r--r--src/ui/android/res/drawable-hdpi/ic_launcher.pngbin0 -> 4541 bytes
-rw-r--r--src/ui/android/res/drawable-hdpi/ic_mic.pngbin0 -> 665 bytes
-rw-r--r--src/ui/android/res/drawable-mdpi/ic_action_switch.pngbin0 -> 327 bytes
-rw-r--r--src/ui/android/res/drawable-mdpi/ic_launcher.pngbin0 -> 2785 bytes
-rw-r--r--src/ui/android/res/drawable-mdpi/ic_mic.pngbin0 -> 437 bytes
-rw-r--r--src/ui/android/res/drawable-xhdpi/ic_action_switch.pngbin0 -> 547 bytes
-rw-r--r--src/ui/android/res/drawable-xhdpi/ic_launcher.pngbin0 -> 6059 bytes
-rw-r--r--src/ui/android/res/drawable-xhdpi/ic_mic.pngbin0 -> 783 bytes
-rw-r--r--src/ui/android/res/drawable-xxhdpi/ic_launcher.pngbin0 -> 9991 bytes
-rw-r--r--src/ui/android/res/drawable/brushed_metal.pngbin36233 -> 0 bytes
-rw-r--r--src/ui/android/res/drawable/first_person_utterance_bg.xml6
-rw-r--r--src/ui/android/res/drawable/icon.pngbin2574 -> 0 bytes
-rw-r--r--src/ui/android/res/drawable/second_person_utterance_bg.xml6
-rw-r--r--src/ui/android/res/layout/activity_main.xml85
-rw-r--r--src/ui/android/res/layout/first_person_utterance.xml11
-rw-r--r--src/ui/android/res/layout/languages_item.xml8
-rw-r--r--src/ui/android/res/layout/second_person_utterance.xml12
-rw-r--r--src/ui/android/res/values-sw600dp/dimens.xml8
-rw-r--r--src/ui/android/res/values-sw720dp-land/dimens.xml9
-rw-r--r--src/ui/android/res/values-v11/styles.xml11
-rw-r--r--src/ui/android/res/values-v14/styles.xml12
-rw-r--r--src/ui/android/res/values/dimens.xml7
-rw-r--r--src/ui/android/res/values/strings.xml7
-rw-r--r--src/ui/android/res/values/styles.xml20
25 files changed, 199 insertions, 3 deletions
diff --git a/src/ui/android/res/drawable-hdpi/ic_action_switch.png b/src/ui/android/res/drawable-hdpi/ic_action_switch.png
new file mode 100644
index 000000000..5449a32b8
--- /dev/null
+++ b/src/ui/android/res/drawable-hdpi/ic_action_switch.png
Binary files differ
diff --git a/src/ui/android/res/drawable-hdpi/ic_launcher.png b/src/ui/android/res/drawable-hdpi/ic_launcher.png
new file mode 100644
index 000000000..a6c350aea
--- /dev/null
+++ b/src/ui/android/res/drawable-hdpi/ic_launcher.png
Binary files differ
diff --git a/src/ui/android/res/drawable-hdpi/ic_mic.png b/src/ui/android/res/drawable-hdpi/ic_mic.png
new file mode 100644
index 000000000..f79ff489b
--- /dev/null
+++ b/src/ui/android/res/drawable-hdpi/ic_mic.png
Binary files differ
diff --git a/src/ui/android/res/drawable-mdpi/ic_action_switch.png b/src/ui/android/res/drawable-mdpi/ic_action_switch.png
new file mode 100644
index 000000000..ecf7d0347
--- /dev/null
+++ b/src/ui/android/res/drawable-mdpi/ic_action_switch.png
Binary files differ
diff --git a/src/ui/android/res/drawable-mdpi/ic_launcher.png b/src/ui/android/res/drawable-mdpi/ic_launcher.png
new file mode 100644
index 000000000..204c58a8f
--- /dev/null
+++ b/src/ui/android/res/drawable-mdpi/ic_launcher.png
Binary files differ
diff --git a/src/ui/android/res/drawable-mdpi/ic_mic.png b/src/ui/android/res/drawable-mdpi/ic_mic.png
new file mode 100644
index 000000000..8f7f55cf9
--- /dev/null
+++ b/src/ui/android/res/drawable-mdpi/ic_mic.png
Binary files differ
diff --git a/src/ui/android/res/drawable-xhdpi/ic_action_switch.png b/src/ui/android/res/drawable-xhdpi/ic_action_switch.png
new file mode 100644
index 000000000..b5da00fb2
--- /dev/null
+++ b/src/ui/android/res/drawable-xhdpi/ic_action_switch.png
Binary files differ
diff --git a/src/ui/android/res/drawable-xhdpi/ic_launcher.png b/src/ui/android/res/drawable-xhdpi/ic_launcher.png
new file mode 100644
index 000000000..7f212cc6b
--- /dev/null
+++ b/src/ui/android/res/drawable-xhdpi/ic_launcher.png
Binary files differ
diff --git a/src/ui/android/res/drawable-xhdpi/ic_mic.png b/src/ui/android/res/drawable-xhdpi/ic_mic.png
new file mode 100644
index 000000000..13d21274a
--- /dev/null
+++ b/src/ui/android/res/drawable-xhdpi/ic_mic.png
Binary files differ
diff --git a/src/ui/android/res/drawable-xxhdpi/ic_launcher.png b/src/ui/android/res/drawable-xxhdpi/ic_launcher.png
new file mode 100644
index 000000000..da2c7a235
--- /dev/null
+++ b/src/ui/android/res/drawable-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/src/ui/android/res/drawable/brushed_metal.png b/src/ui/android/res/drawable/brushed_metal.png
deleted file mode 100644
index c2f03fe7d..000000000
--- a/src/ui/android/res/drawable/brushed_metal.png
+++ /dev/null
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
new file mode 100644
index 000000000..9eb02aef1
--- /dev/null
+++ b/src/ui/android/res/drawable/first_person_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/icon.png b/src/ui/android/res/drawable/icon.png
deleted file mode 100644
index a07c69fa5..000000000
--- a/src/ui/android/res/drawable/icon.png
+++ /dev/null
Binary files differ
diff --git a/src/ui/android/res/drawable/second_person_utterance_bg.xml b/src/ui/android/res/drawable/second_person_utterance_bg.xml
new file mode 100644
index 000000000..4acf07c67
--- /dev/null
+++ b/src/ui/android/res/drawable/second_person_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="#7575CD" />
+</shape> \ No newline at end of file
diff --git a/src/ui/android/res/layout/activity_main.xml b/src/ui/android/res/layout/activity_main.xml
new file mode 100644
index 000000000..b0ccab0ea
--- /dev/null
+++ b/src/ui/android/res/layout/activity_main.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent"
+ >
+
+ <RelativeLayout
+ android:id="@+id/top_bg"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:layout_alignParentTop="true"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentRight="true"
+ android:padding="8dp"
+ android:background="#C0C0C0"
+ >
+
+ <ImageView
+ android:id="@+id/start_stop"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:layout_alignTop="@+id/source_language"
+ android:layout_alignBottom="@+id/target_language"
+ android:layout_alignParentRight="true"
+ android:padding="8dp"
+ android:src="@drawable/ic_mic"
+ android:background="?android:attr/selectableItemBackground"
+ android:contentDescription="@string/microphone"
+ />
+
+ <ImageView
+ android:id="@+id/switch_languages"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:layout_alignTop="@+id/source_language"
+ android:layout_alignBottom="@+id/target_language"
+ android:layout_toLeftOf="@id/start_stop"
+ android:padding="8dp"
+ android:src="@drawable/ic_action_switch"
+ android:background="?android:attr/selectableItemBackground"
+ android:contentDescription="@string/switch_languages"
+ />
+
+ <org.grammaticalframework.ui.android.LanguageSelector
+ android:id="@+id/source_language"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentTop="true"
+ android:layout_toLeftOf="@id/switch_languages"
+ android:padding="0dp"
+ />
+
+ <org.grammaticalframework.ui.android.LanguageSelector
+ android:id="@+id/target_language"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:layout_below="@id/source_language"
+ android:layout_toLeftOf="@id/switch_languages"
+ android:padding="0dp"
+ />
+
+ </RelativeLayout>
+
+ <org.grammaticalframework.ui.android.ConversationView
+ android:id="@+id/conversation"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentBottom="true"
+ android:layout_alignParentRight="true"
+ android:layout_below="@id/top_bg"
+ >
+ <LinearLayout
+ android:id="@+id/conversation_content"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:orientation="vertical"
+ android:padding="16dp"
+ >
+ </LinearLayout>
+ </org.grammaticalframework.ui.android.ConversationView>
+
+</RelativeLayout> \ No newline at end of file
diff --git a/src/ui/android/res/layout/first_person_utterance.xml b/src/ui/android/res/layout/first_person_utterance.xml
new file mode 100644
index 000000000..55779ae8f
--- /dev/null
+++ b/src/ui/android/res/layout/first_person_utterance.xml
@@ -0,0 +1,11 @@
+<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_marginRight="32dp"
+ android:layout_gravity="left"
+ android:padding="8dp"
+ android:textSize="20sp"
+ android:background="@drawable/first_person_utterance_bg"
+ />
diff --git a/src/ui/android/res/layout/languages_item.xml b/src/ui/android/res/layout/languages_item.xml
new file mode 100644
index 000000000..d5f47ab27
--- /dev/null
+++ b/src/ui/android/res/layout/languages_item.xml
@@ -0,0 +1,8 @@
+<?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="match_parent"
+ android:padding="8dp"
+ android:textSize="20sp"
+ />
diff --git a/src/ui/android/res/layout/second_person_utterance.xml b/src/ui/android/res/layout/second_person_utterance.xml
new file mode 100644
index 000000000..416d85328
--- /dev/null
+++ b/src/ui/android/res/layout/second_person_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_utterance_bg"
+ />
diff --git a/src/ui/android/res/values-sw600dp/dimens.xml b/src/ui/android/res/values-sw600dp/dimens.xml
new file mode 100644
index 000000000..44f01db75
--- /dev/null
+++ b/src/ui/android/res/values-sw600dp/dimens.xml
@@ -0,0 +1,8 @@
+<resources>
+
+ <!--
+ Customize dimensions originally defined in res/values/dimens.xml (such as
+ screen margins) for sw600dp devices (e.g. 7" tablets) here.
+ -->
+
+</resources>
diff --git a/src/ui/android/res/values-sw720dp-land/dimens.xml b/src/ui/android/res/values-sw720dp-land/dimens.xml
new file mode 100644
index 000000000..61e3fa8fb
--- /dev/null
+++ b/src/ui/android/res/values-sw720dp-land/dimens.xml
@@ -0,0 +1,9 @@
+<resources>
+
+ <!--
+ Customize dimensions originally defined in res/values/dimens.xml (such as
+ screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.
+ -->
+ <dimen name="activity_horizontal_margin">128dp</dimen>
+
+</resources>
diff --git a/src/ui/android/res/values-v11/styles.xml b/src/ui/android/res/values-v11/styles.xml
new file mode 100644
index 000000000..3c02242ad
--- /dev/null
+++ b/src/ui/android/res/values-v11/styles.xml
@@ -0,0 +1,11 @@
+<resources>
+
+ <!--
+ Base application theme for API 11+. This theme completely replaces
+ AppBaseTheme from res/values/styles.xml on API 11+ devices.
+ -->
+ <style name="AppBaseTheme" parent="android:Theme.Holo.Light">
+ <!-- API 11 theme customizations can go here. -->
+ </style>
+
+</resources>
diff --git a/src/ui/android/res/values-v14/styles.xml b/src/ui/android/res/values-v14/styles.xml
new file mode 100644
index 000000000..a91fd0372
--- /dev/null
+++ b/src/ui/android/res/values-v14/styles.xml
@@ -0,0 +1,12 @@
+<resources>
+
+ <!--
+ Base application theme for API 14+. This theme completely replaces
+ AppBaseTheme from BOTH res/values/styles.xml and
+ res/values-v11/styles.xml on API 14+ devices.
+ -->
+ <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
+ <!-- API 14 theme customizations can go here. -->
+ </style>
+
+</resources>
diff --git a/src/ui/android/res/values/dimens.xml b/src/ui/android/res/values/dimens.xml
new file mode 100644
index 000000000..55c1e5908
--- /dev/null
+++ b/src/ui/android/res/values/dimens.xml
@@ -0,0 +1,7 @@
+<resources>
+
+ <!-- Default screen margins, per the Android Design guidelines. -->
+ <dimen name="activity_horizontal_margin">16dp</dimen>
+ <dimen name="activity_vertical_margin">16dp</dimen>
+
+</resources>
diff --git a/src/ui/android/res/values/strings.xml b/src/ui/android/res/values/strings.xml
index 0d7b9a606..26601be1b 100644
--- a/src/ui/android/res/values/strings.xml
+++ b/src/ui/android/res/values/strings.xml
@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
- <string name="app_name">GFTranslator</string>
- <string name="action_settings">Settings</string>
- <string name="hello_world">Hello world!</string>
+ <string name="app_name">GF Translator</string>
+
+ <string name="microphone">Microphone</string>
+ <string name="switch_languages">Switch languages</string>
</resources>
diff --git a/src/ui/android/res/values/styles.xml b/src/ui/android/res/values/styles.xml
new file mode 100644
index 000000000..6ce89c7ba
--- /dev/null
+++ b/src/ui/android/res/values/styles.xml
@@ -0,0 +1,20 @@
+<resources>
+
+ <!--
+ Base application theme, dependent on API level. This theme is replaced
+ by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
+ -->
+ <style name="AppBaseTheme" parent="android:Theme.Light">
+ <!--
+ Theme customizations available in newer API levels can go in
+ res/values-vXX/styles.xml, while customizations related to
+ backward-compatibility can go here.
+ -->
+ </style>
+
+ <!-- Application theme. -->
+ <style name="AppTheme" parent="AppBaseTheme">
+ <!-- All customizations that are NOT specific to a particular API-level can go here. -->
+ </style>
+
+</resources>