From 46ef0579dddd6480306fa58553a6e3180aedf9c7 Mon Sep 17 00:00:00 2001 From: Adam Powell Date: Wed, 4 May 2016 16:29:53 -0700 Subject: [PATCH] Have the Resolver/Chooser activities handle resize config changes Both of these activities do additional work and look janky when rebuilding for a config change, especially in the presence of multiwindow. As neither of them use layouts or other resources that vary based on configuration, mark them as handling the relevant config changes. Bug 27171954 Change-Id: I38df1d875bcb063d72316b586c4d3f8074c4fad9 --- core/res/AndroidManifest.xml | 1 + .../com/android/server/pm/PackageManagerService.java | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index d7bc54d3ee485..a73a14d840b53 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -3090,6 +3090,7 @@ android:excludeFromRecents="true" android:documentLaunchMode="never" android:relinquishTaskIdentity="true" + android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden" android:process=":ui"> diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index b7f83628c8e7a..463caff9c7c7c 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -7836,9 +7836,16 @@ public class PackageManagerService extends IPackageManager.Stub { mResolveActivity.launchMode = ActivityInfo.LAUNCH_MULTIPLE; mResolveActivity.documentLaunchMode = ActivityInfo.DOCUMENT_LAUNCH_NEVER; mResolveActivity.flags = ActivityInfo.FLAG_EXCLUDE_FROM_RECENTS; - mResolveActivity.theme = R.style.Theme_Holo_Dialog_Alert; + mResolveActivity.theme = R.style.Theme_Material_Dialog_Alert; mResolveActivity.exported = true; mResolveActivity.enabled = true; + mResolveActivity.resizeMode = ActivityInfo.RESIZE_MODE_RESIZEABLE; + mResolveActivity.configChanges = ActivityInfo.CONFIG_SCREEN_SIZE + | ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE + | ActivityInfo.CONFIG_SCREEN_LAYOUT + | ActivityInfo.CONFIG_ORIENTATION + | ActivityInfo.CONFIG_KEYBOARD + | ActivityInfo.CONFIG_KEYBOARD_HIDDEN; mResolveInfo.activityInfo = mResolveActivity; mResolveInfo.priority = 0; mResolveInfo.preferredOrder = 0;