Loading services/core/java/com/android/server/wm/ActivityRecord.java +3 −11 Original line number Diff line number Diff line Loading @@ -6611,10 +6611,6 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A return hasProcess() && !app.isCrashing() && !app.isNotResponding(); } void startFreezingScreenLocked(int configChanges) { startFreezingScreenLocked(app, configChanges); } void startFreezingScreenLocked(WindowProcessController app, int configChanges) { if (mayFreezeScreenLocked(app)) { if (getParent() == null) { Loading Loading @@ -8098,12 +8094,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A * Set the last reported configuration to the client. Should be called whenever * a new merged configuration is sent to the client for this activity. */ void setLastReportedConfiguration(@NonNull MergedConfiguration config) { setLastReportedConfiguration(config.getGlobalConfiguration(), config.getOverrideConfiguration()); } private void setLastReportedConfiguration(Configuration global, Configuration override) { void setLastReportedConfiguration(@NonNull Configuration global, @NonNull Configuration override) { mLastReportedConfiguration.setConfiguration(global, override); } Loading Loading @@ -9637,7 +9629,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A configChangeFlags |= changes; if (mVisible && mAtmService.mTmpUpdateConfigurationResult.mIsUpdating && !mTransitionController.isShellTransitionsEnabled()) { startFreezingScreenLocked(mAtmService.mTmpUpdateConfigurationResult.changes); startFreezingScreenLocked(app, mAtmService.mTmpUpdateConfigurationResult.changes); } final boolean displayMayChange = mTmpConfig.windowConfiguration.getDisplayRotation() != getWindowConfiguration().getDisplayRotation() Loading services/core/java/com/android/server/wm/ActivityTaskSupervisor.java +3 −13 Original line number Diff line number Diff line Loading @@ -134,7 +134,6 @@ import android.os.UserManager; import android.os.WorkSource; import android.provider.MediaStore; import android.util.ArrayMap; import android.util.MergedConfiguration; import android.util.Slog; import android.util.SparseArray; import android.util.SparseIntArray; Loading Loading @@ -820,8 +819,6 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { proc.pauseConfigurationDispatch(); try { r.startFreezingScreenLocked(proc, 0); // schedule launch ticks to collect information about slow apps. r.startLaunchTickingLocked(); r.lastLaunchTime = SystemClock.uptimeMillis(); Loading Loading @@ -908,13 +905,9 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { r.intent.getComponent().getPackageName(), NOTIFY_PACKAGE_USE_ACTIVITY); mService.getAppWarningsLocked().onStartActivity(r); // Because we could be starting an Activity in the system process this may not go // across a Binder interface which would create a new Configuration. Consequently // we have to always create a new Configuration here. final Configuration procConfig = proc.prepareConfigurationForLaunchingActivity(); final MergedConfiguration mergedConfiguration = new MergedConfiguration( procConfig, r.getMergedOverrideConfiguration()); r.setLastReportedConfiguration(mergedConfiguration); final Configuration overrideConfig = r.getMergedOverrideConfiguration(); r.setLastReportedConfiguration(procConfig, overrideConfig); logIfTransactionTooLarge(r.intent, r.getSavedState()); Loading @@ -932,10 +925,7 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { final int deviceId = getDeviceIdForDisplayId(r.getDisplayId()); final LaunchActivityItem launchActivityItem = LaunchActivityItem.obtain(r.token, r.intent, System.identityHashCode(r), r.info, // TODO: Have this take the merged configuration instead of separate global // and override configs. mergedConfiguration.getGlobalConfiguration(), mergedConfiguration.getOverrideConfiguration(), deviceId, procConfig, overrideConfig, deviceId, r.getFilteredReferrer(r.launchedFromPackage), task.voiceInteractor, proc.getReportedProcState(), r.getSavedState(), r.getPersistentSavedState(), results, newIntents, r.takeSceneTransitionInfo(), isTransitionForward, Loading services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +6 −13 Original line number Diff line number Diff line Loading @@ -143,7 +143,6 @@ import android.os.Process; import android.os.RemoteException; import android.platform.test.annotations.Presubmit; import android.provider.DeviceConfig; import android.util.MergedConfiguration; import android.util.MutableBoolean; import android.view.DisplayInfo; import android.view.IRemoteAnimationFinishedCallback; Loading Loading @@ -395,8 +394,7 @@ public class ActivityRecordTests extends WindowTestsBase { activity.setState(RESUMED, "Testing"); task.onRequestedOverrideConfigurationChanged(task.getConfiguration()); activity.setLastReportedConfiguration(new MergedConfiguration(new Configuration(), activity.getConfiguration())); activity.setLastReportedConfiguration(new Configuration(), activity.getConfiguration()); activity.info.configChanges &= ~CONFIG_ORIENTATION; final Configuration newConfig = new Configuration(task.getConfiguration()); Loading @@ -420,8 +418,7 @@ public class ActivityRecordTests extends WindowTestsBase { activity.setState(RESUMED, "Testing"); task.onRequestedOverrideConfigurationChanged(task.getConfiguration()); activity.setLastReportedConfiguration(new MergedConfiguration(new Configuration(), activity.getConfiguration())); activity.setLastReportedConfiguration(new Configuration(), activity.getConfiguration()); activity.info.configChanges &= ~CONFIG_ORIENTATION; final Configuration newConfig = new Configuration(task.getConfiguration()); Loading @@ -447,8 +444,7 @@ public class ActivityRecordTests extends WindowTestsBase { activity.setState(RESUMED, "Testing"); task.onRequestedOverrideConfigurationChanged(task.getConfiguration()); activity.setLastReportedConfiguration(new MergedConfiguration(new Configuration(), activity.getConfiguration())); activity.setLastReportedConfiguration(new Configuration(), activity.getConfiguration()); activity.info.configChanges &= ~CONFIG_ORIENTATION; final Configuration newConfig = new Configuration(task.getConfiguration()); Loading @@ -468,8 +464,7 @@ public class ActivityRecordTests extends WindowTestsBase { activity.setState(RESUMED, "Testing"); task.onRequestedOverrideConfigurationChanged(task.getConfiguration()); activity.setLastReportedConfiguration(new MergedConfiguration(new Configuration(), activity.getConfiguration())); activity.setLastReportedConfiguration(new Configuration(), activity.getConfiguration()); activity.info.configChanges &= ~ActivityInfo.CONFIG_FONT_SCALE; final Configuration newConfig = new Configuration(task.getConfiguration()); Loading Loading @@ -571,8 +566,7 @@ public class ActivityRecordTests extends WindowTestsBase { .build(); activity.setState(RESUMED, "Testing"); activity.setLastReportedConfiguration(new MergedConfiguration(new Configuration(), activity.getConfiguration())); activity.setLastReportedConfiguration(new Configuration(), activity.getConfiguration()); clearInvocations(mClientLifecycleManager); Loading Loading @@ -799,8 +793,7 @@ public class ActivityRecordTests extends WindowTestsBase { doReturn(false).when(stack).isTranslucent(any()); assertTrue(task.shouldBeVisible(null /* starting */)); activity.setLastReportedConfiguration(new MergedConfiguration(new Configuration(), activity.getConfiguration())); activity.setLastReportedConfiguration(new Configuration(), activity.getConfiguration()); final Configuration newConfig = new Configuration(activity.getConfiguration()); final int shortSide = newConfig.screenWidthDp == newConfig.screenHeightDp Loading services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java +1 −3 Original line number Diff line number Diff line Loading @@ -76,7 +76,6 @@ import android.graphics.Rect; import android.os.PowerManager; import android.os.UserHandle; import android.platform.test.annotations.Presubmit; import android.util.MergedConfiguration; import android.util.Pair; import androidx.test.filters.MediumTest; Loading Loading @@ -545,8 +544,7 @@ public class RootWindowContainerTests extends WindowTestsBase { assertNotEquals(activity.getConfiguration().orientation, rotatedConfig.orientation); // Assume the activity was shown in different orientation. For example, the top activity is // landscape and the portrait lockscreen is shown. activity.setLastReportedConfiguration( new MergedConfiguration(mAtm.getGlobalConfiguration(), rotatedConfig)); activity.setLastReportedConfiguration(mAtm.getGlobalConfiguration(), rotatedConfig); activity.setState(STOPPED, "sleep"); display.setIsSleeping(true); Loading Loading
services/core/java/com/android/server/wm/ActivityRecord.java +3 −11 Original line number Diff line number Diff line Loading @@ -6611,10 +6611,6 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A return hasProcess() && !app.isCrashing() && !app.isNotResponding(); } void startFreezingScreenLocked(int configChanges) { startFreezingScreenLocked(app, configChanges); } void startFreezingScreenLocked(WindowProcessController app, int configChanges) { if (mayFreezeScreenLocked(app)) { if (getParent() == null) { Loading Loading @@ -8098,12 +8094,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A * Set the last reported configuration to the client. Should be called whenever * a new merged configuration is sent to the client for this activity. */ void setLastReportedConfiguration(@NonNull MergedConfiguration config) { setLastReportedConfiguration(config.getGlobalConfiguration(), config.getOverrideConfiguration()); } private void setLastReportedConfiguration(Configuration global, Configuration override) { void setLastReportedConfiguration(@NonNull Configuration global, @NonNull Configuration override) { mLastReportedConfiguration.setConfiguration(global, override); } Loading Loading @@ -9637,7 +9629,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A configChangeFlags |= changes; if (mVisible && mAtmService.mTmpUpdateConfigurationResult.mIsUpdating && !mTransitionController.isShellTransitionsEnabled()) { startFreezingScreenLocked(mAtmService.mTmpUpdateConfigurationResult.changes); startFreezingScreenLocked(app, mAtmService.mTmpUpdateConfigurationResult.changes); } final boolean displayMayChange = mTmpConfig.windowConfiguration.getDisplayRotation() != getWindowConfiguration().getDisplayRotation() Loading
services/core/java/com/android/server/wm/ActivityTaskSupervisor.java +3 −13 Original line number Diff line number Diff line Loading @@ -134,7 +134,6 @@ import android.os.UserManager; import android.os.WorkSource; import android.provider.MediaStore; import android.util.ArrayMap; import android.util.MergedConfiguration; import android.util.Slog; import android.util.SparseArray; import android.util.SparseIntArray; Loading Loading @@ -820,8 +819,6 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { proc.pauseConfigurationDispatch(); try { r.startFreezingScreenLocked(proc, 0); // schedule launch ticks to collect information about slow apps. r.startLaunchTickingLocked(); r.lastLaunchTime = SystemClock.uptimeMillis(); Loading Loading @@ -908,13 +905,9 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { r.intent.getComponent().getPackageName(), NOTIFY_PACKAGE_USE_ACTIVITY); mService.getAppWarningsLocked().onStartActivity(r); // Because we could be starting an Activity in the system process this may not go // across a Binder interface which would create a new Configuration. Consequently // we have to always create a new Configuration here. final Configuration procConfig = proc.prepareConfigurationForLaunchingActivity(); final MergedConfiguration mergedConfiguration = new MergedConfiguration( procConfig, r.getMergedOverrideConfiguration()); r.setLastReportedConfiguration(mergedConfiguration); final Configuration overrideConfig = r.getMergedOverrideConfiguration(); r.setLastReportedConfiguration(procConfig, overrideConfig); logIfTransactionTooLarge(r.intent, r.getSavedState()); Loading @@ -932,10 +925,7 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { final int deviceId = getDeviceIdForDisplayId(r.getDisplayId()); final LaunchActivityItem launchActivityItem = LaunchActivityItem.obtain(r.token, r.intent, System.identityHashCode(r), r.info, // TODO: Have this take the merged configuration instead of separate global // and override configs. mergedConfiguration.getGlobalConfiguration(), mergedConfiguration.getOverrideConfiguration(), deviceId, procConfig, overrideConfig, deviceId, r.getFilteredReferrer(r.launchedFromPackage), task.voiceInteractor, proc.getReportedProcState(), r.getSavedState(), r.getPersistentSavedState(), results, newIntents, r.takeSceneTransitionInfo(), isTransitionForward, Loading
services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +6 −13 Original line number Diff line number Diff line Loading @@ -143,7 +143,6 @@ import android.os.Process; import android.os.RemoteException; import android.platform.test.annotations.Presubmit; import android.provider.DeviceConfig; import android.util.MergedConfiguration; import android.util.MutableBoolean; import android.view.DisplayInfo; import android.view.IRemoteAnimationFinishedCallback; Loading Loading @@ -395,8 +394,7 @@ public class ActivityRecordTests extends WindowTestsBase { activity.setState(RESUMED, "Testing"); task.onRequestedOverrideConfigurationChanged(task.getConfiguration()); activity.setLastReportedConfiguration(new MergedConfiguration(new Configuration(), activity.getConfiguration())); activity.setLastReportedConfiguration(new Configuration(), activity.getConfiguration()); activity.info.configChanges &= ~CONFIG_ORIENTATION; final Configuration newConfig = new Configuration(task.getConfiguration()); Loading @@ -420,8 +418,7 @@ public class ActivityRecordTests extends WindowTestsBase { activity.setState(RESUMED, "Testing"); task.onRequestedOverrideConfigurationChanged(task.getConfiguration()); activity.setLastReportedConfiguration(new MergedConfiguration(new Configuration(), activity.getConfiguration())); activity.setLastReportedConfiguration(new Configuration(), activity.getConfiguration()); activity.info.configChanges &= ~CONFIG_ORIENTATION; final Configuration newConfig = new Configuration(task.getConfiguration()); Loading @@ -447,8 +444,7 @@ public class ActivityRecordTests extends WindowTestsBase { activity.setState(RESUMED, "Testing"); task.onRequestedOverrideConfigurationChanged(task.getConfiguration()); activity.setLastReportedConfiguration(new MergedConfiguration(new Configuration(), activity.getConfiguration())); activity.setLastReportedConfiguration(new Configuration(), activity.getConfiguration()); activity.info.configChanges &= ~CONFIG_ORIENTATION; final Configuration newConfig = new Configuration(task.getConfiguration()); Loading @@ -468,8 +464,7 @@ public class ActivityRecordTests extends WindowTestsBase { activity.setState(RESUMED, "Testing"); task.onRequestedOverrideConfigurationChanged(task.getConfiguration()); activity.setLastReportedConfiguration(new MergedConfiguration(new Configuration(), activity.getConfiguration())); activity.setLastReportedConfiguration(new Configuration(), activity.getConfiguration()); activity.info.configChanges &= ~ActivityInfo.CONFIG_FONT_SCALE; final Configuration newConfig = new Configuration(task.getConfiguration()); Loading Loading @@ -571,8 +566,7 @@ public class ActivityRecordTests extends WindowTestsBase { .build(); activity.setState(RESUMED, "Testing"); activity.setLastReportedConfiguration(new MergedConfiguration(new Configuration(), activity.getConfiguration())); activity.setLastReportedConfiguration(new Configuration(), activity.getConfiguration()); clearInvocations(mClientLifecycleManager); Loading Loading @@ -799,8 +793,7 @@ public class ActivityRecordTests extends WindowTestsBase { doReturn(false).when(stack).isTranslucent(any()); assertTrue(task.shouldBeVisible(null /* starting */)); activity.setLastReportedConfiguration(new MergedConfiguration(new Configuration(), activity.getConfiguration())); activity.setLastReportedConfiguration(new Configuration(), activity.getConfiguration()); final Configuration newConfig = new Configuration(activity.getConfiguration()); final int shortSide = newConfig.screenWidthDp == newConfig.screenHeightDp Loading
services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java +1 −3 Original line number Diff line number Diff line Loading @@ -76,7 +76,6 @@ import android.graphics.Rect; import android.os.PowerManager; import android.os.UserHandle; import android.platform.test.annotations.Presubmit; import android.util.MergedConfiguration; import android.util.Pair; import androidx.test.filters.MediumTest; Loading Loading @@ -545,8 +544,7 @@ public class RootWindowContainerTests extends WindowTestsBase { assertNotEquals(activity.getConfiguration().orientation, rotatedConfig.orientation); // Assume the activity was shown in different orientation. For example, the top activity is // landscape and the portrait lockscreen is shown. activity.setLastReportedConfiguration( new MergedConfiguration(mAtm.getGlobalConfiguration(), rotatedConfig)); activity.setLastReportedConfiguration(mAtm.getGlobalConfiguration(), rotatedConfig); activity.setState(STOPPED, "sleep"); display.setIsSleeping(true); Loading