Use getLaunchedFromPackage instead of getCallingPackage
Ensure that MediaProjectionPermissionActivity is doing proper
attribution and validation of permissions before showing.
Bug: 373581993
Test: presubmit
Flag: com.android.systemui.media_projection_request_attribution_fix
Change-Id: Ibcc14090ce38a0fac21a394d861d044b9669a8a0
diff --git a/packages/SystemUI/aconfig/systemui.aconfig b/packages/SystemUI/aconfig/systemui.aconfig
index c79c044..540115d 100644
--- a/packages/SystemUI/aconfig/systemui.aconfig
+++ b/packages/SystemUI/aconfig/systemui.aconfig
@@ -1487,3 +1487,13 @@
description: "Enables notes role qs tile which opens default notes role app in app bubbles"
bug: "357863750"
}
+
+flag {
+ name: "media_projection_request_attribution_fix"
+ namespace: "systemui"
+ description: "Ensure MediaProjection consent requests are properly attributed"
+ bug: "373581993"
+ metadata {
+ purpose: PURPOSE_BUGFIX
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionActivity.java b/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionActivity.java
index c3729c0..212da9f 100644
--- a/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionActivity.java
@@ -122,8 +122,11 @@
final Intent launchingIntent = getIntent();
mReviewGrantedConsentRequired = launchingIntent.getBooleanExtra(
EXTRA_USER_REVIEW_GRANTED_CONSENT, false);
-
- mPackageName = getCallingPackage();
+ if (com.android.systemui.Flags.mediaProjectionRequestAttributionFix()) {
+ mPackageName = getLaunchedFromPackage();
+ } else {
+ mPackageName = getCallingPackage();
+ }
// This activity is launched directly by an app, or system server. System server provides
// the package name through the intent if so.