Migrate voice features into the open-source LatinIME. This includes
the change to logging to remove any private dependencies and use
broadcast intents to VoiceSearch instead.
I have audited this code and it appears good to go for open-source,
but would appreciate a second pair of eyes.
Still to do after submitting this CL:
* Reintroduce Amith's memory leak fix (37557) which was the only CL
added to LatinIME since the last merge over to the private copy.
* Make some changes to allow LatinIME to work without voice search
installed. Currently I believe it will show the mic but fail if
you press it. We need to base the visibility on the mic on the
availability of the service.
* Fix this code to use the new Gservices framework, it's still trying
to use the old one.
diff --git a/res/layout/recognition_status.xml b/res/layout/recognition_status.xml
new file mode 100644
index 0000000..ea23824
--- /dev/null
+++ b/res/layout/recognition_status.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:background="@android:color/black"
+ android:paddingBottom="0dip"
+ android:paddingLeft="0dip"
+ android:paddingRight="0dip"
+>
+
+ <LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/main_image"
+ android:orientation="vertical"
+ android:background="@drawable/voice_ime_background"
+ android:scaleType="fitXY"
+ android:layout_width="match_parent"
+ android:layout_height="180dip"
+ android:paddingBottom="2dip"
+ android:paddingTop="2dip"
+ >
+
+ <TextView android:id="@+id/text"
+ android:text="@string/voice_initializing"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:layout_marginTop="15dip"
+ android:textSize="28sp"
+ android:textColor="#ffffff"
+ android:layout_gravity="center_horizontal"
+ />
+
+ <ImageView android:id="@+id/image"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:layout_marginTop="20dip"
+ android:layout_gravity="center_horizontal"
+ android:src="@drawable/mic_slash"
+ />
+
+ <ProgressBar android:id="@+id/progress"
+ android:layout_height="60dip"
+ android:layout_width="60dip"
+ android:layout_marginTop="20dip"
+ android:layout_gravity="center_horizontal"
+ android:visibility="gone"
+ android:indeterminate="true"
+ />
+
+
+
+ </LinearLayout>
+
+ <LinearLayout android:id="@+id/button"
+ android:orientation="vertical"
+ android:background="@drawable/ok_cancel"
+ android:scaleType="fitXY"
+ android:layout_width="match_parent"
+ android:layout_height="42dip"
+ android:paddingLeft="1dip"
+ android:paddingRight="1dip"
+ >
+
+ <TextView android:id="@+id/button_text"
+ android:text="@string/cancel"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:layout_marginTop="7dip"
+ android:textSize="19sp"
+ android:textColor="#ffffff"
+ android:layout_gravity="center_horizontal"
+ />
+ </LinearLayout>
+
+</LinearLayout>
+