Loading packages/SystemUI/src/com/android/systemui/qs/tiles/DreamTile.java +5 −5 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading @@ -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 Loading @@ -113,7 +113,7 @@ public class DreamTile extends QSTileImpl<QSTile.BooleanState> { refreshState(); } }; mUserManager = userManager; mUserTracker = userTracker; mDreamSupported = dreamSupported; mDreamOnlyEnabledForSystemUser = dreamOnlyEnabledForSystemUser; } Loading Loading @@ -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 Loading packages/SystemUI/tests/src/com/android/systemui/qs/tiles/DreamTileTest.java +15 −7 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading Loading @@ -74,7 +76,7 @@ public class DreamTileTest extends SysuiTestCase { @Mock private BroadcastDispatcher mBroadcastDispatcher; @Mock private UserManager mUserManager; private UserTracker mUserTracker; private TestableLooper mTestableLooper; Loading Loading @@ -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()); } Loading @@ -227,7 +235,7 @@ public class DreamTileTest extends SysuiTestCase { mDreamManager, mSecureSettings, mBroadcastDispatcher, mUserManager, mUserTracker, dreamSupported, dreamOnlyEnabledForSystemUser); } } Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/DreamTile.java +5 −5 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading @@ -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 Loading @@ -113,7 +113,7 @@ public class DreamTile extends QSTileImpl<QSTile.BooleanState> { refreshState(); } }; mUserManager = userManager; mUserTracker = userTracker; mDreamSupported = dreamSupported; mDreamOnlyEnabledForSystemUser = dreamOnlyEnabledForSystemUser; } Loading Loading @@ -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 Loading
packages/SystemUI/tests/src/com/android/systemui/qs/tiles/DreamTileTest.java +15 −7 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading Loading @@ -74,7 +76,7 @@ public class DreamTileTest extends SysuiTestCase { @Mock private BroadcastDispatcher mBroadcastDispatcher; @Mock private UserManager mUserManager; private UserTracker mUserTracker; private TestableLooper mTestableLooper; Loading Loading @@ -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()); } Loading @@ -227,7 +235,7 @@ public class DreamTileTest extends SysuiTestCase { mDreamManager, mSecureSettings, mBroadcastDispatcher, mUserManager, mUserTracker, dreamSupported, dreamOnlyEnabledForSystemUser); } }