Apply colors a bit earlier when switching users

ACTION_USER_STARTED is dispatched a bit earlier than
ACTION_USER_SWITCHED.

Test: atest ThemeOverlayControllerTest
Bug: 189075412
Change-Id: Iabd6e3bffede4caa53c6bcc61fbf17a2b8de9c55
This commit is contained in:
Lucas Dupin
2021-06-02 17:29:42 -07:00
parent 79ce03a8de
commit e02895a32f
2 changed files with 9 additions and 2 deletions

View File

@@ -237,7 +237,7 @@ public class ThemeOverlayController extends SystemUI implements Dumpable {
private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_USER_SWITCHED.equals(intent.getAction())
if (Intent.ACTION_USER_STARTED.equals(intent.getAction())
|| Intent.ACTION_MANAGED_PROFILE_ADDED.equals(intent.getAction())) {
if (!mDeviceProvisionedController.isCurrentUserSetup()) {
Log.i(TAG, "User setup not finished when " + intent.getAction()
@@ -282,7 +282,7 @@ public class ThemeOverlayController extends SystemUI implements Dumpable {
public void start() {
if (DEBUG) Log.d(TAG, "Start");
final IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_USER_SWITCHED);
filter.addAction(Intent.ACTION_USER_STARTED);
filter.addAction(Intent.ACTION_MANAGED_PROFILE_ADDED);
filter.addAction(Intent.ACTION_WALLPAPER_CHANGED);
mBroadcastDispatcher.registerReceiver(mBroadcastReceiver, filter, mMainExecutor,

View File

@@ -359,6 +359,13 @@ public class ThemeOverlayControllerTest extends SysuiTestCase {
.applyCurrentUserOverlays(any(), any(), anyInt(), any());
}
@Test
public void onUserSwitch_setsTheme() {
mBroadcastReceiver.getValue().onReceive(null,
new Intent(Intent.ACTION_USER_STARTED));
verify(mThemeOverlayApplier).applyCurrentUserOverlays(any(), any(), anyInt(), any());
}
@Test
public void onProfileAdded_setsTheme() {
mBroadcastReceiver.getValue().onReceive(null,