summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Lucas Dupin <dupin@google.com> 2018-11-12 14:07:18 -0800
committer Lucas Dupin <dupin@google.com> 2018-11-12 14:13:29 -0800
commit2e43cfc61d437cfefb220a69f56075ea22c1613c (patch)
treee98d5bf6da06d1c729c4cd500b74a23fccc24ff5
parent4e7b7c1abd3f42c9e3518845051f75e3db73f1f1 (diff)
Reload flags whenever doze state changes
Test: atest CollapsedStatusBarFragmentTest Test: manually wake up the device Change-Id: I64e54111f8bbaae6b667d63688d4a6ab208af68b Fixes: 119114169
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java15
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragmentTest.java31
2 files changed, 41 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java
index d4de8fce3750..3b13fe96fe42 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java
@@ -46,7 +46,8 @@ import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
* and keyguard state. Also manages lifecycle to make sure the views it contains are being
* updated by the StatusBarIconController and DarkIconManager while it is attached.
*/
-public class CollapsedStatusBarFragment extends Fragment implements CommandQueue.Callbacks {
+public class CollapsedStatusBarFragment extends Fragment implements CommandQueue.Callbacks,
+ StatusBarStateController.StateListener {
public static final String TAG = "CollapsedStatusBarFragment";
private static final String EXTRA_PANEL_STATE = "panel_state";
@@ -120,12 +121,14 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
public void onResume() {
super.onResume();
mCommandQueue.addCallbacks(this);
+ mStatusBarStateController.addListener(this);
}
@Override
public void onPause() {
super.onPause();
mCommandQueue.removeCallbacks(this);
+ mStatusBarStateController.removeListener(this);
}
@Override
@@ -351,4 +354,14 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
mOperatorNameFrame = stub.inflate();
}
}
+
+ @Override
+ public void onStateChanged(int newState) {
+
+ }
+
+ @Override
+ public void onDozingChanged(boolean isDozing) {
+ disable(mDisabled1, mDisabled1, false /* animate */);
+ }
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragmentTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragmentTest.java
index 231cdf5e8e7d..93d8aad4e0d6 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragmentTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragmentTest.java
@@ -18,24 +18,25 @@ import static org.junit.Assert.assertEquals;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.atLeast;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.when;
import android.app.StatusBarManager;
import android.support.test.filters.SmallTest;
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper.RunWithLooper;
import android.view.View;
import android.view.ViewPropertyAnimator;
import com.android.systemui.R;
-import android.testing.AndroidTestingRunner;
-
import com.android.systemui.SysuiBaseFragmentTest;
import com.android.systemui.statusbar.CommandQueue;
+import com.android.systemui.statusbar.StatusBarStateController;
import com.android.systemui.tuner.TunerService;
-import android.testing.TestableLooper.RunWithLooper;
import org.junit.Before;
-import org.junit.runner.RunWith;
import org.junit.Test;
+import org.junit.runner.RunWith;
import org.mockito.Mockito;
@RunWith(AndroidTestingRunner.class)
@@ -45,6 +46,7 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest {
private NotificationIconAreaController mMockNotificiationAreaController;
private View mNotificationAreaInner;
+ private StatusBarStateController mStatusBarStateController;
public CollapsedStatusBarFragmentTest() {
super(CollapsedStatusBarFragment.class);
@@ -55,6 +57,8 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest {
mSysuiContext.putComponent(CommandQueue.class, mock(CommandQueue.class));
mSysuiContext.putComponent(StatusBar.class, mock(StatusBar.class));
mSysuiContext.putComponent(TunerService.class, mock(TunerService.class));
+ mStatusBarStateController = mDependency
+ .injectMockDependency(StatusBarStateController.class);
injectLeakCheckedDependencies(ALL_SUPPORTED_CLASSES);
mMockNotificiationAreaController = mock(NotificationIconAreaController.class);
mNotificationAreaInner = mock(View.class);
@@ -127,4 +131,23 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest {
assertEquals(View.VISIBLE, mFragment.getView().findViewById(R.id.clock).getVisibility());
}
+
+ @Test
+ public void testOnDozingChanged() throws Exception {
+ mFragments.dispatchResume();
+ processAllMessages();
+
+ CollapsedStatusBarFragment fragment = (CollapsedStatusBarFragment) mFragment;
+ fragment.initNotificationIconArea(mMockNotificiationAreaController);
+ fragment.disable(StatusBarManager.DISABLE_NOTIFICATION_ICONS, 0, false);
+
+ Mockito.verify(mNotificationAreaInner).setVisibility(eq(View.INVISIBLE));
+
+ reset(mStatusBarStateController);
+ when(mStatusBarStateController.isDozing()).thenReturn(true);
+ fragment.onDozingChanged(true);
+
+ Mockito.verify(mStatusBarStateController).isDozing();
+ Mockito.verify(mNotificationAreaInner, atLeast(1)).setVisibility(eq(View.VISIBLE));
+ }
}