Merge "System server should always send broadcasts to a specific or all users" into jb-mr1-dev
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 6360242b..f5e259e 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -8243,6 +8243,7 @@
case MotionEvent.ACTION_CANCEL:
setPressed(false);
removeTapCallback();
+ removeLongPressCallback();
break;
case MotionEvent.ACTION_MOVE:
diff --git a/packages/SystemUI/res/layout/status_bar_expanded_header.xml b/packages/SystemUI/res/layout/status_bar_expanded_header.xml
index 03f03e2..b044db7 100644
--- a/packages/SystemUI/res/layout/status_bar_expanded_header.xml
+++ b/packages/SystemUI/res/layout/status_bar_expanded_header.xml
@@ -77,16 +77,16 @@
<ImageView android:id="@+id/clear_all_button"
android:layout_width="50dp"
android:layout_height="50dp"
- android:layout_marginRight="12dp"
android:scaleType="center"
android:src="@drawable/ic_notify_clear"
android:background="@drawable/ic_notify_button_bg"
android:contentDescription="@string/accessibility_clear_all"
/>
- <FrameLayout
+ <FrameLayout android:id="@+id/settings_button_holder"
android:layout_width="50dp"
android:layout_height="50dp"
+ android:layout_marginLeft="12dp"
>
<ImageView android:id="@+id/settings_button"
android:layout_width="50dp"
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index 41ccf39..f906176 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -452,7 +452,11 @@
mSettingsButton.setVisibility(View.VISIBLE);
} else {
// there is a settings panel, but it's on the other side of the (large) screen
- mSettingsButton.setVisibility(View.GONE);
+ final View buttonHolder = mStatusBarWindow.findViewById(
+ R.id.settings_button_holder);
+ if (buttonHolder != null) {
+ buttonHolder.setVisibility(View.GONE);
+ }
}
} else {
// no settings panel, go straight to settings
@@ -1573,6 +1577,12 @@
if (mHasFlipSettings) {
// reset things to their proper state
+ if (mFlipSettingsViewAnim != null) mFlipSettingsViewAnim.cancel();
+ if (mScrollViewAnim != null) mScrollViewAnim.cancel();
+ if (mSettingsButtonAnim != null) mSettingsButtonAnim.cancel();
+ if (mNotificationButtonAnim != null) mNotificationButtonAnim.cancel();
+ if (mClearButtonAnim != null) mClearButtonAnim.cancel();
+
mScrollView.setScaleX(1f);
mScrollView.setVisibility(View.VISIBLE);
mSettingsButton.setAlpha(1f);