Loading packages/SystemUI/src/com/android/systemui/qs/tiles/DreamTile.java +11 −2 Original line number Diff line number Diff line Loading @@ -67,8 +67,10 @@ public class DreamTile extends QSTileImpl<QSTile.BooleanState> { private static final String LOG_TAG = "QSDream"; private final IDreamManager mDreamManager; private final BroadcastDispatcher mBroadcastDispatcher; private final UserSettingObserver mEnabledSettingObserver; private final UserSettingObserver mDreamSettingObserver; @VisibleForTesting final UserSettingObserver mEnabledSettingObserver; @VisibleForTesting final UserSettingObserver mDreamSettingObserver; private final UserTracker mUserTracker; private final boolean mDreamSupported; private final boolean mDreamOnlyEnabledForDockUser; Loading Loading @@ -180,6 +182,13 @@ public class DreamTile extends QSTileImpl<QSTile.BooleanState> { state.expandedAccessibilityClassName = Switch.class.getName(); } @Override protected void handleUserSwitch(int newUserId) { super.handleUserSwitch(newUserId); mDreamSettingObserver.setUserId(newUserId); mEnabledSettingObserver.setUserId(newUserId); } @Nullable @Override public Intent getLongClickIntent() { Loading packages/SystemUI/tests/src/com/android/systemui/qs/tiles/DreamTileTest.java +22 −4 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import static android.platform.test.flag.junit.FlagsParameterization.allCombinat import static com.android.systemui.Flags.FLAG_QS_CUSTOM_TILE_CLICK_GUARANTEED_BUG_FIX; import static com.google.common.truth.Truth.assertThat; import static junit.framework.TestCase.assertEquals; import static junit.framework.TestCase.assertFalse; import static junit.framework.TestCase.assertTrue; Loading Loading @@ -59,7 +61,6 @@ import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.res.R; import com.android.systemui.settings.UserTracker; import com.android.systemui.util.settings.FakeSettings; import com.android.systemui.util.settings.SecureSettings; import org.junit.After; import org.junit.Before; Loading @@ -69,11 +70,11 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import java.util.List; import platform.test.runner.parameterized.ParameterizedAndroidJunit4; import platform.test.runner.parameterized.Parameters; import java.util.List; @RunWith(ParameterizedAndroidJunit4.class) @TestableLooper.RunWithLooper(setAsMainLooper = true) @SmallTest Loading Loading @@ -107,7 +108,7 @@ public class DreamTileTest extends SysuiTestCase { private DreamTile mTile; private SecureSettings mSecureSettings; private FakeSettings mSecureSettings; private static final ComponentName COLORS_DREAM_COMPONENT_NAME = new ComponentName( "com.android.dreams", ".Colors"); Loading Loading @@ -279,6 +280,23 @@ public class DreamTileTest extends SysuiTestCase { destroyTile(dockedTile); } @Test public void testHandleUserSwitch() { final DreamTile dockedTile = constructTileForTest(true, false); dockedTile.handleSetListening(true); final int oldUserId = mUserTracker.getUserId(); assertThat(dockedTile.mDreamSettingObserver.getCurrentUser()).isEqualTo(oldUserId); assertThat(dockedTile.mEnabledSettingObserver.getCurrentUser()).isEqualTo(oldUserId); final int newUserId = 1337; dockedTile.handleUserSwitch(newUserId); assertThat(dockedTile.mDreamSettingObserver.getCurrentUser()).isEqualTo(newUserId); assertThat(dockedTile.mEnabledSettingObserver.getCurrentUser()).isEqualTo(newUserId); destroyTile(dockedTile); } private void setScreensaverEnabled(boolean enabled) { mSecureSettings.putIntForUser(Settings.Secure.SCREENSAVER_ENABLED, enabled ? 1 : 0, DEFAULT_USER); Loading Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/DreamTile.java +11 −2 Original line number Diff line number Diff line Loading @@ -67,8 +67,10 @@ public class DreamTile extends QSTileImpl<QSTile.BooleanState> { private static final String LOG_TAG = "QSDream"; private final IDreamManager mDreamManager; private final BroadcastDispatcher mBroadcastDispatcher; private final UserSettingObserver mEnabledSettingObserver; private final UserSettingObserver mDreamSettingObserver; @VisibleForTesting final UserSettingObserver mEnabledSettingObserver; @VisibleForTesting final UserSettingObserver mDreamSettingObserver; private final UserTracker mUserTracker; private final boolean mDreamSupported; private final boolean mDreamOnlyEnabledForDockUser; Loading Loading @@ -180,6 +182,13 @@ public class DreamTile extends QSTileImpl<QSTile.BooleanState> { state.expandedAccessibilityClassName = Switch.class.getName(); } @Override protected void handleUserSwitch(int newUserId) { super.handleUserSwitch(newUserId); mDreamSettingObserver.setUserId(newUserId); mEnabledSettingObserver.setUserId(newUserId); } @Nullable @Override public Intent getLongClickIntent() { Loading
packages/SystemUI/tests/src/com/android/systemui/qs/tiles/DreamTileTest.java +22 −4 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import static android.platform.test.flag.junit.FlagsParameterization.allCombinat import static com.android.systemui.Flags.FLAG_QS_CUSTOM_TILE_CLICK_GUARANTEED_BUG_FIX; import static com.google.common.truth.Truth.assertThat; import static junit.framework.TestCase.assertEquals; import static junit.framework.TestCase.assertFalse; import static junit.framework.TestCase.assertTrue; Loading Loading @@ -59,7 +61,6 @@ import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.res.R; import com.android.systemui.settings.UserTracker; import com.android.systemui.util.settings.FakeSettings; import com.android.systemui.util.settings.SecureSettings; import org.junit.After; import org.junit.Before; Loading @@ -69,11 +70,11 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import java.util.List; import platform.test.runner.parameterized.ParameterizedAndroidJunit4; import platform.test.runner.parameterized.Parameters; import java.util.List; @RunWith(ParameterizedAndroidJunit4.class) @TestableLooper.RunWithLooper(setAsMainLooper = true) @SmallTest Loading Loading @@ -107,7 +108,7 @@ public class DreamTileTest extends SysuiTestCase { private DreamTile mTile; private SecureSettings mSecureSettings; private FakeSettings mSecureSettings; private static final ComponentName COLORS_DREAM_COMPONENT_NAME = new ComponentName( "com.android.dreams", ".Colors"); Loading Loading @@ -279,6 +280,23 @@ public class DreamTileTest extends SysuiTestCase { destroyTile(dockedTile); } @Test public void testHandleUserSwitch() { final DreamTile dockedTile = constructTileForTest(true, false); dockedTile.handleSetListening(true); final int oldUserId = mUserTracker.getUserId(); assertThat(dockedTile.mDreamSettingObserver.getCurrentUser()).isEqualTo(oldUserId); assertThat(dockedTile.mEnabledSettingObserver.getCurrentUser()).isEqualTo(oldUserId); final int newUserId = 1337; dockedTile.handleUserSwitch(newUserId); assertThat(dockedTile.mDreamSettingObserver.getCurrentUser()).isEqualTo(newUserId); assertThat(dockedTile.mEnabledSettingObserver.getCurrentUser()).isEqualTo(newUserId); destroyTile(dockedTile); } private void setScreensaverEnabled(boolean enabled) { mSecureSettings.putIntForUser(Settings.Secure.SCREENSAVER_ENABLED, enabled ? 1 : 0, DEFAULT_USER); Loading