diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index b0929b5d4f644..6d9d6a5799bdb 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -554,9 +554,6 @@ public final class ActivityThread extends ClientTransactionHandler boolean hideForNow; Configuration createdConfig; Configuration overrideConfig; - // TODO(b/263402465): pass deviceId directly in LaunchActivityItem#execute - // The deviceId assigned by the server when this activity was first started. - int mDeviceId; // Used for consolidating configs before sending on to Activity. private Configuration tmpConfig = new Configuration(); // Callback used for updating activity override config and camera compat control state. @@ -619,7 +616,7 @@ public final class ActivityThread extends ClientTransactionHandler } public ActivityClientRecord(IBinder token, Intent intent, int ident, - ActivityInfo info, Configuration overrideConfig, int deviceId, + ActivityInfo info, Configuration overrideConfig, String referrer, IVoiceInteractor voiceInteractor, Bundle state, PersistableBundle persistentState, List pendingResults, List pendingNewIntents, ActivityOptions activityOptions, @@ -641,7 +638,6 @@ public final class ActivityThread extends ClientTransactionHandler this.isForward = isForward; this.profilerInfo = profilerInfo; this.overrideConfig = overrideConfig; - this.mDeviceId = deviceId; this.packageInfo = client.getPackageInfoNoCheck(activityInfo.applicationInfo); mActivityOptions = activityOptions; mLaunchedFromBubble = launchedFromBubble; @@ -3872,7 +3868,7 @@ public final class ActivityThread extends ClientTransactionHandler */ @Override public Activity handleLaunchActivity(ActivityClientRecord r, - PendingTransactionActions pendingActions, Intent customIntent) { + PendingTransactionActions pendingActions, int deviceId, Intent customIntent) { // If we are getting ready to gc after going to the background, well // we are back active so skip it. unscheduleGcIdler(); @@ -3885,7 +3881,7 @@ public final class ActivityThread extends ClientTransactionHandler // Make sure we are running with the most recent config. mConfigurationController.handleConfigurationChanged(null, null); - updateDeviceIdForNonUIContexts(r.mDeviceId); + updateDeviceIdForNonUIContexts(deviceId); if (localLOGV) Slog.v( TAG, "Handling launch of " + r); @@ -5942,7 +5938,7 @@ public final class ActivityThread extends ClientTransactionHandler r.startsNotResumed = startsNotResumed; r.overrideConfig = overrideConfig; - handleLaunchActivity(r, pendingActions, customIntent); + handleLaunchActivity(r, pendingActions, mLastReportedDeviceId, customIntent); } @Override diff --git a/core/java/android/app/ClientTransactionHandler.java b/core/java/android/app/ClientTransactionHandler.java index 6bb38e7294b0d..49fb794a0a25e 100644 --- a/core/java/android/app/ClientTransactionHandler.java +++ b/core/java/android/app/ClientTransactionHandler.java @@ -188,7 +188,7 @@ public abstract class ClientTransactionHandler { /** Perform activity launch. */ public abstract Activity handleLaunchActivity(@NonNull ActivityClientRecord r, - PendingTransactionActions pendingActions, Intent customIntent); + PendingTransactionActions pendingActions, int deviceId, Intent customIntent); /** Perform activity start. */ public abstract void handleStartActivity(@NonNull ActivityClientRecord r, diff --git a/core/java/android/app/servertransaction/LaunchActivityItem.java b/core/java/android/app/servertransaction/LaunchActivityItem.java index 3d0aa25400683..5833f1b872548 100644 --- a/core/java/android/app/servertransaction/LaunchActivityItem.java +++ b/core/java/android/app/servertransaction/LaunchActivityItem.java @@ -96,11 +96,11 @@ public class LaunchActivityItem extends ClientTransactionItem { PendingTransactionActions pendingActions) { Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "activityStart"); ActivityClientRecord r = new ActivityClientRecord(token, mIntent, mIdent, mInfo, - mOverrideConfig, mDeviceId, mReferrer, mVoiceInteractor, mState, mPersistentState, + mOverrideConfig, mReferrer, mVoiceInteractor, mState, mPersistentState, mPendingResults, mPendingNewIntents, mActivityOptions, mIsForward, mProfilerInfo, client, mAssistToken, mShareableActivityToken, mLaunchedFromBubble, mTaskFragmentToken); - client.handleLaunchActivity(r, pendingActions, null /* customIntent */); + client.handleLaunchActivity(r, pendingActions, mDeviceId, null /* customIntent */); Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER); } diff --git a/core/java/android/app/servertransaction/TransactionExecutor.java b/core/java/android/app/servertransaction/TransactionExecutor.java index c8f7d100a3985..bfab61f3ae90f 100644 --- a/core/java/android/app/servertransaction/TransactionExecutor.java +++ b/core/java/android/app/servertransaction/TransactionExecutor.java @@ -32,6 +32,7 @@ import static android.app.servertransaction.TransactionExecutorHelper.transactio import android.app.ActivityThread.ActivityClientRecord; import android.app.ClientTransactionHandler; +import android.content.Context; import android.os.IBinder; import android.util.IntArray; import android.util.Slog; @@ -218,7 +219,7 @@ public class TransactionExecutor { switch (state) { case ON_CREATE: mTransactionHandler.handleLaunchActivity(r, mPendingActions, - null /* customIntent */); + Context.DEVICE_ID_INVALID, null /* customIntent */); break; case ON_START: mTransactionHandler.handleStartActivity(r, mPendingActions, diff --git a/core/tests/mockingcoretests/src/android/app/activity/ActivityThreadClientTest.java b/core/tests/mockingcoretests/src/android/app/activity/ActivityThreadClientTest.java index 539eb6253f4d0..be2c27de637c1 100644 --- a/core/tests/mockingcoretests/src/android/app/activity/ActivityThreadClientTest.java +++ b/core/tests/mockingcoretests/src/android/app/activity/ActivityThreadClientTest.java @@ -51,6 +51,7 @@ import android.app.ActivityThread.ActivityClientRecord; import android.app.LoadedApk; import android.app.servertransaction.PendingTransactionActions; import android.content.ComponentName; +import android.content.Context; import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; @@ -293,7 +294,7 @@ public class ActivityThreadClientTest { private Activity launchActivity(ActivityClientRecord r) { return mThread.handleLaunchActivity(r, null /* pendingActions */, - null /* customIntent */); + Context.DEVICE_ID_DEFAULT, null /* customIntent */); } private void startActivity(ActivityClientRecord r) { @@ -347,7 +348,7 @@ public class ActivityThreadClientTest { doNothing().when(packageInfo).updateApplicationInfo(any(), any()); return new ActivityClientRecord(mock(IBinder.class), Intent.makeMainActivity(component), - 0 /* ident */, info, new Configuration(), 0 /*deviceId */, 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/wm/WindowProcessController.java b/services/core/java/com/android/server/wm/WindowProcessController.java index d1d0a4f15f4d5..aa10291a03649 100644 --- a/services/core/java/com/android/server/wm/WindowProcessController.java +++ b/services/core/java/com/android/server/wm/WindowProcessController.java @@ -1432,8 +1432,7 @@ public class WindowProcessController extends ConfigurationContainer