diff options
| author | 2022-07-28 01:32:42 +0000 | |
|---|---|---|
| committer | 2022-07-28 01:32:42 +0000 | |
| commit | 30f15ae1cae47dfc71df21ab6d24bb824ece4477 (patch) | |
| tree | 6304fe223363d4003afe72137974d2b2eb15f73c | |
| parent | 318d8a5353226196616b394d2fa42c7478314d50 (diff) | |
| parent | 76422f53a9d0f4474af7ba0d28b28e099f6edcdc (diff) | |
Merge "Reduce sending unnecessary CompatibilityInfo"
13 files changed, 42 insertions, 74 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 2a83cbddd3dc..b383d7daafd0 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -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; @@ -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, @@ -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; @@ -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; @@ -804,7 +803,6 @@ public final class ActivityThread extends ClientTransactionHandler static final class CreateBackupAgentData { ApplicationInfo appInfo; - CompatibilityInfo compatInfo; int backupMode; int userId; int operationType; @@ -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; @@ -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); @@ -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); } @@ -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) @@ -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); } @@ -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(); @@ -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"); @@ -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); @@ -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); @@ -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); @@ -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; @@ -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); @@ -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 = diff --git a/core/java/android/app/ClientTransactionHandler.java b/core/java/android/app/ClientTransactionHandler.java index 65e6ab7a2137..389da2d094d5 100644 --- a/core/java/android/app/ClientTransactionHandler.java +++ b/core/java/android/app/ClientTransactionHandler.java @@ -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; @@ -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); diff --git a/core/java/android/app/IApplicationThread.aidl b/core/java/android/app/IApplicationThread.aidl index 75ad363a2668..843b6846d053 100644 --- a/core/java/android/app/IApplicationThread.aidl +++ b/core/java/android/app/IApplicationThread.aidl @@ -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); diff --git a/core/java/android/app/servertransaction/LaunchActivityItem.java b/core/java/android/app/servertransaction/LaunchActivityItem.java index 076dbef9ebc4..03d6e27d6a8d 100644 --- a/core/java/android/app/servertransaction/LaunchActivityItem.java +++ b/core/java/android/app/servertransaction/LaunchActivityItem.java @@ -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; @@ -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; @@ -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); @@ -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, @@ -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, @@ -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); } @@ -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); @@ -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()), @@ -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) @@ -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); @@ -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, @@ -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; diff --git a/core/tests/coretests/src/android/app/servertransaction/ObjectPoolTests.java b/core/tests/coretests/src/android/app/servertransaction/ObjectPoolTests.java index 50639be57f22..0a5a4d5a9adb 100644 --- a/core/tests/coretests/src/android/app/servertransaction/ObjectPoolTests.java +++ b/core/tests/coretests/src/android/app/servertransaction/ObjectPoolTests.java @@ -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; @@ -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(); @@ -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) diff --git a/core/tests/coretests/src/android/app/servertransaction/TestUtils.java b/core/tests/coretests/src/android/app/servertransaction/TestUtils.java index 26d9628ba55b..2cd890cd9d18 100644 --- a/core/tests/coretests/src/android/app/servertransaction/TestUtils.java +++ b/core/tests/coretests/src/android/app/servertransaction/TestUtils.java @@ -23,7 +23,6 @@ import android.app.ProfilerInfo; import android.app.ResultInfo; import android.content.Intent; import android.content.pm.ActivityInfo; -import android.content.res.CompatibilityInfo; import android.content.res.Configuration; import android.os.Bundle; import android.os.IBinder; @@ -96,7 +95,6 @@ class TestUtils { private ActivityInfo mInfo; private Configuration mCurConfig; private Configuration mOverrideConfig; - private CompatibilityInfo mCompatInfo; private String mReferrer; private IVoiceInteractor mVoiceInteractor; private int mProcState; @@ -137,11 +135,6 @@ class TestUtils { return this; } - LaunchActivityItemBuilder setCompatInfo(CompatibilityInfo compatInfo) { - mCompatInfo = compatInfo; - return this; - } - LaunchActivityItemBuilder setReferrer(String referrer) { mReferrer = referrer; return this; @@ -214,7 +207,7 @@ class TestUtils { LaunchActivityItem build() { return LaunchActivityItem.obtain(mIntent, mIdent, mInfo, - mCurConfig, mOverrideConfig, mCompatInfo, mReferrer, mVoiceInteractor, + mCurConfig, mOverrideConfig, mReferrer, mVoiceInteractor, mProcState, mState, mPersistentState, mPendingResults, mPendingNewIntents, mActivityOptions, mIsForward, mProfilerInfo, mAssistToken, null /* activityClientController */, mShareableActivityToken, diff --git a/core/tests/coretests/src/android/app/servertransaction/TransactionParcelTests.java b/core/tests/coretests/src/android/app/servertransaction/TransactionParcelTests.java index 0eca0a8cb1a7..e9bbdbee576c 100644 --- a/core/tests/coretests/src/android/app/servertransaction/TransactionParcelTests.java +++ b/core/tests/coretests/src/android/app/servertransaction/TransactionParcelTests.java @@ -187,7 +187,6 @@ public class TransactionParcelTests { 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(); @@ -198,7 +197,7 @@ public class TransactionParcelTests { LaunchActivityItem item = 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()).setActivityOptions(ActivityOptions.makeBasic()) .setPendingNewIntents(referrerIntentList()).setIsForward(true) @@ -489,13 +488,13 @@ public class TransactionParcelTests { @Override public void scheduleCreateBackupAgent(ApplicationInfo applicationInfo, - CompatibilityInfo compatibilityInfo, int i, int userId, int operatioType) + int i, int userId, int operatioType) throws RemoteException { } @Override public void scheduleDestroyBackupAgent(ApplicationInfo applicationInfo, - CompatibilityInfo compatibilityInfo, int userId) throws RemoteException { + int userId) throws RemoteException { } @Override diff --git a/core/tests/mockingcoretests/src/android/app/activity/ActivityThreadClientTest.java b/core/tests/mockingcoretests/src/android/app/activity/ActivityThreadClientTest.java index 47f70ddf2d42..f4a6f025074e 100644 --- a/core/tests/mockingcoretests/src/android/app/activity/ActivityThreadClientTest.java +++ b/core/tests/mockingcoretests/src/android/app/activity/ActivityThreadClientTest.java @@ -54,7 +54,6 @@ import android.content.ComponentName; 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.IBinder; import android.os.UserHandle; @@ -339,8 +338,7 @@ public class ActivityThreadClientTest { doNothing().when(packageInfo).updateApplicationInfo(any(), any()); return new ActivityClientRecord(mock(IBinder.class), Intent.makeMainActivity(component), - 0 /* ident */, info, new Configuration(), - CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null /* referrer */, + 0 /* ident */, info, new Configuration(), null /* referrer */, null /* voiceInteractor */, null /* state */, null /* persistentState */, null /* pendingResults */, null /* pendingNewIntents */, null /* activityOptions */, true /* isForward */, null /* profilerInfo */, diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java index c5b5fb941e05..002aa773d85a 100644 --- a/services/core/java/com/android/server/am/ActiveServices.java +++ b/services/core/java/com/android/server/am/ActiveServices.java @@ -4413,7 +4413,7 @@ public final class ActiveServices { mAm.notifyPackageUse(r.serviceInfo.packageName, PackageManager.NOTIFY_PACKAGE_USE_SERVICE); thread.scheduleCreateService(r, r.serviceInfo, - mAm.compatibilityInfoForPackage(r.serviceInfo.applicationInfo), + null /* compatInfo (unused but need to keep method signature) */, app.mState.getReportedProcState()); r.postNotification(); created = true; diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 9f0aeec40bd7..5729a06830cf 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -4980,7 +4980,6 @@ public class ActivityManagerService extends IActivityManager.Stub PackageManager.NOTIFY_PACKAGE_USE_BACKUP); try { thread.scheduleCreateBackupAgent(backupTarget.appInfo, - compatibilityInfoForPackage(backupTarget.appInfo), backupTarget.backupMode, backupTarget.userId, backupTarget.operationType); } catch (Exception e) { Slog.wtf(TAG, "Exception thrown creating backup agent in " + app, e); @@ -12900,8 +12899,7 @@ public class ActivityManagerService extends IActivityManager.Stub if (thread != null) { if (DEBUG_BACKUP) Slog.v(TAG_BACKUP, "Agent proc already running: " + proc); try { - thread.scheduleCreateBackupAgent(app, - compatibilityInfoForPackage(app), backupMode, targetUserId, + thread.scheduleCreateBackupAgent(app, backupMode, targetUserId, operationType); } catch (RemoteException e) { // Will time out on the backup manager side @@ -13027,8 +13025,7 @@ public class ActivityManagerService extends IActivityManager.Stub final IApplicationThread thread = proc.getThread(); if (thread != null) { try { - thread.scheduleDestroyBackupAgent(appInfo, - compatibilityInfoForPackage(appInfo), userId); + thread.scheduleDestroyBackupAgent(appInfo, userId); } catch (Exception e) { Slog.e(TAG, "Exception when unbinding backup agent:"); e.printStackTrace(); diff --git a/services/core/java/com/android/server/am/BroadcastQueue.java b/services/core/java/com/android/server/am/BroadcastQueue.java index 0cd1bfa3740a..6d520c3c6be8 100644 --- a/services/core/java/com/android/server/am/BroadcastQueue.java +++ b/services/core/java/com/android/server/am/BroadcastQueue.java @@ -361,7 +361,7 @@ public final class BroadcastQueue { mService.notifyPackageUse(r.intent.getComponent().getPackageName(), PackageManager.NOTIFY_PACKAGE_USE_BROADCAST_RECEIVER); thread.scheduleReceiver(new Intent(r.intent), r.curReceiver, - mService.compatibilityInfoForPackage(r.curReceiver.applicationInfo), + null /* compatInfo (unused but need to keep method signature) */, r.resultCode, r.resultData, r.resultExtras, r.ordered, r.userId, app.mState.getReportedProcState()); if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST, diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index 69bbff3a4db1..42e0533f178f 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -272,7 +272,6 @@ import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; import android.content.pm.ConstrainDisplayApisConfig; import android.content.pm.PackageManager; -import android.content.res.CompatibilityInfo; import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Bitmap; @@ -478,7 +477,6 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A private int mLastReportedDisplayId; boolean mLastReportedMultiWindowMode; boolean mLastReportedPictureInPictureMode; - CompatibilityInfo compat;// last used compatibility mode ActivityRecord resultTo; // who started this entry, so will get our reply final String resultWho; // additional identifier for use by resultTo. final int requestCode; // code given by requester (resultTo) @@ -1022,7 +1020,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A if (rootVoiceInteraction) { pw.print(prefix); pw.print("rootVoiceInteraction="); pw.println(rootVoiceInteraction); } - pw.print(prefix); pw.print("compat="); pw.print(compat); + pw.print(prefix); pw.print("compat="); + pw.print(mAtmService.compatibilityInfoForPackageLocked(info.applicationInfo)); pw.print(" labelRes=0x"); pw.print(Integer.toHexString(labelRes)); pw.print(" icon=0x"); pw.print(Integer.toHexString(icon)); pw.print(" theme=0x"); pw.println(Integer.toHexString(theme)); diff --git a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java index 84740683f6aa..345ec117b03a 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java +++ b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java @@ -875,7 +875,6 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { r.intent.getComponent().getPackageName(), NOTIFY_PACKAGE_USE_ACTIVITY); r.forceNewConfig = false; mService.getAppWarningsLocked().onStartActivity(r); - r.compat = mService.compatibilityInfoForPackageLocked(r.info.applicationInfo); // 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 @@ -905,7 +904,7 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { // TODO: Have this take the merged configuration instead of separate global // and override configs. mergedConfiguration.getGlobalConfiguration(), - mergedConfiguration.getOverrideConfiguration(), r.compat, + mergedConfiguration.getOverrideConfiguration(), r.getFilteredReferrer(r.launchedFromPackage), task.voiceInteractor, proc.getReportedProcState(), r.getSavedState(), r.getPersistentSavedState(), results, newIntents, r.takeOptions(), isTransitionForward, |