Loading packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayApplier.java +9 −1 Original line number Diff line number Diff line Loading @@ -239,6 +239,14 @@ public class ThemeOverlayApplier implements Dumpable { + category + ": " + enabled); } OverlayInfo overlayInfo = mOverlayManager.getOverlayInfo(identifier, UserHandle.of(currentUser)); if (overlayInfo == null) { Log.i(TAG, "Won't enable " + identifier + ", it doesn't exist for user" + currentUser); return; } transaction.setEnabled(identifier, enabled, currentUser); if (currentUser != UserHandle.SYSTEM.getIdentifier() && SYSTEM_USER_CATEGORIES.contains(category)) { Loading @@ -247,7 +255,7 @@ public class ThemeOverlayApplier implements Dumpable { // Do not apply Launcher or Theme picker overlays to managed users. Apps are not // installed in there. OverlayInfo overlayInfo = mOverlayManager.getOverlayInfo(identifier, UserHandle.SYSTEM); overlayInfo = mOverlayManager.getOverlayInfo(identifier, UserHandle.SYSTEM); if (overlayInfo == null || overlayInfo.targetPackageName.equals(mLauncherPackage) || overlayInfo.targetPackageName.equals(mThemePickerPackage)) { return; Loading packages/SystemUI/tests/src/com/android/systemui/theme/ThemeOverlayApplierTest.java +21 −1 Original line number Diff line number Diff line Loading @@ -98,6 +98,7 @@ public class ThemeOverlayApplierTest extends SysuiTestCase { OverlayManagerTransaction.Builder mTransactionBuilder; private ThemeOverlayApplier mManager; private boolean mGetOverlayInfoEnabled = true; @Before public void setup() throws Exception { Loading Loading @@ -159,7 +160,12 @@ public class ThemeOverlayApplierTest extends SysuiTestCase { OverlayInfo launcherTargetInfo = new OverlayInfo("packageName", LAUNCHER_PACKAGE, null, null, "/", 0, 0, 0, false); when(mOverlayManager.getOverlayInfo(any(OverlayIdentifier.class), any())) .thenReturn(launcherTargetInfo); .thenAnswer(answer -> { if (mGetOverlayInfoEnabled) { return launcherTargetInfo; } return null; }); clearInvocations(mOverlayManager); verify(mDumpManager).registerDumpable(any(), any()); } Loading Loading @@ -207,6 +213,20 @@ public class ThemeOverlayApplierTest extends SysuiTestCase { } } @Test public void enablesOverlays_onlyIfItExistsForUser() { mGetOverlayInfoEnabled = false; Set<UserHandle> userHandles = Sets.newHashSet(TEST_USER_HANDLES); mManager.applyCurrentUserOverlays(ALL_CATEGORIES_MAP, null, TEST_USER.getIdentifier(), userHandles); for (OverlayIdentifier overlayPackage : ALL_CATEGORIES_MAP.values()) { verify(mTransactionBuilder, never()).setEnabled(eq(overlayPackage), eq(true), eq(TEST_USER.getIdentifier())); } } @Test public void applyCurrentUserOverlays_createsPendingOverlays() { FabricatedOverlay[] pendingCreation = new FabricatedOverlay[]{ Loading Loading
packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayApplier.java +9 −1 Original line number Diff line number Diff line Loading @@ -239,6 +239,14 @@ public class ThemeOverlayApplier implements Dumpable { + category + ": " + enabled); } OverlayInfo overlayInfo = mOverlayManager.getOverlayInfo(identifier, UserHandle.of(currentUser)); if (overlayInfo == null) { Log.i(TAG, "Won't enable " + identifier + ", it doesn't exist for user" + currentUser); return; } transaction.setEnabled(identifier, enabled, currentUser); if (currentUser != UserHandle.SYSTEM.getIdentifier() && SYSTEM_USER_CATEGORIES.contains(category)) { Loading @@ -247,7 +255,7 @@ public class ThemeOverlayApplier implements Dumpable { // Do not apply Launcher or Theme picker overlays to managed users. Apps are not // installed in there. OverlayInfo overlayInfo = mOverlayManager.getOverlayInfo(identifier, UserHandle.SYSTEM); overlayInfo = mOverlayManager.getOverlayInfo(identifier, UserHandle.SYSTEM); if (overlayInfo == null || overlayInfo.targetPackageName.equals(mLauncherPackage) || overlayInfo.targetPackageName.equals(mThemePickerPackage)) { return; Loading
packages/SystemUI/tests/src/com/android/systemui/theme/ThemeOverlayApplierTest.java +21 −1 Original line number Diff line number Diff line Loading @@ -98,6 +98,7 @@ public class ThemeOverlayApplierTest extends SysuiTestCase { OverlayManagerTransaction.Builder mTransactionBuilder; private ThemeOverlayApplier mManager; private boolean mGetOverlayInfoEnabled = true; @Before public void setup() throws Exception { Loading Loading @@ -159,7 +160,12 @@ public class ThemeOverlayApplierTest extends SysuiTestCase { OverlayInfo launcherTargetInfo = new OverlayInfo("packageName", LAUNCHER_PACKAGE, null, null, "/", 0, 0, 0, false); when(mOverlayManager.getOverlayInfo(any(OverlayIdentifier.class), any())) .thenReturn(launcherTargetInfo); .thenAnswer(answer -> { if (mGetOverlayInfoEnabled) { return launcherTargetInfo; } return null; }); clearInvocations(mOverlayManager); verify(mDumpManager).registerDumpable(any(), any()); } Loading Loading @@ -207,6 +213,20 @@ public class ThemeOverlayApplierTest extends SysuiTestCase { } } @Test public void enablesOverlays_onlyIfItExistsForUser() { mGetOverlayInfoEnabled = false; Set<UserHandle> userHandles = Sets.newHashSet(TEST_USER_HANDLES); mManager.applyCurrentUserOverlays(ALL_CATEGORIES_MAP, null, TEST_USER.getIdentifier(), userHandles); for (OverlayIdentifier overlayPackage : ALL_CATEGORIES_MAP.values()) { verify(mTransactionBuilder, never()).setEnabled(eq(overlayPackage), eq(true), eq(TEST_USER.getIdentifier())); } } @Test public void applyCurrentUserOverlays_createsPendingOverlays() { FabricatedOverlay[] pendingCreation = new FabricatedOverlay[]{ Loading