Loading services/core/java/com/android/server/am/ActivityManagerService.java +4 −8 Original line number Diff line number Diff line Loading @@ -299,7 +299,6 @@ import android.content.pm.TestUtilityService; import android.content.pm.UserInfo; import android.content.pm.UserProperties; import android.content.pm.VersionedPackage; import android.content.res.CompatibilityInfo; import android.content.res.Configuration; import android.content.res.Resources; import android.database.ContentObserver; Loading Loading @@ -2971,10 +2970,6 @@ public class ActivityManagerService extends IActivityManager.Stub } } CompatibilityInfo compatibilityInfoForPackage(ApplicationInfo ai) { return mAtmInternal.compatibilityInfoForPackage(ai); } /** * Enforces that the uid that calls a method is not an * {@link UserHandle#isIsolated(int) isolated} uid. Loading Loading @@ -4635,7 +4630,6 @@ public class ActivityManagerService extends IActivityManager.Stub ProtoLog.v(WM_DEBUG_CONFIGURATION, "Binding proc %s with config %s", processName, app.getWindowProcessController().getConfiguration()); ApplicationInfo appInfo = instr != null ? instr.mTargetInfo : app.info; app.setCompat(compatibilityInfoForPackage(appInfo)); ProfilerInfo profilerInfo = mAppProfiler.setupProfilerInfoLocked(thread, app, instr); Loading Loading @@ -4674,7 +4668,9 @@ public class ActivityManagerService extends IActivityManager.Stub checkTime(startTime, "attachApplicationLocked: immediately before bindApplication"); bindApplicationTimeMillis = SystemClock.uptimeMillis(); bindApplicationTimeNanos = SystemClock.uptimeNanos(); mAtmInternal.preBindApplication(app.getWindowProcessController()); final ActivityTaskManagerInternal.PreBindInfo preBindInfo = mAtmInternal.preBindApplication(app.getWindowProcessController(), appInfo); app.setCompat(preBindInfo.compatibilityInfo); final ActiveInstrumentation instr2 = app.getActiveInstrumentation(); if (mPlatformCompat != null) { mPlatformCompat.resetReporting(app.info); Loading Loading @@ -4716,7 +4712,7 @@ public class ActivityManagerService extends IActivityManager.Stub enableTrackAllocation, isRestrictedBackupMode || !normalMode, app.isPersistent(), new Configuration(app.getWindowProcessController().getConfiguration()), preBindInfo.configuration, app.getCompat(), getCommonServicesLocked(app.isolated), mCoreSettingsObserver.getCoreSettingsLocked(), Loading services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java +13 −2 Original line number Diff line number Diff line Loading @@ -380,7 +380,16 @@ public abstract class ActivityTaskManagerInternal { public abstract void onPackageAdded(String name, boolean replacing); public abstract void onPackageReplaced(ApplicationInfo aInfo); public abstract CompatibilityInfo compatibilityInfoForPackage(ApplicationInfo ai); /** The data for IApplicationThread#bindApplication. */ public static final class PreBindInfo { public final @NonNull CompatibilityInfo compatibilityInfo; public final @NonNull Configuration configuration; PreBindInfo(@NonNull CompatibilityInfo compatInfo, @NonNull Configuration config) { compatibilityInfo = compatInfo; configuration = config; } } public final class ActivityTokens { private final @NonNull IBinder mActivityToken; Loading Loading @@ -502,7 +511,9 @@ public abstract class ActivityTaskManagerInternal { public abstract void resumeTopActivities(boolean scheduleIdle); /** Called by AM just before it binds to an application process. */ public abstract void preBindApplication(WindowProcessController wpc); @NonNull public abstract PreBindInfo preBindApplication(@NonNull WindowProcessController wpc, @NonNull ApplicationInfo info); /** Called by AM when an application process attaches. */ public abstract boolean attachApplication(WindowProcessController wpc) throws RemoteException; Loading services/core/java/com/android/server/wm/ActivityTaskManagerService.java +5 −8 Original line number Diff line number Diff line Loading @@ -6427,13 +6427,6 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { } } @Override public CompatibilityInfo compatibilityInfoForPackage(ApplicationInfo ai) { synchronized (mGlobalLock) { return compatibilityInfoForPackageLocked(ai); } } @Override public void sendActivityResult(int callingUid, IBinder activityToken, String resultWho, int requestCode, int resultCode, Intent data) { Loading Loading @@ -6712,9 +6705,13 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { @HotPath(caller = HotPath.PROCESS_CHANGE) @Override public void preBindApplication(WindowProcessController wpc) { public PreBindInfo preBindApplication(WindowProcessController wpc, ApplicationInfo info) { synchronized (mGlobalLockWithoutBoost) { mTaskSupervisor.getActivityMetricsLogger().notifyBindApplication(wpc.mInfo); wpc.onConfigurationChanged(getGlobalConfiguration()); // The "info" can be the target of instrumentation. return new PreBindInfo(compatibilityInfoForPackageLocked(info), new Configuration(wpc.getConfiguration())); } } Loading services/core/java/com/android/server/wm/WindowProcessController.java +0 −1 Original line number Diff line number Diff line Loading @@ -358,7 +358,6 @@ public class WindowProcessController extends ConfigurationContainer<Configuratio mUseFifoUiScheduling = com.android.window.flags.Flags.fifoPriorityForMajorUiProcesses() && (isSysUiPackage || mAtm.isCallerRecents(uid)); onConfigurationChanged(atm.getGlobalConfiguration()); mAtm.mPackageConfigPersister.updateConfigIfNeeded(this, mUserId, mInfo.packageName); } Loading services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java +1 −0 Original line number Diff line number Diff line Loading @@ -1047,6 +1047,7 @@ public class ActivityTaskManagerServiceTests extends WindowTestsBase { info.packageName = packageName; WindowProcessController wpc = new WindowProcessController( mAtm, info, packageName, 0, userId, null, mMockListener); mAtm.mInternal.preBindApplication(wpc, info); wpc.setThread(mock(IApplicationThread.class)); return wpc; } Loading Loading
services/core/java/com/android/server/am/ActivityManagerService.java +4 −8 Original line number Diff line number Diff line Loading @@ -299,7 +299,6 @@ import android.content.pm.TestUtilityService; import android.content.pm.UserInfo; import android.content.pm.UserProperties; import android.content.pm.VersionedPackage; import android.content.res.CompatibilityInfo; import android.content.res.Configuration; import android.content.res.Resources; import android.database.ContentObserver; Loading Loading @@ -2971,10 +2970,6 @@ public class ActivityManagerService extends IActivityManager.Stub } } CompatibilityInfo compatibilityInfoForPackage(ApplicationInfo ai) { return mAtmInternal.compatibilityInfoForPackage(ai); } /** * Enforces that the uid that calls a method is not an * {@link UserHandle#isIsolated(int) isolated} uid. Loading Loading @@ -4635,7 +4630,6 @@ public class ActivityManagerService extends IActivityManager.Stub ProtoLog.v(WM_DEBUG_CONFIGURATION, "Binding proc %s with config %s", processName, app.getWindowProcessController().getConfiguration()); ApplicationInfo appInfo = instr != null ? instr.mTargetInfo : app.info; app.setCompat(compatibilityInfoForPackage(appInfo)); ProfilerInfo profilerInfo = mAppProfiler.setupProfilerInfoLocked(thread, app, instr); Loading Loading @@ -4674,7 +4668,9 @@ public class ActivityManagerService extends IActivityManager.Stub checkTime(startTime, "attachApplicationLocked: immediately before bindApplication"); bindApplicationTimeMillis = SystemClock.uptimeMillis(); bindApplicationTimeNanos = SystemClock.uptimeNanos(); mAtmInternal.preBindApplication(app.getWindowProcessController()); final ActivityTaskManagerInternal.PreBindInfo preBindInfo = mAtmInternal.preBindApplication(app.getWindowProcessController(), appInfo); app.setCompat(preBindInfo.compatibilityInfo); final ActiveInstrumentation instr2 = app.getActiveInstrumentation(); if (mPlatformCompat != null) { mPlatformCompat.resetReporting(app.info); Loading Loading @@ -4716,7 +4712,7 @@ public class ActivityManagerService extends IActivityManager.Stub enableTrackAllocation, isRestrictedBackupMode || !normalMode, app.isPersistent(), new Configuration(app.getWindowProcessController().getConfiguration()), preBindInfo.configuration, app.getCompat(), getCommonServicesLocked(app.isolated), mCoreSettingsObserver.getCoreSettingsLocked(), Loading
services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java +13 −2 Original line number Diff line number Diff line Loading @@ -380,7 +380,16 @@ public abstract class ActivityTaskManagerInternal { public abstract void onPackageAdded(String name, boolean replacing); public abstract void onPackageReplaced(ApplicationInfo aInfo); public abstract CompatibilityInfo compatibilityInfoForPackage(ApplicationInfo ai); /** The data for IApplicationThread#bindApplication. */ public static final class PreBindInfo { public final @NonNull CompatibilityInfo compatibilityInfo; public final @NonNull Configuration configuration; PreBindInfo(@NonNull CompatibilityInfo compatInfo, @NonNull Configuration config) { compatibilityInfo = compatInfo; configuration = config; } } public final class ActivityTokens { private final @NonNull IBinder mActivityToken; Loading Loading @@ -502,7 +511,9 @@ public abstract class ActivityTaskManagerInternal { public abstract void resumeTopActivities(boolean scheduleIdle); /** Called by AM just before it binds to an application process. */ public abstract void preBindApplication(WindowProcessController wpc); @NonNull public abstract PreBindInfo preBindApplication(@NonNull WindowProcessController wpc, @NonNull ApplicationInfo info); /** Called by AM when an application process attaches. */ public abstract boolean attachApplication(WindowProcessController wpc) throws RemoteException; Loading
services/core/java/com/android/server/wm/ActivityTaskManagerService.java +5 −8 Original line number Diff line number Diff line Loading @@ -6427,13 +6427,6 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { } } @Override public CompatibilityInfo compatibilityInfoForPackage(ApplicationInfo ai) { synchronized (mGlobalLock) { return compatibilityInfoForPackageLocked(ai); } } @Override public void sendActivityResult(int callingUid, IBinder activityToken, String resultWho, int requestCode, int resultCode, Intent data) { Loading Loading @@ -6712,9 +6705,13 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { @HotPath(caller = HotPath.PROCESS_CHANGE) @Override public void preBindApplication(WindowProcessController wpc) { public PreBindInfo preBindApplication(WindowProcessController wpc, ApplicationInfo info) { synchronized (mGlobalLockWithoutBoost) { mTaskSupervisor.getActivityMetricsLogger().notifyBindApplication(wpc.mInfo); wpc.onConfigurationChanged(getGlobalConfiguration()); // The "info" can be the target of instrumentation. return new PreBindInfo(compatibilityInfoForPackageLocked(info), new Configuration(wpc.getConfiguration())); } } Loading
services/core/java/com/android/server/wm/WindowProcessController.java +0 −1 Original line number Diff line number Diff line Loading @@ -358,7 +358,6 @@ public class WindowProcessController extends ConfigurationContainer<Configuratio mUseFifoUiScheduling = com.android.window.flags.Flags.fifoPriorityForMajorUiProcesses() && (isSysUiPackage || mAtm.isCallerRecents(uid)); onConfigurationChanged(atm.getGlobalConfiguration()); mAtm.mPackageConfigPersister.updateConfigIfNeeded(this, mUserId, mInfo.packageName); } Loading
services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java +1 −0 Original line number Diff line number Diff line Loading @@ -1047,6 +1047,7 @@ public class ActivityTaskManagerServiceTests extends WindowTestsBase { info.packageName = packageName; WindowProcessController wpc = new WindowProcessController( mAtm, info, packageName, 0, userId, null, mMockListener); mAtm.mInternal.preBindApplication(wpc, info); wpc.setThread(mock(IApplicationThread.class)); return wpc; } Loading