Merge "Fix ui_mode change have not schedule configuration change to client" into sc-dev am: 4c09aa412b
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15183485 Change-Id: Ia7fbfb40c9bae5e51a065c7bcb0f03caddc00017
This commit is contained in:
@@ -812,7 +812,9 @@ public class WindowProcessController extends ConfigurationContainer<Configuratio
|
||||
void updateNightModeForAllActivities(int nightMode) {
|
||||
for (int i = mActivities.size() - 1; i >= 0; --i) {
|
||||
final ActivityRecord r = mActivities.get(i);
|
||||
r.setOverrideNightMode(nightMode);
|
||||
if (r.setOverrideNightMode(nightMode) && r.mVisibleRequested) {
|
||||
r.ensureActivityConfiguration(0 /* globalChanges */, true /* preserveWindow */);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -28,6 +28,8 @@ import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.mock;
|
||||
@@ -359,6 +361,15 @@ public class WindowProcessControllerTests extends WindowTestsBase {
|
||||
return new ActivityBuilder(mAtm).setCreateTask(true).setUseProcess(wpc).build();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTopActivityUiModeChangeScheduleConfigChange() {
|
||||
final ActivityRecord activity = createActivityRecord(mWpc);
|
||||
activity.mVisibleRequested = true;
|
||||
doReturn(true).when(activity).setOverrideNightMode(anyInt());
|
||||
mWpc.updateNightModeForAllActivities(Configuration.UI_MODE_NIGHT_YES);
|
||||
verify(activity).ensureActivityConfiguration(anyInt(), anyBoolean());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTopActivityDisplayAreaMatchesTopMostActivity_noActivities() {
|
||||
assertNull(mWpc.getTopActivityDisplayArea());
|
||||
|
||||
Reference in New Issue
Block a user