Loading core/java/android/app/ActivityThread.java +15 −9 Original line number Diff line number Diff line Loading @@ -717,7 +717,7 @@ public final class ActivityThread extends ClientTransactionHandler } activity.mMainThread.handleActivityConfigurationChanged( ActivityClientRecord.this, overrideConfig, newDisplayId, false /* alwaysReportChange */); mActivityWindowInfo, false /* alwaysReportChange */); } @Override Loading Loading @@ -6659,11 +6659,12 @@ public final class ActivityThread extends ClientTransactionHandler /** * Sets the supplied {@code overrideConfig} as pending for the {@code token}. Calling * this method prevents any calls to * {@link #handleActivityConfigurationChanged(ActivityClientRecord, Configuration, int)} from * processing any configurations older than {@code overrideConfig}. * {@link #handleActivityConfigurationChanged(ActivityClientRecord, Configuration, int, * ActivityWindowInfo)} from processing any configurations older than {@code overrideConfig}. */ @Override public void updatePendingActivityConfiguration(IBinder token, Configuration overrideConfig) { public void updatePendingActivityConfiguration(@NonNull IBinder token, @NonNull Configuration overrideConfig) { synchronized (mPendingOverrideConfigs) { final Configuration pendingOverrideConfig = mPendingOverrideConfigs.get(token); if (pendingOverrideConfig != null Loading @@ -6680,9 +6681,10 @@ public final class ActivityThread extends ClientTransactionHandler } @Override public void handleActivityConfigurationChanged(ActivityClientRecord r, @NonNull Configuration overrideConfig, int displayId) { handleActivityConfigurationChanged(r, overrideConfig, displayId, public void handleActivityConfigurationChanged(@NonNull ActivityClientRecord r, @NonNull Configuration overrideConfig, int displayId, @NonNull ActivityWindowInfo activityWindowInfo) { handleActivityConfigurationChanged(r, overrideConfig, displayId, activityWindowInfo, // This is the only place that uses alwaysReportChange=true. The entry point should // be from ActivityConfigurationChangeItem or MoveToDisplayItem, so the server side // has confirmed the activity should handle the configuration instead of relaunch. Loading @@ -6700,9 +6702,11 @@ public final class ActivityThread extends ClientTransactionHandler * @param overrideConfig Activity override config. * @param displayId Id of the display where activity was moved to, -1 if there was no move and * value didn't change. * @param activityWindowInfo the window info of the given activity. */ void handleActivityConfigurationChanged(ActivityClientRecord r, @NonNull Configuration overrideConfig, int displayId, boolean alwaysReportChange) { void handleActivityConfigurationChanged(@NonNull ActivityClientRecord r, @NonNull Configuration overrideConfig, int displayId, @NonNull ActivityWindowInfo activityWindowInfo, boolean alwaysReportChange) { synchronized (mPendingOverrideConfigs) { final Configuration pendingOverrideConfig = mPendingOverrideConfigs.get(r.token); if (overrideConfig.isOtherSeqNewer(pendingOverrideConfig)) { Loading Loading @@ -6735,6 +6739,8 @@ public final class ActivityThread extends ClientTransactionHandler // Perform updates. r.overrideConfig = overrideConfig; r.mActivityWindowInfo = activityWindowInfo; // TODO(b/287582673): notify on ActivityWindowInfo change final ViewRootImpl viewRoot = r.activity.mDecor != null ? r.activity.mDecor.getViewRootImpl() : null; Loading core/java/android/app/ClientTransactionHandler.java +3 −2 Original line number Diff line number Diff line Loading @@ -167,11 +167,12 @@ public abstract class ClientTransactionHandler { /** Set pending activity configuration in case it will be updated by other transaction item. */ public abstract void updatePendingActivityConfiguration(@NonNull IBinder token, Configuration overrideConfig); @NonNull Configuration overrideConfig); /** Deliver activity (override) configuration change. */ public abstract void handleActivityConfigurationChanged(@NonNull ActivityClientRecord r, Configuration overrideConfig, int displayId); @NonNull Configuration overrideConfig, int displayId, @NonNull ActivityWindowInfo activityWindowInfo); /** Deliver {@link android.window.WindowContextInfo} change. */ public abstract void handleWindowContextInfoChanged(@NonNull IBinder clientToken, Loading core/java/android/app/servertransaction/ActivityConfigurationChangeItem.java +5 −2 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.content.res.Configuration; import android.os.IBinder; import android.os.Parcel; import android.os.Trace; import android.window.ActivityWindowInfo; import java.util.Objects; Loading @@ -49,11 +50,13 @@ public class ActivityConfigurationChangeItem extends ActivityTransactionItem { } @Override public void execute(@NonNull ClientTransactionHandler client, @Nullable ActivityClientRecord r, public void execute(@NonNull ClientTransactionHandler client, @NonNull ActivityClientRecord r, @NonNull PendingTransactionActions pendingActions) { // TODO(lifecycler): detect if PIP or multi-window mode changed and report it here. Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "activityConfigChanged"); client.handleActivityConfigurationChanged(r, mConfiguration, INVALID_DISPLAY); client.handleActivityConfigurationChanged(r, mConfiguration, INVALID_DISPLAY, // TODO(b/287582673): add ActivityWindowInfo new ActivityWindowInfo()); Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER); } Loading core/java/android/app/servertransaction/MoveToDisplayItem.java +14 −4 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.content.res.Configuration; import android.os.IBinder; import android.os.Parcel; import android.os.Trace; import android.window.ActivityWindowInfo; import java.util.Objects; Loading @@ -39,6 +40,7 @@ public class MoveToDisplayItem extends ActivityTransactionItem { private int mTargetDisplayId; private Configuration mConfiguration; private ActivityWindowInfo mActivityWindowInfo; @Override public void preExecute(@NonNull ClientTransactionHandler client) { Loading @@ -52,7 +54,8 @@ public class MoveToDisplayItem extends ActivityTransactionItem { public void execute(@NonNull ClientTransactionHandler client, @NonNull ActivityClientRecord r, @NonNull PendingTransactionActions pendingActions) { Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "activityMovedToDisplay"); client.handleActivityConfigurationChanged(r, mConfiguration, mTargetDisplayId); client.handleActivityConfigurationChanged(r, mConfiguration, mTargetDisplayId, mActivityWindowInfo); Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER); } Loading @@ -69,7 +72,7 @@ public class MoveToDisplayItem extends ActivityTransactionItem { /** Obtain an instance initialized with provided params. */ @NonNull public static MoveToDisplayItem obtain(@NonNull IBinder activityToken, int targetDisplayId, @NonNull Configuration configuration) { @NonNull Configuration configuration, @NonNull ActivityWindowInfo activityWindowInfo) { MoveToDisplayItem instance = ObjectPool.obtain(MoveToDisplayItem.class); if (instance == null) { instance = new MoveToDisplayItem(); Loading @@ -77,6 +80,7 @@ public class MoveToDisplayItem extends ActivityTransactionItem { instance.setActivityToken(activityToken); instance.mTargetDisplayId = targetDisplayId; instance.mConfiguration = new Configuration(configuration); instance.mActivityWindowInfo = new ActivityWindowInfo(activityWindowInfo); return instance; } Loading @@ -86,6 +90,7 @@ public class MoveToDisplayItem extends ActivityTransactionItem { super.recycle(); mTargetDisplayId = 0; mConfiguration = null; mActivityWindowInfo = null; ObjectPool.recycle(this); } Loading @@ -97,6 +102,7 @@ public class MoveToDisplayItem extends ActivityTransactionItem { super.writeToParcel(dest, flags); dest.writeInt(mTargetDisplayId); dest.writeTypedObject(mConfiguration, flags); dest.writeTypedObject(mActivityWindowInfo, flags); } /** Read from Parcel. */ Loading @@ -104,6 +110,7 @@ public class MoveToDisplayItem extends ActivityTransactionItem { super(in); mTargetDisplayId = in.readInt(); mConfiguration = in.readTypedObject(Configuration.CREATOR); mActivityWindowInfo = in.readTypedObject(ActivityWindowInfo.CREATOR); } public static final @NonNull Creator<MoveToDisplayItem> CREATOR = new Creator<>() { Loading @@ -126,7 +133,8 @@ public class MoveToDisplayItem extends ActivityTransactionItem { } final MoveToDisplayItem other = (MoveToDisplayItem) o; return mTargetDisplayId == other.mTargetDisplayId && Objects.equals(mConfiguration, other.mConfiguration); && Objects.equals(mConfiguration, other.mConfiguration) && Objects.equals(mActivityWindowInfo, other.mActivityWindowInfo); } @Override Loading @@ -135,6 +143,7 @@ public class MoveToDisplayItem extends ActivityTransactionItem { result = 31 * result + super.hashCode(); result = 31 * result + mTargetDisplayId; result = 31 * result + mConfiguration.hashCode(); result = 31 * result + Objects.hashCode(mActivityWindowInfo); return result; } Loading @@ -142,6 +151,7 @@ public class MoveToDisplayItem extends ActivityTransactionItem { public String toString() { return "MoveToDisplayItem{" + super.toString() + ",targetDisplayId=" + mTargetDisplayId + ",configuration=" + mConfiguration + "}"; + ",configuration=" + mConfiguration + ",activityWindowInfo=" + mActivityWindowInfo + "}"; } } core/tests/coretests/src/android/app/activity/ActivityThreadTest.java +13 −9 Original line number Diff line number Diff line Loading @@ -395,11 +395,13 @@ public class ActivityThreadTest { olderConfig.seq = seq + 1; final ActivityClientRecord r = getActivityClientRecord(activity); activityThread.handleActivityConfigurationChanged(r, olderConfig, INVALID_DISPLAY); activityThread.handleActivityConfigurationChanged(r, olderConfig, INVALID_DISPLAY, new ActivityWindowInfo()); assertEquals(numOfConfig, activity.mNumOfConfigChanges); assertEquals(olderConfig.orientation, activity.mConfig.orientation); activityThread.handleActivityConfigurationChanged(r, newerConfig, INVALID_DISPLAY); activityThread.handleActivityConfigurationChanged(r, newerConfig, INVALID_DISPLAY, new ActivityWindowInfo()); assertEquals(numOfConfig + 1, activity.mNumOfConfigChanges); assertEquals(newerConfig.orientation, activity.mConfig.orientation); }); Loading @@ -417,7 +419,7 @@ public class ActivityThreadTest { config.orientation = ORIENTATION_PORTRAIT; activityThread.handleActivityConfigurationChanged(getActivityClientRecord(activity), config, INVALID_DISPLAY); config, INVALID_DISPLAY, new ActivityWindowInfo()); }); final IApplicationThread appThread = activityThread.getApplicationThread(); Loading Loading @@ -488,7 +490,7 @@ public class ActivityThreadTest { config.orientation = ORIENTATION_PORTRAIT; activityThread.handleActivityConfigurationChanged(getActivityClientRecord(activity), config, INVALID_DISPLAY); config, INVALID_DISPLAY, new ActivityWindowInfo()); }); final int numOfConfig = activity.mNumOfConfigChanges; Loading Loading @@ -618,7 +620,7 @@ public class ActivityThreadTest { activityThread.updatePendingActivityConfiguration(activity.getActivityToken(), newActivityConfig); activityThread.handleActivityConfigurationChanged(r, newActivityConfig, INVALID_DISPLAY); INVALID_DISPLAY, new ActivityWindowInfo()); assertEquals("Virtual display orientation must not change when activity" + " configuration orientation changes.", Loading Loading @@ -783,8 +785,8 @@ public class ActivityThreadTest { /** * Calls {@link ActivityThread#handleActivityConfigurationChanged(ActivityClientRecord, * Configuration, int)} to try to push activity configuration to the activity for the given * sequence number. * Configuration, int, ActivityWindowInfo)} to try to push activity configuration to the * activity for the given sequence number. * <p> * It uses orientation to push the configuration and it tries a different orientation if the * first attempt doesn't make through, to rule out the possibility that the previous Loading @@ -803,7 +805,8 @@ public class ActivityThreadTest { Configuration config = new Configuration(); config.orientation = ORIENTATION_PORTRAIT; config.seq = seq; activityThread.handleActivityConfigurationChanged(r, config, INVALID_DISPLAY); activityThread.handleActivityConfigurationChanged(r, config, INVALID_DISPLAY, new ActivityWindowInfo()); if (activity.mNumOfConfigChanges > numOfConfig) { return config.seq; Loading @@ -812,7 +815,8 @@ public class ActivityThreadTest { config = new Configuration(); config.orientation = ORIENTATION_LANDSCAPE; config.seq = seq + 1; activityThread.handleActivityConfigurationChanged(r, config, INVALID_DISPLAY); activityThread.handleActivityConfigurationChanged(r, config, INVALID_DISPLAY, new ActivityWindowInfo()); return config.seq; } Loading Loading
core/java/android/app/ActivityThread.java +15 −9 Original line number Diff line number Diff line Loading @@ -717,7 +717,7 @@ public final class ActivityThread extends ClientTransactionHandler } activity.mMainThread.handleActivityConfigurationChanged( ActivityClientRecord.this, overrideConfig, newDisplayId, false /* alwaysReportChange */); mActivityWindowInfo, false /* alwaysReportChange */); } @Override Loading Loading @@ -6659,11 +6659,12 @@ public final class ActivityThread extends ClientTransactionHandler /** * Sets the supplied {@code overrideConfig} as pending for the {@code token}. Calling * this method prevents any calls to * {@link #handleActivityConfigurationChanged(ActivityClientRecord, Configuration, int)} from * processing any configurations older than {@code overrideConfig}. * {@link #handleActivityConfigurationChanged(ActivityClientRecord, Configuration, int, * ActivityWindowInfo)} from processing any configurations older than {@code overrideConfig}. */ @Override public void updatePendingActivityConfiguration(IBinder token, Configuration overrideConfig) { public void updatePendingActivityConfiguration(@NonNull IBinder token, @NonNull Configuration overrideConfig) { synchronized (mPendingOverrideConfigs) { final Configuration pendingOverrideConfig = mPendingOverrideConfigs.get(token); if (pendingOverrideConfig != null Loading @@ -6680,9 +6681,10 @@ public final class ActivityThread extends ClientTransactionHandler } @Override public void handleActivityConfigurationChanged(ActivityClientRecord r, @NonNull Configuration overrideConfig, int displayId) { handleActivityConfigurationChanged(r, overrideConfig, displayId, public void handleActivityConfigurationChanged(@NonNull ActivityClientRecord r, @NonNull Configuration overrideConfig, int displayId, @NonNull ActivityWindowInfo activityWindowInfo) { handleActivityConfigurationChanged(r, overrideConfig, displayId, activityWindowInfo, // This is the only place that uses alwaysReportChange=true. The entry point should // be from ActivityConfigurationChangeItem or MoveToDisplayItem, so the server side // has confirmed the activity should handle the configuration instead of relaunch. Loading @@ -6700,9 +6702,11 @@ public final class ActivityThread extends ClientTransactionHandler * @param overrideConfig Activity override config. * @param displayId Id of the display where activity was moved to, -1 if there was no move and * value didn't change. * @param activityWindowInfo the window info of the given activity. */ void handleActivityConfigurationChanged(ActivityClientRecord r, @NonNull Configuration overrideConfig, int displayId, boolean alwaysReportChange) { void handleActivityConfigurationChanged(@NonNull ActivityClientRecord r, @NonNull Configuration overrideConfig, int displayId, @NonNull ActivityWindowInfo activityWindowInfo, boolean alwaysReportChange) { synchronized (mPendingOverrideConfigs) { final Configuration pendingOverrideConfig = mPendingOverrideConfigs.get(r.token); if (overrideConfig.isOtherSeqNewer(pendingOverrideConfig)) { Loading Loading @@ -6735,6 +6739,8 @@ public final class ActivityThread extends ClientTransactionHandler // Perform updates. r.overrideConfig = overrideConfig; r.mActivityWindowInfo = activityWindowInfo; // TODO(b/287582673): notify on ActivityWindowInfo change final ViewRootImpl viewRoot = r.activity.mDecor != null ? r.activity.mDecor.getViewRootImpl() : null; Loading
core/java/android/app/ClientTransactionHandler.java +3 −2 Original line number Diff line number Diff line Loading @@ -167,11 +167,12 @@ public abstract class ClientTransactionHandler { /** Set pending activity configuration in case it will be updated by other transaction item. */ public abstract void updatePendingActivityConfiguration(@NonNull IBinder token, Configuration overrideConfig); @NonNull Configuration overrideConfig); /** Deliver activity (override) configuration change. */ public abstract void handleActivityConfigurationChanged(@NonNull ActivityClientRecord r, Configuration overrideConfig, int displayId); @NonNull Configuration overrideConfig, int displayId, @NonNull ActivityWindowInfo activityWindowInfo); /** Deliver {@link android.window.WindowContextInfo} change. */ public abstract void handleWindowContextInfoChanged(@NonNull IBinder clientToken, Loading
core/java/android/app/servertransaction/ActivityConfigurationChangeItem.java +5 −2 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.content.res.Configuration; import android.os.IBinder; import android.os.Parcel; import android.os.Trace; import android.window.ActivityWindowInfo; import java.util.Objects; Loading @@ -49,11 +50,13 @@ public class ActivityConfigurationChangeItem extends ActivityTransactionItem { } @Override public void execute(@NonNull ClientTransactionHandler client, @Nullable ActivityClientRecord r, public void execute(@NonNull ClientTransactionHandler client, @NonNull ActivityClientRecord r, @NonNull PendingTransactionActions pendingActions) { // TODO(lifecycler): detect if PIP or multi-window mode changed and report it here. Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "activityConfigChanged"); client.handleActivityConfigurationChanged(r, mConfiguration, INVALID_DISPLAY); client.handleActivityConfigurationChanged(r, mConfiguration, INVALID_DISPLAY, // TODO(b/287582673): add ActivityWindowInfo new ActivityWindowInfo()); Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER); } Loading
core/java/android/app/servertransaction/MoveToDisplayItem.java +14 −4 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.content.res.Configuration; import android.os.IBinder; import android.os.Parcel; import android.os.Trace; import android.window.ActivityWindowInfo; import java.util.Objects; Loading @@ -39,6 +40,7 @@ public class MoveToDisplayItem extends ActivityTransactionItem { private int mTargetDisplayId; private Configuration mConfiguration; private ActivityWindowInfo mActivityWindowInfo; @Override public void preExecute(@NonNull ClientTransactionHandler client) { Loading @@ -52,7 +54,8 @@ public class MoveToDisplayItem extends ActivityTransactionItem { public void execute(@NonNull ClientTransactionHandler client, @NonNull ActivityClientRecord r, @NonNull PendingTransactionActions pendingActions) { Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "activityMovedToDisplay"); client.handleActivityConfigurationChanged(r, mConfiguration, mTargetDisplayId); client.handleActivityConfigurationChanged(r, mConfiguration, mTargetDisplayId, mActivityWindowInfo); Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER); } Loading @@ -69,7 +72,7 @@ public class MoveToDisplayItem extends ActivityTransactionItem { /** Obtain an instance initialized with provided params. */ @NonNull public static MoveToDisplayItem obtain(@NonNull IBinder activityToken, int targetDisplayId, @NonNull Configuration configuration) { @NonNull Configuration configuration, @NonNull ActivityWindowInfo activityWindowInfo) { MoveToDisplayItem instance = ObjectPool.obtain(MoveToDisplayItem.class); if (instance == null) { instance = new MoveToDisplayItem(); Loading @@ -77,6 +80,7 @@ public class MoveToDisplayItem extends ActivityTransactionItem { instance.setActivityToken(activityToken); instance.mTargetDisplayId = targetDisplayId; instance.mConfiguration = new Configuration(configuration); instance.mActivityWindowInfo = new ActivityWindowInfo(activityWindowInfo); return instance; } Loading @@ -86,6 +90,7 @@ public class MoveToDisplayItem extends ActivityTransactionItem { super.recycle(); mTargetDisplayId = 0; mConfiguration = null; mActivityWindowInfo = null; ObjectPool.recycle(this); } Loading @@ -97,6 +102,7 @@ public class MoveToDisplayItem extends ActivityTransactionItem { super.writeToParcel(dest, flags); dest.writeInt(mTargetDisplayId); dest.writeTypedObject(mConfiguration, flags); dest.writeTypedObject(mActivityWindowInfo, flags); } /** Read from Parcel. */ Loading @@ -104,6 +110,7 @@ public class MoveToDisplayItem extends ActivityTransactionItem { super(in); mTargetDisplayId = in.readInt(); mConfiguration = in.readTypedObject(Configuration.CREATOR); mActivityWindowInfo = in.readTypedObject(ActivityWindowInfo.CREATOR); } public static final @NonNull Creator<MoveToDisplayItem> CREATOR = new Creator<>() { Loading @@ -126,7 +133,8 @@ public class MoveToDisplayItem extends ActivityTransactionItem { } final MoveToDisplayItem other = (MoveToDisplayItem) o; return mTargetDisplayId == other.mTargetDisplayId && Objects.equals(mConfiguration, other.mConfiguration); && Objects.equals(mConfiguration, other.mConfiguration) && Objects.equals(mActivityWindowInfo, other.mActivityWindowInfo); } @Override Loading @@ -135,6 +143,7 @@ public class MoveToDisplayItem extends ActivityTransactionItem { result = 31 * result + super.hashCode(); result = 31 * result + mTargetDisplayId; result = 31 * result + mConfiguration.hashCode(); result = 31 * result + Objects.hashCode(mActivityWindowInfo); return result; } Loading @@ -142,6 +151,7 @@ public class MoveToDisplayItem extends ActivityTransactionItem { public String toString() { return "MoveToDisplayItem{" + super.toString() + ",targetDisplayId=" + mTargetDisplayId + ",configuration=" + mConfiguration + "}"; + ",configuration=" + mConfiguration + ",activityWindowInfo=" + mActivityWindowInfo + "}"; } }
core/tests/coretests/src/android/app/activity/ActivityThreadTest.java +13 −9 Original line number Diff line number Diff line Loading @@ -395,11 +395,13 @@ public class ActivityThreadTest { olderConfig.seq = seq + 1; final ActivityClientRecord r = getActivityClientRecord(activity); activityThread.handleActivityConfigurationChanged(r, olderConfig, INVALID_DISPLAY); activityThread.handleActivityConfigurationChanged(r, olderConfig, INVALID_DISPLAY, new ActivityWindowInfo()); assertEquals(numOfConfig, activity.mNumOfConfigChanges); assertEquals(olderConfig.orientation, activity.mConfig.orientation); activityThread.handleActivityConfigurationChanged(r, newerConfig, INVALID_DISPLAY); activityThread.handleActivityConfigurationChanged(r, newerConfig, INVALID_DISPLAY, new ActivityWindowInfo()); assertEquals(numOfConfig + 1, activity.mNumOfConfigChanges); assertEquals(newerConfig.orientation, activity.mConfig.orientation); }); Loading @@ -417,7 +419,7 @@ public class ActivityThreadTest { config.orientation = ORIENTATION_PORTRAIT; activityThread.handleActivityConfigurationChanged(getActivityClientRecord(activity), config, INVALID_DISPLAY); config, INVALID_DISPLAY, new ActivityWindowInfo()); }); final IApplicationThread appThread = activityThread.getApplicationThread(); Loading Loading @@ -488,7 +490,7 @@ public class ActivityThreadTest { config.orientation = ORIENTATION_PORTRAIT; activityThread.handleActivityConfigurationChanged(getActivityClientRecord(activity), config, INVALID_DISPLAY); config, INVALID_DISPLAY, new ActivityWindowInfo()); }); final int numOfConfig = activity.mNumOfConfigChanges; Loading Loading @@ -618,7 +620,7 @@ public class ActivityThreadTest { activityThread.updatePendingActivityConfiguration(activity.getActivityToken(), newActivityConfig); activityThread.handleActivityConfigurationChanged(r, newActivityConfig, INVALID_DISPLAY); INVALID_DISPLAY, new ActivityWindowInfo()); assertEquals("Virtual display orientation must not change when activity" + " configuration orientation changes.", Loading Loading @@ -783,8 +785,8 @@ public class ActivityThreadTest { /** * Calls {@link ActivityThread#handleActivityConfigurationChanged(ActivityClientRecord, * Configuration, int)} to try to push activity configuration to the activity for the given * sequence number. * Configuration, int, ActivityWindowInfo)} to try to push activity configuration to the * activity for the given sequence number. * <p> * It uses orientation to push the configuration and it tries a different orientation if the * first attempt doesn't make through, to rule out the possibility that the previous Loading @@ -803,7 +805,8 @@ public class ActivityThreadTest { Configuration config = new Configuration(); config.orientation = ORIENTATION_PORTRAIT; config.seq = seq; activityThread.handleActivityConfigurationChanged(r, config, INVALID_DISPLAY); activityThread.handleActivityConfigurationChanged(r, config, INVALID_DISPLAY, new ActivityWindowInfo()); if (activity.mNumOfConfigChanges > numOfConfig) { return config.seq; Loading @@ -812,7 +815,8 @@ public class ActivityThreadTest { config = new Configuration(); config.orientation = ORIENTATION_LANDSCAPE; config.seq = seq + 1; activityThread.handleActivityConfigurationChanged(r, config, INVALID_DISPLAY); activityThread.handleActivityConfigurationChanged(r, config, INVALID_DISPLAY, new ActivityWindowInfo()); return config.seq; } Loading