OSDN Git Service

Subscribe to default zen mode condition.
authorJohn Spurlock <jspurlock@google.com>
Tue, 29 Apr 2014 20:31:13 +0000 (16:31 -0400)
committerJohn Spurlock <jspurlock@google.com>
Tue, 29 Apr 2014 20:31:13 +0000 (16:31 -0400)
Otherwise re-opening the current QS panel does not force an unsubscribe
(if a non-default condition was subscribed).

Change-Id: I1ec2519cc051d435c2ebbe8cea4a9b54f256820d

packages/SystemUI/src/com/android/systemui/statusbar/phone/ZenModeViewAdapter.java

index a5e016a..1bc97a0 100644 (file)
@@ -92,6 +92,7 @@ public abstract class ZenModeViewAdapter implements ZenModeView.Adapter {
             mExitIndex = 0;
             dispatchChanged();
         }
+        setZenModeCondition();
     }
 
     @Override
@@ -143,7 +144,15 @@ public abstract class ZenModeViewAdapter implements ZenModeView.Adapter {
         }
         mExitIndex = i;
         dispatchChanged();
-        final Uri conditionUri = (Uri) ec.tag;
+        setZenModeCondition();
+    }
+
+    private void setZenModeCondition() {
+        if (mExitIndex < 0 || mExitIndex >= mExits.size()) {
+            Log.w(TAG, "setZenModeCondition to bad index " + mExitIndex + " of " + mExits.size());
+            return;
+        }
+        final Uri conditionUri = (Uri) mExits.get(mExitIndex).tag;
         try {
             mNoMan.setZenModeCondition(conditionUri);
         } catch (RemoteException e) {