Merge "PSS: Make sure shade is dismissed when starting the app chooser" into udc-qpr-dev am: 7717431bd3 am: 4ce54cfe24
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24482233
Change-Id: Ib4ecf7726e2cdd16c3b6f760617665d540abcd64
Signed-off-by: Automerger Merge Worker <[email protected]>
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java b/packages/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java
index 72352e3..cbd9a34 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java
@@ -54,6 +54,7 @@
import com.android.systemui.flags.Flags;
import com.android.systemui.mediaprojection.devicepolicy.ScreenCaptureDevicePolicyResolver;
import com.android.systemui.mediaprojection.devicepolicy.ScreenCaptureDisabledDialog;
+import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.screenrecord.MediaProjectionPermissionDialog;
import com.android.systemui.screenrecord.ScreenShareOption;
import com.android.systemui.statusbar.phone.SystemUIDialog;
@@ -71,6 +72,7 @@
private final FeatureFlags mFeatureFlags;
private final Lazy<ScreenCaptureDevicePolicyResolver> mScreenCaptureDevicePolicyResolver;
+ private final ActivityStarter mActivityStarter;
private String mPackageName;
private int mUid;
@@ -86,8 +88,10 @@
@Inject
public MediaProjectionPermissionActivity(FeatureFlags featureFlags,
- Lazy<ScreenCaptureDevicePolicyResolver> screenCaptureDevicePolicyResolver) {
+ Lazy<ScreenCaptureDevicePolicyResolver> screenCaptureDevicePolicyResolver,
+ ActivityStarter activityStarter) {
mFeatureFlags = featureFlags;
+ mActivityStarter = activityStarter;
mScreenCaptureDevicePolicyResolver = screenCaptureDevicePolicyResolver;
}
@@ -306,8 +310,16 @@
// Start activity from the current foreground user to avoid creating a separate
// SystemUI process without access to recent tasks because it won't have
// WM Shell running inside.
+ // It is also important to make sure the shade is dismissed, otherwise users won't
+ // see the app selector.
mUserSelectingTask = true;
- startActivityAsUser(intent, UserHandle.of(ActivityManager.getCurrentUser()));
+ mActivityStarter.startActivity(
+ intent,
+ /* dismissShade= */ true,
+ /* animationController= */ null,
+ /* showOverLockscreenWhenLocked= */ false,
+ UserHandle.of(ActivityManager.getCurrentUser())
+ );
}
} catch (RemoteException e) {
Log.e(TAG, "Error granting projection permission", e);