Reload flags whenever doze state changes
Test: atest CollapsedStatusBarFragmentTest Test: manually wake up the device Change-Id: I64e54111f8bbaae6b667d63688d4a6ab208af68b Fixes: 119114169
This commit is contained in:
@@ -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 */);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user