summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeon Scroggins <scroggo@google.com>2010-03-22 10:54:04 -0400
committerLeon Scroggins <scroggo@google.com>2010-03-22 10:54:04 -0400
commitbf083d25e023ebebf9593dcb62ac413f28816584 (patch)
tree7074d4f124f4c392002077ce4c6b602a6fcdfe21
parent3d8b70cc80a42ce1b7146aade2a4a0fca0b1eba2 (diff)
downloadpackages_apps_browser-bf083d25e023ebebf9593dcb62ac413f28816584.zip
packages_apps_browser-bf083d25e023ebebf9593dcb62ac413f28816584.tar.gz
packages_apps_browser-bf083d25e023ebebf9593dcb62ac413f28816584.tar.bz2
Show stop button in a pressed state when pressed.
Fix for http://b/issue?id=2533372 Change-Id: I9a614a95f5537d17c9cb89e96afe6c21fc56d59a
-rw-r--r--res/drawable/stop_background.xml25
-rw-r--r--res/layout/title_bar.xml2
-rw-r--r--src/com/android/browser/TitleBar.java15
3 files changed, 34 insertions, 8 deletions
diff --git a/res/drawable/stop_background.xml b/res/drawable/stop_background.xml
new file mode 100644
index 0000000..a9a4dd4
--- /dev/null
+++ b/res/drawable/stop_background.xml
@@ -0,0 +1,25 @@
+<?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.
+-->
+
+<!-- Custom background for the stop button which mimics btn_search_dialog
+ but draws in a pressed state even if it is in an unfocused window -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item android:state_pressed="true"
+ android:drawable="@*android:drawable/btn_search_dialog_pressed" />
+ <item android:state_pressed="false"
+ android:drawable="@*android:drawable/btn_search_dialog_default" />
+</selector>
diff --git a/res/layout/title_bar.xml b/res/layout/title_bar.xml
index 3765024..c251250 100644
--- a/res/layout/title_bar.xml
+++ b/res/layout/title_bar.xml
@@ -73,7 +73,7 @@
/>
</LinearLayout>
<ImageView android:id="@+id/stop"
- android:background="@*android:drawable/btn_search_dialog"
+ android:background="@drawable/stop_background"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/ic_btn_stop_v2"
diff --git a/src/com/android/browser/TitleBar.java b/src/com/android/browser/TitleBar.java
index ee6aa9c..0f19864 100644
--- a/src/com/android/browser/TitleBar.java
+++ b/src/com/android/browser/TitleBar.java
@@ -156,13 +156,14 @@ public class TitleBar extends LinearLayout {
@Override
public boolean onTouchEvent(MotionEvent event) {
+ ImageView button = mInLoad ? mStopButton : mRtButton;
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// Make all touches hit either the textfield or the button,
// depending on which side of the right edge of the textfield
// they hit.
if ((int) event.getX() > mTitleBg.getRight()) {
- mRtButton.setPressed(true);
+ button.setPressed(true);
} else {
mTitleBg.setPressed(true);
mHandler.sendMessageDelayed(mHandler.obtainMessage(
@@ -178,7 +179,7 @@ public class TitleBar extends LinearLayout {
// other is pressed. Since the user moved off the title
// bar, mark both as not pressed.
mTitleBg.setPressed(false);
- mRtButton.setPressed(false);
+ button.setPressed(false);
mHandler.removeMessages(LONG_PRESS);
break;
}
@@ -187,17 +188,17 @@ public class TitleBar extends LinearLayout {
if (mTitleBg.isPressed() && x > titleRight + slop) {
mTitleBg.setPressed(false);
mHandler.removeMessages(LONG_PRESS);
- } else if (mRtButton.isPressed() && x < titleRight - slop) {
- mRtButton.setPressed(false);
+ } else if (button.isPressed() && x < titleRight - slop) {
+ button.setPressed(false);
}
break;
case MotionEvent.ACTION_CANCEL:
- mRtButton.setPressed(false);
+ button.setPressed(false);
mTitleBg.setPressed(false);
mHandler.removeMessages(LONG_PRESS);
break;
case MotionEvent.ACTION_UP:
- if (mRtButton.isPressed()) {
+ if (button.isPressed()) {
if (mInVoiceMode) {
if (mBrowserActivity.getTabControl().getCurrentTab()
.voiceSearchSourceIsGoogle()) {
@@ -213,7 +214,7 @@ public class TitleBar extends LinearLayout {
} else {
mBrowserActivity.bookmarksOrHistoryPicker(false);
}
- mRtButton.setPressed(false);
+ button.setPressed(false);
} else if (mTitleBg.isPressed()) {
mHandler.removeMessages(LONG_PRESS);
if (mInVoiceMode) {