--- /dev/null
+<?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>
@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(
// 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;
}
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()) {
} else {
mBrowserActivity.bookmarksOrHistoryPicker(false);
}
- mRtButton.setPressed(false);
+ button.setPressed(false);
} else if (mTitleBg.isPressed()) {
mHandler.removeMessages(LONG_PRESS);
if (mInVoiceMode) {