OSDN Git Service

Fix 6483412: Disable search from navbar while SUW is running
authorJim Miller <jaggies@google.com>
Mon, 14 May 2012 22:26:20 +0000 (15:26 -0700)
committerJim Miller <jaggies@google.com>
Mon, 14 May 2012 22:26:20 +0000 (15:26 -0700)
This fixes a problem where navbar gestures were enabled during
SetupWizard.

There's no clear signal for handling this in StatusBar since there
are a number of flags that we might use to determine the availability
of the search gesture.

However, the UI design generally calls for the gesture to be available
when the home button is visible, so I think it makes sense to start
with that and enable others as we encounter issues.

Change-Id: I7b37964ae5b51bf803d5808605f1afe694a88464

packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
packages/SystemUI/src/com/android/systemui/statusbar/DelegateViewHelper.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java

index a44279a..02e9bd7 100644 (file)
@@ -751,7 +751,7 @@ public abstract class BaseStatusBar extends SystemUI implements
     protected abstract void tick(IBinder key, StatusBarNotification n, boolean firstTime);
     protected abstract void updateExpandedViewPos(int expandedPosition);
     protected abstract int getExpandedViewMaxHeight();
-    protected abstract boolean isStatusBarExpanded();
+    protected abstract boolean shouldDisableNavbarGestures();
 
     protected boolean isTopNotification(ViewGroup parent, NotificationData.Entry entry) {
         return parent.indexOfChild(entry.row) == 0;
index 912a165..0e6dfd5 100644 (file)
@@ -53,7 +53,7 @@ public class DelegateViewHelper {
     }
 
     public boolean onInterceptTouchEvent(MotionEvent event) {
-        if (mBar.isStatusBarExpanded()) {
+        if (mBar.shouldDisableNavbarGestures()) {
             return false;
         }
         switch (event.getAction()) {
index 6122390..097906f 100644 (file)
@@ -2111,8 +2111,8 @@ public class PhoneStatusBar extends BaseStatusBar {
     }
 
     @Override
-    protected boolean isStatusBarExpanded() {
-        return mExpanded;
+    protected boolean shouldDisableNavbarGestures() {
+        return mExpanded || (mDisabled & StatusBarManager.DISABLE_HOME) != 0;
     }
 }
 
index a2c7637..c8d3327 100644 (file)
@@ -1620,8 +1620,9 @@ public class TabletStatusBar extends BaseStatusBar implements
     }
 
     @Override
-    protected boolean isStatusBarExpanded() {
-        return mNotificationPanel.getVisibility() == View.VISIBLE;
+    protected boolean shouldDisableNavbarGestures() {
+        return mNotificationPanel.getVisibility() == View.VISIBLE
+                || (mDisabled & StatusBarManager.DISABLE_HOME) != 0;
     }
 }