diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/tiles/DreamTile.java | 10 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/qs/tiles/DreamTileTest.java | 22 |
2 files changed, 20 insertions, 12 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/DreamTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/DreamTile.java index 3c83dec49c05..22e725b41a64 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/DreamTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/DreamTile.java @@ -27,7 +27,6 @@ import android.os.Build; import android.os.Handler; import android.os.Looper; import android.os.RemoteException; -import android.os.UserManager; import android.provider.Settings; import android.service.dreams.IDreamManager; import android.service.quicksettings.Tile; @@ -52,6 +51,7 @@ import com.android.systemui.qs.QSHost; import com.android.systemui.qs.SettingObserver; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; +import com.android.systemui.settings.UserTracker; import com.android.systemui.util.settings.SecureSettings; import javax.inject.Inject; @@ -66,7 +66,7 @@ public class DreamTile extends QSTileImpl<QSTile.BooleanState> { private final BroadcastDispatcher mBroadcastDispatcher; private final SettingObserver mEnabledSettingObserver; private final SettingObserver mDreamSettingObserver; - private final UserManager mUserManager; + private final UserTracker mUserTracker; private final boolean mDreamSupported; private final boolean mDreamOnlyEnabledForSystemUser; @@ -90,7 +90,7 @@ public class DreamTile extends QSTileImpl<QSTile.BooleanState> { IDreamManager dreamManager, SecureSettings secureSettings, BroadcastDispatcher broadcastDispatcher, - UserManager userManager, + UserTracker userTracker, @Named(DreamModule.DREAM_SUPPORTED) boolean dreamSupported, @Named(DreamModule.DREAM_ONLY_ENABLED_FOR_SYSTEM_USER) boolean dreamOnlyEnabledForSystemUser @@ -113,7 +113,7 @@ public class DreamTile extends QSTileImpl<QSTile.BooleanState> { refreshState(); } }; - mUserManager = userManager; + mUserTracker = userTracker; mDreamSupported = dreamSupported; mDreamOnlyEnabledForSystemUser = dreamOnlyEnabledForSystemUser; } @@ -194,7 +194,7 @@ public class DreamTile extends QSTileImpl<QSTile.BooleanState> { // For now, restrict to debug users. return Build.isDebuggable() && mDreamSupported - && (!mDreamOnlyEnabledForSystemUser || mUserManager.isSystemUser()); + && (!mDreamOnlyEnabledForSystemUser || mUserTracker.getUserHandle().isSystem()); } @VisibleForTesting diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/DreamTileTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/DreamTileTest.java index 5b7af654bbb6..c2a41d5e41fb 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/DreamTileTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/DreamTileTest.java @@ -20,6 +20,7 @@ import static junit.framework.TestCase.assertEquals; import static junit.framework.TestCase.assertFalse; import static junit.framework.TestCase.assertTrue; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -27,7 +28,7 @@ import static org.mockito.Mockito.when; import android.content.ComponentName; import android.os.Handler; import android.os.RemoteException; -import android.os.UserManager; +import android.os.UserHandle; import android.provider.Settings; import android.service.dreams.IDreamManager; import android.service.quicksettings.Tile; @@ -45,6 +46,7 @@ import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.qs.QSTileHost; import com.android.systemui.qs.logging.QSLogger; +import com.android.systemui.settings.UserTracker; import com.android.systemui.util.settings.FakeSettings; import com.android.systemui.util.settings.SecureSettings; @@ -74,7 +76,7 @@ public class DreamTileTest extends SysuiTestCase { @Mock private BroadcastDispatcher mBroadcastDispatcher; @Mock - private UserManager mUserManager; + private UserTracker mUserTracker; private TestableLooper mTestableLooper; @@ -196,15 +198,21 @@ public class DreamTileTest extends SysuiTestCase { DreamTile supportedTileAllUsers = constructTileForTest(true, false); - when(mUserManager.isSystemUser()).thenReturn(true); + UserHandle systemUserHandle = mock(UserHandle.class); + when(systemUserHandle.isSystem()).thenReturn(true); + + UserHandle nonSystemUserHandle = mock(UserHandle.class); + when(nonSystemUserHandle.isSystem()).thenReturn(false); + + when(mUserTracker.getUserHandle()).thenReturn(systemUserHandle); assertTrue(supportedTileAllUsers.isAvailable()); - when(mUserManager.isSystemUser()).thenReturn(false); + when(mUserTracker.getUserHandle()).thenReturn(nonSystemUserHandle); assertTrue(supportedTileAllUsers.isAvailable()); DreamTile supportedTileOnlySystemUser = constructTileForTest(true, true); - when(mUserManager.isSystemUser()).thenReturn(true); + when(mUserTracker.getUserHandle()).thenReturn(systemUserHandle); assertTrue(supportedTileOnlySystemUser.isAvailable()); - when(mUserManager.isSystemUser()).thenReturn(false); + when(mUserTracker.getUserHandle()).thenReturn(nonSystemUserHandle); assertFalse(supportedTileOnlySystemUser.isAvailable()); } @@ -227,7 +235,7 @@ public class DreamTileTest extends SysuiTestCase { mDreamManager, mSecureSettings, mBroadcastDispatcher, - mUserManager, + mUserTracker, dreamSupported, dreamOnlyEnabledForSystemUser); } } |