Update look of title bar when in voice search mode.
Fix for http://b/issue?id=2390713
Add the arcs to the end of the title.
Change to multiline.
Use the standard long press look.
diff --git a/res/drawable-hdpi/arcs.png b/res/drawable-hdpi/arcs.png
new file mode 100644
index 0000000..9555a9f
--- /dev/null
+++ b/res/drawable-hdpi/arcs.png
Binary files differ
diff --git a/res/drawable-mdpi/arcs.png b/res/drawable-mdpi/arcs.png
new file mode 100644
index 0000000..5e0d949
--- /dev/null
+++ b/res/drawable-mdpi/arcs.png
Binary files differ
diff --git a/res/drawable/title_voice.xml b/res/drawable/title_voice.xml
new file mode 100644
index 0000000..0bb1ad3
--- /dev/null
+++ b/res/drawable/title_voice.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true"
+ android:drawable="@*android:drawable/textfield_pressed" />
+ <item android:state_pressed="false"
+ android:drawable="@drawable/textfield_voice_search" />
+</selector>
diff --git a/src/com/android/browser/TitleBar.java b/src/com/android/browser/TitleBar.java
index 743af9b..b86073b 100644
--- a/src/com/android/browser/TitleBar.java
+++ b/src/com/android/browser/TitleBar.java
@@ -32,6 +32,9 @@
import android.os.Handler;
import android.os.Message;
import android.speech.RecognizerIntent;
+import android.text.SpannableString;
+import android.text.Spanned;
+import android.text.style.ImageSpan;
import android.util.TypedValue;
import android.view.ContextMenu;
import android.view.LayoutInflater;
@@ -69,6 +72,7 @@
private boolean mInVoiceMode;
private Drawable mVoiceModeBackground;
private Drawable mNormalBackground;
+ private ImageSpan mArcsSpan;
private static int LONG_PRESS = 1;
@@ -113,8 +117,10 @@
mStopDrawable = resources.getDrawable(R.drawable.ic_btn_stop_v2);
mBookmarkDrawable = mRtButton.getDrawable();
mVoiceModeBackground = resources.getDrawable(
- R.drawable.textfield_voice_search);
+ R.drawable.title_voice);
mNormalBackground = mTitleBg.getBackground();
+ mArcsSpan = new ImageSpan(context, R.drawable.arcs,
+ ImageSpan.ALIGN_BASELINE);
}
private class MyHandler extends Handler {
@@ -244,6 +250,7 @@
rightButtonDrawable = mBookmarkDrawable;
}
}
+ mTitle.setSingleLine(!mInVoiceMode);
mTitleBg.setBackgroundDrawable(titleDrawable);
mRtButton.setImageDrawable(rightButtonDrawable);
}
@@ -300,7 +307,18 @@
if (title == null) {
mTitle.setText(R.string.title_bar_loading);
} else {
- mTitle.setText(title);
+ if (mInVoiceMode) {
+ // Add two spaces. The second one will be replaced with an
+ // image, and the first one will put space between it and the
+ // text
+ SpannableString spannable = new SpannableString(title + " ");
+ int end = spannable.length();
+ spannable.setSpan(mArcsSpan, end - 1, end,
+ Spanned.SPAN_MARK_POINT);
+ mTitle.setText(spannable);
+ } else {
+ mTitle.setText(title);
+ }
}
}