diff options
author | Kiran S <krns@google.com> | 2024-05-13 05:49:06 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-06-18 03:25:56 +0000 |
commit | c86a26c21dba024c8ac98fd70d543a39e2a15dbb (patch) | |
tree | 44d382107490b36be9de089080357f375c54c888 | |
parent | b1b6c7d609cb490bdecb00adec31443fc14eab02 (diff) |
Restrict USB poups while setup is in progress
Test: Cherry pick of http://ag/27094197
Bug: 294105066
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:2ce2e54a040342373e401f9c2e70035ede4e63ad)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:71042ac086b3470f4086c5c76fc2b6c4e3dff263)
Merged-In: I7d54534696fd73f3b94c5b4250142eed9341c5d8
Change-Id: I7d54534696fd73f3b94c5b4250142eed9341c5d8
-rw-r--r-- | services/usb/java/com/android/server/usb/UsbProfileGroupSettingsManager.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/services/usb/java/com/android/server/usb/UsbProfileGroupSettingsManager.java b/services/usb/java/com/android/server/usb/UsbProfileGroupSettingsManager.java index f91666081e82..47f565606a1d 100644 --- a/services/usb/java/com/android/server/usb/UsbProfileGroupSettingsManager.java +++ b/services/usb/java/com/android/server/usb/UsbProfileGroupSettingsManager.java @@ -16,6 +16,8 @@ package com.android.server.usb; +import static android.provider.Settings.Secure.USER_SETUP_COMPLETE; + import static com.android.internal.app.IntentForwarderActivity.FORWARD_INTENT_TO_MANAGED_PROFILE; import android.annotation.NonNull; @@ -42,6 +44,7 @@ import android.os.AsyncTask; import android.os.Environment; import android.os.UserHandle; import android.os.UserManager; +import android.provider.Settings; import android.service.usb.UsbProfileGroupSettingsManagerProto; import android.service.usb.UsbSettingsAccessoryPreferenceProto; import android.service.usb.UsbSettingsDevicePreferenceProto; @@ -914,10 +917,28 @@ class UsbProfileGroupSettingsManager { return; } + if (shouldRestrictOverlayActivities()) { + return; + } + // Start activity with registered intent resolveActivity(intent, matches, defaultActivity, device, null); } + private boolean shouldRestrictOverlayActivities() { + if (Settings.Secure.getIntForUser( + mContext.getContentResolver(), + USER_SETUP_COMPLETE, + /* defaultValue= */ 1, + UserHandle.CURRENT.getIdentifier()) + == 0) { + Slog.d(TAG, "restricting usb overlay activities as setup is not complete"); + return true; + } + + return false; + } + public void deviceAttachedForFixedHandler(UsbDevice device, ComponentName component) { final Intent intent = createDeviceAttachedIntent(device); |