From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mark Renouf Date: Thu, 20 Jun 2024 16:37:42 -0400 Subject: [PATCH] Prevent Sharing when FRP enforcement is in effect ADB command to trigger sharing: ``` adb shell 'am start -a android.intent.action.CHOOSER --eu android.intent.extra.INTENT "intent:#Intent;action=android.intent.action.SEND;type=text/plain;S.android.intent.extra.TEXT=Shared%20text;end"' ``` Bug: 327645387 Test: manual; trigger FRP; attempt to open share sheet using adb (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:1c7101154d42f804d52d65643a7e79dfee22295a) Merged-In: I1db78ab74babe71b516f601be35cf476b5e43271 Change-Id: I1db78ab74babe71b516f601be35cf476b5e43271 --- core/java/com/android/internal/app/ChooserActivity.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java index 9d95a6b346b3..c741029143ec 100644 --- a/core/java/com/android/internal/app/ChooserActivity.java +++ b/core/java/com/android/internal/app/ChooserActivity.java @@ -600,6 +600,14 @@ public class ChooserActivity extends ResolverActivity implements @Override protected void onCreate(Bundle savedInstanceState) { + if (Settings.Secure.getIntForUser(getContentResolver(), + Settings.Secure.SECURE_FRP_MODE, 0, + getUserId()) == 1) { + Log.e(TAG, "Sharing disabled due to active FRP lock."); + super.onCreate(savedInstanceState); + finish(); + return; + } final long intentReceivedTime = System.currentTimeMillis(); getChooserActivityLogger().logSharesheetTriggered(); // This is the only place this value is being set. Effectively final.