Loading core/java/android/app/ActivityThread.java +20 −25 Original line number Diff line number Diff line Loading @@ -374,6 +374,7 @@ public final class ActivityThread extends ClientTransactionHandler int mCurDefaultDisplayDpi; @UnsupportedAppUsage boolean mDensityCompatMode; private CompatibilityInfo mCompatibilityInfo; @UnsupportedAppUsage(trackingBug = 176961850, maxTargetSdk = Build.VERSION_CODES.R, publicAlternatives = "Use {@code Context#getResources()#getConfiguration()} instead.") Configuration mConfiguration; Loading Loading @@ -612,7 +613,7 @@ public final class ActivityThread extends ClientTransactionHandler } public ActivityClientRecord(IBinder token, Intent intent, int ident, ActivityInfo info, Configuration overrideConfig, CompatibilityInfo compatInfo, ActivityInfo info, Configuration overrideConfig, String referrer, IVoiceInteractor voiceInteractor, Bundle state, PersistableBundle persistentState, List<ResultInfo> pendingResults, List<ReferrerIntent> pendingNewIntents, ActivityOptions activityOptions, Loading @@ -627,7 +628,6 @@ public final class ActivityThread extends ClientTransactionHandler this.referrer = referrer; this.voiceInteractor = voiceInteractor; this.activityInfo = info; this.compatInfo = compatInfo; this.state = state; this.persistentState = persistentState; this.pendingResults = pendingResults; Loading @@ -635,8 +635,7 @@ public final class ActivityThread extends ClientTransactionHandler this.isForward = isForward; this.profilerInfo = profilerInfo; this.overrideConfig = overrideConfig; this.packageInfo = client.getPackageInfoNoCheck(activityInfo.applicationInfo, compatInfo); this.packageInfo = client.getPackageInfoNoCheck(activityInfo.applicationInfo); mActivityOptions = activityOptions; mLaunchedFromBubble = launchedFromBubble; mInitialTaskFragmentToken = initialTaskFragmentToken; Loading Loading @@ -804,7 +803,6 @@ public final class ActivityThread extends ClientTransactionHandler static final class CreateBackupAgentData { ApplicationInfo appInfo; CompatibilityInfo compatInfo; int backupMode; int userId; int operationType; Loading Loading @@ -1038,15 +1036,13 @@ public final class ActivityThread extends ClientTransactionHandler ReceiverData r = new ReceiverData(intent, resultCode, data, extras, sync, false, mAppThread.asBinder(), sendingUser); r.info = info; r.compatInfo = compatInfo; sendMessage(H.RECEIVER, r); } public final void scheduleCreateBackupAgent(ApplicationInfo app, CompatibilityInfo compatInfo, int backupMode, int userId, int operationType) { int backupMode, int userId, int operationType) { CreateBackupAgentData d = new CreateBackupAgentData(); d.appInfo = app; d.compatInfo = compatInfo; d.backupMode = backupMode; d.userId = userId; d.operationType = operationType; Loading @@ -1054,11 +1050,9 @@ public final class ActivityThread extends ClientTransactionHandler sendMessage(H.CREATE_BACKUP_AGENT, d); } public final void scheduleDestroyBackupAgent(ApplicationInfo app, CompatibilityInfo compatInfo, int userId) { public final void scheduleDestroyBackupAgent(ApplicationInfo app, int userId) { CreateBackupAgentData d = new CreateBackupAgentData(); d.appInfo = app; d.compatInfo = compatInfo; d.userId = userId; sendMessage(H.DESTROY_BACKUP_AGENT, d); Loading @@ -1070,7 +1064,6 @@ public final class ActivityThread extends ClientTransactionHandler CreateServiceData s = new CreateServiceData(); s.token = token; s.info = info; s.compatInfo = compatInfo; sendMessage(H.CREATE_SERVICE, s); } Loading Loading @@ -2577,16 +2570,16 @@ public final class ActivityThread extends ClientTransactionHandler registerPackage); } @Override @UnsupportedAppUsage public final LoadedApk getPackageInfoNoCheck(ApplicationInfo ai, CompatibilityInfo compatInfo) { return getPackageInfo(ai, compatInfo, null, false, true, false); } private LoadedApk getPackageInfoNoCheck(ApplicationInfo ai, CompatibilityInfo compatInfo, boolean isSdkSandbox) { return getPackageInfo(ai, compatInfo, null, false, true, false, isSdkSandbox); @Override public LoadedApk getPackageInfoNoCheck(ApplicationInfo ai) { return getPackageInfo(ai, mCompatibilityInfo, null /* baseLoader */, false /* securityViolation */, true /* includeCode */, false /* registerPackage */); } @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023) Loading Loading @@ -3538,7 +3531,7 @@ public final class ActivityThread extends ClientTransactionHandler private Activity performLaunchActivity(ActivityClientRecord r, Intent customIntent) { ActivityInfo aInfo = r.activityInfo; if (r.packageInfo == null) { r.packageInfo = getPackageInfo(aInfo.applicationInfo, r.compatInfo, r.packageInfo = getPackageInfo(aInfo.applicationInfo, mCompatibilityInfo, Context.CONTEXT_INCLUDE_CODE); } Loading Loading @@ -4279,8 +4272,7 @@ public final class ActivityThread extends ClientTransactionHandler String component = data.intent.getComponent().getClassName(); LoadedApk packageInfo = getPackageInfoNoCheck( data.info.applicationInfo, data.compatInfo); final LoadedApk packageInfo = getPackageInfoNoCheck(data.info.applicationInfo); IActivityManager mgr = ActivityManager.getService(); Loading Loading @@ -4366,7 +4358,7 @@ public final class ActivityThread extends ClientTransactionHandler unscheduleGcIdler(); // instantiate the BackupAgent class named in the manifest LoadedApk packageInfo = getPackageInfoNoCheck(data.appInfo, data.compatInfo); final LoadedApk packageInfo = getPackageInfoNoCheck(data.appInfo); String packageName = packageInfo.mPackageName; if (packageName == null) { Slog.d(TAG, "Asked to create backup agent for nonexistent package"); Loading Loading @@ -4439,7 +4431,7 @@ public final class ActivityThread extends ClientTransactionHandler private void handleDestroyBackupAgent(CreateBackupAgentData data) { if (DEBUG_BACKUP) Slog.v(TAG, "handleDestroyBackupAgent: " + data); LoadedApk packageInfo = getPackageInfoNoCheck(data.appInfo, data.compatInfo); final LoadedApk packageInfo = getPackageInfoNoCheck(data.appInfo); String packageName = packageInfo.mPackageName; ArrayMap<String, BackupAgent> backupAgents = getBackupAgentsForUser(data.userId); BackupAgent agent = backupAgents.get(packageName); Loading Loading @@ -4471,8 +4463,7 @@ public final class ActivityThread extends ClientTransactionHandler // we are back active so skip it. unscheduleGcIdler(); LoadedApk packageInfo = getPackageInfoNoCheck( data.info.applicationInfo, data.compatInfo); final LoadedApk packageInfo = getPackageInfoNoCheck(data.info.applicationInfo); Service service = null; try { if (localLOGV) Slog.v(TAG, "Creating service " + data.info.name); Loading Loading @@ -5306,6 +5297,7 @@ public final class ActivityThread extends ClientTransactionHandler } private void handleUpdatePackageCompatibilityInfo(UpdateCompatibilityData data) { mCompatibilityInfo = data.info; LoadedApk apk = peekPackageInfo(data.pkg, false); if (apk != null) { apk.setCompatibilityInfo(data.info); Loading Loading @@ -6486,6 +6478,7 @@ public final class ActivityThread extends ClientTransactionHandler mConfigurationController.setConfiguration(data.config); mConfigurationController.setCompatConfiguration(data.config); mConfiguration = mConfigurationController.getConfiguration(); mCompatibilityInfo = data.compatInfo; mProfiler = new Profiler(); String agent = null; Loading Loading @@ -6569,7 +6562,9 @@ public final class ActivityThread extends ClientTransactionHandler } final boolean isSdkSandbox = data.sdkSandboxClientAppPackage != null; data.info = getPackageInfoNoCheck(data.appInfo, data.compatInfo, isSdkSandbox); data.info = getPackageInfo(data.appInfo, mCompatibilityInfo, null /* baseLoader */, false /* securityViolation */, true /* includeCode */, false /* registerPackage */, isSdkSandbox); if (isSdkSandbox) { data.info.setSdkSandboxStorage(data.sdkSandboxClientAppVolumeUuid, data.sdkSandboxClientAppPackage); Loading Loading @@ -6844,7 +6839,7 @@ public final class ActivityThread extends ClientTransactionHandler private void handleInstrumentWithoutRestart(AppBindData data) { try { data.compatInfo = CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO; data.info = getPackageInfoNoCheck(data.appInfo, data.compatInfo); data.info = getPackageInfoNoCheck(data.appInfo); mInstrumentingWithoutRestart = true; final InstrumentationInfo ii = prepareInstrumentation(data); final ContextImpl appContext = Loading core/java/android/app/ClientTransactionHandler.java +1 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import android.app.servertransaction.PendingTransactionActions; import android.app.servertransaction.TransactionExecutor; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.res.CompatibilityInfo; import android.content.res.Configuration; import android.os.IBinder; import android.util.MergedConfiguration; Loading Loading @@ -180,8 +179,7 @@ public abstract class ClientTransactionHandler { PendingTransactionActions pendingActions, ActivityOptions activityOptions); /** Get package info. */ public abstract LoadedApk getPackageInfoNoCheck(ApplicationInfo ai, CompatibilityInfo compatInfo); public abstract LoadedApk getPackageInfoNoCheck(ApplicationInfo ai); /** Deliver app configuration change notification. */ public abstract void handleConfigurationChanged(Configuration config); Loading core/java/android/app/IApplicationThread.aidl +2 −3 Original line number Diff line number Diff line Loading @@ -102,10 +102,9 @@ oneway interface IApplicationThread { void scheduleLowMemory(); void profilerControl(boolean start, in ProfilerInfo profilerInfo, int profileType); void setSchedulingGroup(int group); void scheduleCreateBackupAgent(in ApplicationInfo app, in CompatibilityInfo compatInfo, void scheduleCreateBackupAgent(in ApplicationInfo app, int backupMode, int userId, int operationType); void scheduleDestroyBackupAgent(in ApplicationInfo app, in CompatibilityInfo compatInfo, int userId); void scheduleDestroyBackupAgent(in ApplicationInfo app, int userId); void scheduleOnNewActivityOptions(IBinder token, in Bundle options); void scheduleSuicide(); void dispatchPackageBroadcast(int cmd, in String[] packages); Loading core/java/android/app/servertransaction/LaunchActivityItem.java +6 −13 Original line number Diff line number Diff line Loading @@ -30,7 +30,6 @@ import android.app.ResultInfo; import android.compat.annotation.UnsupportedAppUsage; import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.res.CompatibilityInfo; import android.content.res.Configuration; import android.os.BaseBundle; import android.os.Bundle; Loading Loading @@ -58,7 +57,6 @@ public class LaunchActivityItem extends ClientTransactionItem { private ActivityInfo mInfo; private Configuration mCurConfig; private Configuration mOverrideConfig; private CompatibilityInfo mCompatInfo; private String mReferrer; private IVoiceInteractor mVoiceInteractor; private int mProcState; Loading Loading @@ -94,7 +92,7 @@ public class LaunchActivityItem extends ClientTransactionItem { PendingTransactionActions pendingActions) { Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "activityStart"); ActivityClientRecord r = new ActivityClientRecord(token, mIntent, mIdent, mInfo, mOverrideConfig, mCompatInfo, mReferrer, mVoiceInteractor, mState, mPersistentState, mOverrideConfig, mReferrer, mVoiceInteractor, mState, mPersistentState, mPendingResults, mPendingNewIntents, mActivityOptions, mIsForward, mProfilerInfo, client, mAssistToken, mShareableActivityToken, mLaunchedFromBubble, mTaskFragmentToken); Loading @@ -115,7 +113,7 @@ public class LaunchActivityItem extends ClientTransactionItem { /** Obtain an instance initialized with provided params. */ public static LaunchActivityItem obtain(Intent intent, int ident, ActivityInfo info, Configuration curConfig, Configuration overrideConfig, CompatibilityInfo compatInfo, Configuration curConfig, Configuration overrideConfig, String referrer, IVoiceInteractor voiceInteractor, int procState, Bundle state, PersistableBundle persistentState, List<ResultInfo> pendingResults, List<ReferrerIntent> pendingNewIntents, ActivityOptions activityOptions, Loading @@ -126,7 +124,7 @@ public class LaunchActivityItem extends ClientTransactionItem { if (instance == null) { instance = new LaunchActivityItem(); } setValues(instance, intent, ident, info, curConfig, overrideConfig, compatInfo, referrer, setValues(instance, intent, ident, info, curConfig, overrideConfig, referrer, voiceInteractor, procState, state, persistentState, pendingResults, pendingNewIntents, activityOptions, isForward, profilerInfo, assistToken, activityClientController, shareableActivityToken, Loading @@ -137,7 +135,7 @@ public class LaunchActivityItem extends ClientTransactionItem { @Override public void recycle() { setValues(this, null, 0, null, null, null, null, null, null, 0, null, null, null, null, setValues(this, null, 0, null, null, null, null, null, 0, null, null, null, null, null, false, null, null, null, null, false, null); ObjectPool.recycle(this); } Loading @@ -153,7 +151,6 @@ public class LaunchActivityItem extends ClientTransactionItem { dest.writeTypedObject(mInfo, flags); dest.writeTypedObject(mCurConfig, flags); dest.writeTypedObject(mOverrideConfig, flags); dest.writeTypedObject(mCompatInfo, flags); dest.writeString(mReferrer); dest.writeStrongInterface(mVoiceInteractor); dest.writeInt(mProcState); Loading @@ -175,8 +172,7 @@ public class LaunchActivityItem extends ClientTransactionItem { private LaunchActivityItem(Parcel in) { setValues(this, in.readTypedObject(Intent.CREATOR), in.readInt(), in.readTypedObject(ActivityInfo.CREATOR), in.readTypedObject(Configuration.CREATOR), in.readTypedObject(Configuration.CREATOR), in.readTypedObject(CompatibilityInfo.CREATOR), in.readString(), in.readTypedObject(Configuration.CREATOR), in.readString(), IVoiceInteractor.Stub.asInterface(in.readStrongBinder()), in.readInt(), in.readBundle(getClass().getClassLoader()), in.readPersistableBundle(getClass().getClassLoader()), Loading Loading @@ -216,7 +212,6 @@ public class LaunchActivityItem extends ClientTransactionItem { return intentsEqual && mIdent == other.mIdent && activityInfoEqual(other.mInfo) && Objects.equals(mCurConfig, other.mCurConfig) && Objects.equals(mOverrideConfig, other.mOverrideConfig) && Objects.equals(mCompatInfo, other.mCompatInfo) && Objects.equals(mReferrer, other.mReferrer) && mProcState == other.mProcState && areBundlesEqualRoughly(mState, other.mState) && areBundlesEqualRoughly(mPersistentState, other.mPersistentState) Loading @@ -237,7 +232,6 @@ public class LaunchActivityItem extends ClientTransactionItem { result = 31 * result + mIdent; result = 31 * result + Objects.hashCode(mCurConfig); result = 31 * result + Objects.hashCode(mOverrideConfig); result = 31 * result + Objects.hashCode(mCompatInfo); result = 31 * result + Objects.hashCode(mReferrer); result = 31 * result + Objects.hashCode(mProcState); result = 31 * result + getRoughBundleHashCode(mState); Loading Loading @@ -292,7 +286,7 @@ public class LaunchActivityItem extends ClientTransactionItem { // Using the same method to set and clear values to make sure we don't forget anything private static void setValues(LaunchActivityItem instance, Intent intent, int ident, ActivityInfo info, Configuration curConfig, Configuration overrideConfig, CompatibilityInfo compatInfo, String referrer, IVoiceInteractor voiceInteractor, String referrer, IVoiceInteractor voiceInteractor, int procState, Bundle state, PersistableBundle persistentState, List<ResultInfo> pendingResults, List<ReferrerIntent> pendingNewIntents, ActivityOptions activityOptions, boolean isForward, ProfilerInfo profilerInfo, Loading @@ -303,7 +297,6 @@ public class LaunchActivityItem extends ClientTransactionItem { instance.mInfo = info; instance.mCurConfig = curConfig; instance.mOverrideConfig = overrideConfig; instance.mCompatInfo = compatInfo; instance.mReferrer = referrer; instance.mVoiceInteractor = voiceInteractor; instance.mProcState = procState; Loading core/tests/coretests/src/android/app/servertransaction/ObjectPoolTests.java +1 −3 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ import android.app.servertransaction.TestUtils.LaunchActivityItemBuilder; import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; import android.content.res.CompatibilityInfo; import android.content.res.Configuration; import android.os.Binder; import android.os.Bundle; Loading Loading @@ -140,7 +139,6 @@ public class ObjectPoolTests { activityInfo.name = "name"; Configuration overrideConfig = new Configuration(); overrideConfig.assetsSeq = 5; CompatibilityInfo compat = CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO; String referrer = "referrer"; int procState = 4; Bundle bundle = new Bundle(); Loading @@ -152,7 +150,7 @@ public class ObjectPoolTests { Supplier<LaunchActivityItem> itemSupplier = () -> new LaunchActivityItemBuilder() .setIntent(intent).setIdent(ident).setInfo(activityInfo).setCurConfig(config()) .setOverrideConfig(overrideConfig).setCompatInfo(compat).setReferrer(referrer) .setOverrideConfig(overrideConfig).setReferrer(referrer) .setProcState(procState).setState(bundle).setPersistentState(persistableBundle) .setPendingResults(resultInfoList()).setPendingNewIntents(referrerIntentList()) .setIsForward(true).setAssistToken(assistToken) Loading Loading
core/java/android/app/ActivityThread.java +20 −25 Original line number Diff line number Diff line Loading @@ -374,6 +374,7 @@ public final class ActivityThread extends ClientTransactionHandler int mCurDefaultDisplayDpi; @UnsupportedAppUsage boolean mDensityCompatMode; private CompatibilityInfo mCompatibilityInfo; @UnsupportedAppUsage(trackingBug = 176961850, maxTargetSdk = Build.VERSION_CODES.R, publicAlternatives = "Use {@code Context#getResources()#getConfiguration()} instead.") Configuration mConfiguration; Loading Loading @@ -612,7 +613,7 @@ public final class ActivityThread extends ClientTransactionHandler } public ActivityClientRecord(IBinder token, Intent intent, int ident, ActivityInfo info, Configuration overrideConfig, CompatibilityInfo compatInfo, ActivityInfo info, Configuration overrideConfig, String referrer, IVoiceInteractor voiceInteractor, Bundle state, PersistableBundle persistentState, List<ResultInfo> pendingResults, List<ReferrerIntent> pendingNewIntents, ActivityOptions activityOptions, Loading @@ -627,7 +628,6 @@ public final class ActivityThread extends ClientTransactionHandler this.referrer = referrer; this.voiceInteractor = voiceInteractor; this.activityInfo = info; this.compatInfo = compatInfo; this.state = state; this.persistentState = persistentState; this.pendingResults = pendingResults; Loading @@ -635,8 +635,7 @@ public final class ActivityThread extends ClientTransactionHandler this.isForward = isForward; this.profilerInfo = profilerInfo; this.overrideConfig = overrideConfig; this.packageInfo = client.getPackageInfoNoCheck(activityInfo.applicationInfo, compatInfo); this.packageInfo = client.getPackageInfoNoCheck(activityInfo.applicationInfo); mActivityOptions = activityOptions; mLaunchedFromBubble = launchedFromBubble; mInitialTaskFragmentToken = initialTaskFragmentToken; Loading Loading @@ -804,7 +803,6 @@ public final class ActivityThread extends ClientTransactionHandler static final class CreateBackupAgentData { ApplicationInfo appInfo; CompatibilityInfo compatInfo; int backupMode; int userId; int operationType; Loading Loading @@ -1038,15 +1036,13 @@ public final class ActivityThread extends ClientTransactionHandler ReceiverData r = new ReceiverData(intent, resultCode, data, extras, sync, false, mAppThread.asBinder(), sendingUser); r.info = info; r.compatInfo = compatInfo; sendMessage(H.RECEIVER, r); } public final void scheduleCreateBackupAgent(ApplicationInfo app, CompatibilityInfo compatInfo, int backupMode, int userId, int operationType) { int backupMode, int userId, int operationType) { CreateBackupAgentData d = new CreateBackupAgentData(); d.appInfo = app; d.compatInfo = compatInfo; d.backupMode = backupMode; d.userId = userId; d.operationType = operationType; Loading @@ -1054,11 +1050,9 @@ public final class ActivityThread extends ClientTransactionHandler sendMessage(H.CREATE_BACKUP_AGENT, d); } public final void scheduleDestroyBackupAgent(ApplicationInfo app, CompatibilityInfo compatInfo, int userId) { public final void scheduleDestroyBackupAgent(ApplicationInfo app, int userId) { CreateBackupAgentData d = new CreateBackupAgentData(); d.appInfo = app; d.compatInfo = compatInfo; d.userId = userId; sendMessage(H.DESTROY_BACKUP_AGENT, d); Loading @@ -1070,7 +1064,6 @@ public final class ActivityThread extends ClientTransactionHandler CreateServiceData s = new CreateServiceData(); s.token = token; s.info = info; s.compatInfo = compatInfo; sendMessage(H.CREATE_SERVICE, s); } Loading Loading @@ -2577,16 +2570,16 @@ public final class ActivityThread extends ClientTransactionHandler registerPackage); } @Override @UnsupportedAppUsage public final LoadedApk getPackageInfoNoCheck(ApplicationInfo ai, CompatibilityInfo compatInfo) { return getPackageInfo(ai, compatInfo, null, false, true, false); } private LoadedApk getPackageInfoNoCheck(ApplicationInfo ai, CompatibilityInfo compatInfo, boolean isSdkSandbox) { return getPackageInfo(ai, compatInfo, null, false, true, false, isSdkSandbox); @Override public LoadedApk getPackageInfoNoCheck(ApplicationInfo ai) { return getPackageInfo(ai, mCompatibilityInfo, null /* baseLoader */, false /* securityViolation */, true /* includeCode */, false /* registerPackage */); } @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023) Loading Loading @@ -3538,7 +3531,7 @@ public final class ActivityThread extends ClientTransactionHandler private Activity performLaunchActivity(ActivityClientRecord r, Intent customIntent) { ActivityInfo aInfo = r.activityInfo; if (r.packageInfo == null) { r.packageInfo = getPackageInfo(aInfo.applicationInfo, r.compatInfo, r.packageInfo = getPackageInfo(aInfo.applicationInfo, mCompatibilityInfo, Context.CONTEXT_INCLUDE_CODE); } Loading Loading @@ -4279,8 +4272,7 @@ public final class ActivityThread extends ClientTransactionHandler String component = data.intent.getComponent().getClassName(); LoadedApk packageInfo = getPackageInfoNoCheck( data.info.applicationInfo, data.compatInfo); final LoadedApk packageInfo = getPackageInfoNoCheck(data.info.applicationInfo); IActivityManager mgr = ActivityManager.getService(); Loading Loading @@ -4366,7 +4358,7 @@ public final class ActivityThread extends ClientTransactionHandler unscheduleGcIdler(); // instantiate the BackupAgent class named in the manifest LoadedApk packageInfo = getPackageInfoNoCheck(data.appInfo, data.compatInfo); final LoadedApk packageInfo = getPackageInfoNoCheck(data.appInfo); String packageName = packageInfo.mPackageName; if (packageName == null) { Slog.d(TAG, "Asked to create backup agent for nonexistent package"); Loading Loading @@ -4439,7 +4431,7 @@ public final class ActivityThread extends ClientTransactionHandler private void handleDestroyBackupAgent(CreateBackupAgentData data) { if (DEBUG_BACKUP) Slog.v(TAG, "handleDestroyBackupAgent: " + data); LoadedApk packageInfo = getPackageInfoNoCheck(data.appInfo, data.compatInfo); final LoadedApk packageInfo = getPackageInfoNoCheck(data.appInfo); String packageName = packageInfo.mPackageName; ArrayMap<String, BackupAgent> backupAgents = getBackupAgentsForUser(data.userId); BackupAgent agent = backupAgents.get(packageName); Loading Loading @@ -4471,8 +4463,7 @@ public final class ActivityThread extends ClientTransactionHandler // we are back active so skip it. unscheduleGcIdler(); LoadedApk packageInfo = getPackageInfoNoCheck( data.info.applicationInfo, data.compatInfo); final LoadedApk packageInfo = getPackageInfoNoCheck(data.info.applicationInfo); Service service = null; try { if (localLOGV) Slog.v(TAG, "Creating service " + data.info.name); Loading Loading @@ -5306,6 +5297,7 @@ public final class ActivityThread extends ClientTransactionHandler } private void handleUpdatePackageCompatibilityInfo(UpdateCompatibilityData data) { mCompatibilityInfo = data.info; LoadedApk apk = peekPackageInfo(data.pkg, false); if (apk != null) { apk.setCompatibilityInfo(data.info); Loading Loading @@ -6486,6 +6478,7 @@ public final class ActivityThread extends ClientTransactionHandler mConfigurationController.setConfiguration(data.config); mConfigurationController.setCompatConfiguration(data.config); mConfiguration = mConfigurationController.getConfiguration(); mCompatibilityInfo = data.compatInfo; mProfiler = new Profiler(); String agent = null; Loading Loading @@ -6569,7 +6562,9 @@ public final class ActivityThread extends ClientTransactionHandler } final boolean isSdkSandbox = data.sdkSandboxClientAppPackage != null; data.info = getPackageInfoNoCheck(data.appInfo, data.compatInfo, isSdkSandbox); data.info = getPackageInfo(data.appInfo, mCompatibilityInfo, null /* baseLoader */, false /* securityViolation */, true /* includeCode */, false /* registerPackage */, isSdkSandbox); if (isSdkSandbox) { data.info.setSdkSandboxStorage(data.sdkSandboxClientAppVolumeUuid, data.sdkSandboxClientAppPackage); Loading Loading @@ -6844,7 +6839,7 @@ public final class ActivityThread extends ClientTransactionHandler private void handleInstrumentWithoutRestart(AppBindData data) { try { data.compatInfo = CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO; data.info = getPackageInfoNoCheck(data.appInfo, data.compatInfo); data.info = getPackageInfoNoCheck(data.appInfo); mInstrumentingWithoutRestart = true; final InstrumentationInfo ii = prepareInstrumentation(data); final ContextImpl appContext = Loading
core/java/android/app/ClientTransactionHandler.java +1 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import android.app.servertransaction.PendingTransactionActions; import android.app.servertransaction.TransactionExecutor; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.res.CompatibilityInfo; import android.content.res.Configuration; import android.os.IBinder; import android.util.MergedConfiguration; Loading Loading @@ -180,8 +179,7 @@ public abstract class ClientTransactionHandler { PendingTransactionActions pendingActions, ActivityOptions activityOptions); /** Get package info. */ public abstract LoadedApk getPackageInfoNoCheck(ApplicationInfo ai, CompatibilityInfo compatInfo); public abstract LoadedApk getPackageInfoNoCheck(ApplicationInfo ai); /** Deliver app configuration change notification. */ public abstract void handleConfigurationChanged(Configuration config); Loading
core/java/android/app/IApplicationThread.aidl +2 −3 Original line number Diff line number Diff line Loading @@ -102,10 +102,9 @@ oneway interface IApplicationThread { void scheduleLowMemory(); void profilerControl(boolean start, in ProfilerInfo profilerInfo, int profileType); void setSchedulingGroup(int group); void scheduleCreateBackupAgent(in ApplicationInfo app, in CompatibilityInfo compatInfo, void scheduleCreateBackupAgent(in ApplicationInfo app, int backupMode, int userId, int operationType); void scheduleDestroyBackupAgent(in ApplicationInfo app, in CompatibilityInfo compatInfo, int userId); void scheduleDestroyBackupAgent(in ApplicationInfo app, int userId); void scheduleOnNewActivityOptions(IBinder token, in Bundle options); void scheduleSuicide(); void dispatchPackageBroadcast(int cmd, in String[] packages); Loading
core/java/android/app/servertransaction/LaunchActivityItem.java +6 −13 Original line number Diff line number Diff line Loading @@ -30,7 +30,6 @@ import android.app.ResultInfo; import android.compat.annotation.UnsupportedAppUsage; import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.res.CompatibilityInfo; import android.content.res.Configuration; import android.os.BaseBundle; import android.os.Bundle; Loading Loading @@ -58,7 +57,6 @@ public class LaunchActivityItem extends ClientTransactionItem { private ActivityInfo mInfo; private Configuration mCurConfig; private Configuration mOverrideConfig; private CompatibilityInfo mCompatInfo; private String mReferrer; private IVoiceInteractor mVoiceInteractor; private int mProcState; Loading Loading @@ -94,7 +92,7 @@ public class LaunchActivityItem extends ClientTransactionItem { PendingTransactionActions pendingActions) { Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "activityStart"); ActivityClientRecord r = new ActivityClientRecord(token, mIntent, mIdent, mInfo, mOverrideConfig, mCompatInfo, mReferrer, mVoiceInteractor, mState, mPersistentState, mOverrideConfig, mReferrer, mVoiceInteractor, mState, mPersistentState, mPendingResults, mPendingNewIntents, mActivityOptions, mIsForward, mProfilerInfo, client, mAssistToken, mShareableActivityToken, mLaunchedFromBubble, mTaskFragmentToken); Loading @@ -115,7 +113,7 @@ public class LaunchActivityItem extends ClientTransactionItem { /** Obtain an instance initialized with provided params. */ public static LaunchActivityItem obtain(Intent intent, int ident, ActivityInfo info, Configuration curConfig, Configuration overrideConfig, CompatibilityInfo compatInfo, Configuration curConfig, Configuration overrideConfig, String referrer, IVoiceInteractor voiceInteractor, int procState, Bundle state, PersistableBundle persistentState, List<ResultInfo> pendingResults, List<ReferrerIntent> pendingNewIntents, ActivityOptions activityOptions, Loading @@ -126,7 +124,7 @@ public class LaunchActivityItem extends ClientTransactionItem { if (instance == null) { instance = new LaunchActivityItem(); } setValues(instance, intent, ident, info, curConfig, overrideConfig, compatInfo, referrer, setValues(instance, intent, ident, info, curConfig, overrideConfig, referrer, voiceInteractor, procState, state, persistentState, pendingResults, pendingNewIntents, activityOptions, isForward, profilerInfo, assistToken, activityClientController, shareableActivityToken, Loading @@ -137,7 +135,7 @@ public class LaunchActivityItem extends ClientTransactionItem { @Override public void recycle() { setValues(this, null, 0, null, null, null, null, null, null, 0, null, null, null, null, setValues(this, null, 0, null, null, null, null, null, 0, null, null, null, null, null, false, null, null, null, null, false, null); ObjectPool.recycle(this); } Loading @@ -153,7 +151,6 @@ public class LaunchActivityItem extends ClientTransactionItem { dest.writeTypedObject(mInfo, flags); dest.writeTypedObject(mCurConfig, flags); dest.writeTypedObject(mOverrideConfig, flags); dest.writeTypedObject(mCompatInfo, flags); dest.writeString(mReferrer); dest.writeStrongInterface(mVoiceInteractor); dest.writeInt(mProcState); Loading @@ -175,8 +172,7 @@ public class LaunchActivityItem extends ClientTransactionItem { private LaunchActivityItem(Parcel in) { setValues(this, in.readTypedObject(Intent.CREATOR), in.readInt(), in.readTypedObject(ActivityInfo.CREATOR), in.readTypedObject(Configuration.CREATOR), in.readTypedObject(Configuration.CREATOR), in.readTypedObject(CompatibilityInfo.CREATOR), in.readString(), in.readTypedObject(Configuration.CREATOR), in.readString(), IVoiceInteractor.Stub.asInterface(in.readStrongBinder()), in.readInt(), in.readBundle(getClass().getClassLoader()), in.readPersistableBundle(getClass().getClassLoader()), Loading Loading @@ -216,7 +212,6 @@ public class LaunchActivityItem extends ClientTransactionItem { return intentsEqual && mIdent == other.mIdent && activityInfoEqual(other.mInfo) && Objects.equals(mCurConfig, other.mCurConfig) && Objects.equals(mOverrideConfig, other.mOverrideConfig) && Objects.equals(mCompatInfo, other.mCompatInfo) && Objects.equals(mReferrer, other.mReferrer) && mProcState == other.mProcState && areBundlesEqualRoughly(mState, other.mState) && areBundlesEqualRoughly(mPersistentState, other.mPersistentState) Loading @@ -237,7 +232,6 @@ public class LaunchActivityItem extends ClientTransactionItem { result = 31 * result + mIdent; result = 31 * result + Objects.hashCode(mCurConfig); result = 31 * result + Objects.hashCode(mOverrideConfig); result = 31 * result + Objects.hashCode(mCompatInfo); result = 31 * result + Objects.hashCode(mReferrer); result = 31 * result + Objects.hashCode(mProcState); result = 31 * result + getRoughBundleHashCode(mState); Loading Loading @@ -292,7 +286,7 @@ public class LaunchActivityItem extends ClientTransactionItem { // Using the same method to set and clear values to make sure we don't forget anything private static void setValues(LaunchActivityItem instance, Intent intent, int ident, ActivityInfo info, Configuration curConfig, Configuration overrideConfig, CompatibilityInfo compatInfo, String referrer, IVoiceInteractor voiceInteractor, String referrer, IVoiceInteractor voiceInteractor, int procState, Bundle state, PersistableBundle persistentState, List<ResultInfo> pendingResults, List<ReferrerIntent> pendingNewIntents, ActivityOptions activityOptions, boolean isForward, ProfilerInfo profilerInfo, Loading @@ -303,7 +297,6 @@ public class LaunchActivityItem extends ClientTransactionItem { instance.mInfo = info; instance.mCurConfig = curConfig; instance.mOverrideConfig = overrideConfig; instance.mCompatInfo = compatInfo; instance.mReferrer = referrer; instance.mVoiceInteractor = voiceInteractor; instance.mProcState = procState; Loading
core/tests/coretests/src/android/app/servertransaction/ObjectPoolTests.java +1 −3 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ import android.app.servertransaction.TestUtils.LaunchActivityItemBuilder; import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; import android.content.res.CompatibilityInfo; import android.content.res.Configuration; import android.os.Binder; import android.os.Bundle; Loading Loading @@ -140,7 +139,6 @@ public class ObjectPoolTests { activityInfo.name = "name"; Configuration overrideConfig = new Configuration(); overrideConfig.assetsSeq = 5; CompatibilityInfo compat = CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO; String referrer = "referrer"; int procState = 4; Bundle bundle = new Bundle(); Loading @@ -152,7 +150,7 @@ public class ObjectPoolTests { Supplier<LaunchActivityItem> itemSupplier = () -> new LaunchActivityItemBuilder() .setIntent(intent).setIdent(ident).setInfo(activityInfo).setCurConfig(config()) .setOverrideConfig(overrideConfig).setCompatInfo(compat).setReferrer(referrer) .setOverrideConfig(overrideConfig).setReferrer(referrer) .setProcState(procState).setState(bundle).setPersistentState(persistableBundle) .setPendingResults(resultInfoList()).setPendingNewIntents(referrerIntentList()) .setIsForward(true).setAssistToken(assistToken) Loading