From 26231bf7027208d761a0ae262ade95d95a67eb08 Mon Sep 17 00:00:00 2001 From: ronish Date: Mon, 7 Mar 2022 14:25:06 +0000 Subject: [PATCH] Use ActivityService from lock screen Use ActivityService to avoid Camera API errors while accessing the camera while the device is still locked Bug: 221385197, 221385117 Test: Manually Change-Id: I0d2800340cabe2e153b0d07c21f52938112c21ca --- .../statusbar/phone/KeyguardBottomAreaView.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java index 541aeab22a803..dc1af362ec234 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java @@ -32,7 +32,6 @@ import android.app.ActivityManager; import android.app.ActivityOptions; import android.app.ActivityTaskManager; import android.app.admin.DevicePolicyManager; -import android.content.ActivityNotFoundException; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; @@ -1109,8 +1108,13 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL Intent intent = mQRCodeScannerController.getIntent(); if (intent != null) { try { - mContext.startActivity(intent); - } catch (ActivityNotFoundException e) { + ActivityTaskManager.getService().startActivityAsUser( + null, getContext().getBasePackageName(), + getContext().getAttributionTag(), intent, + intent.resolveTypeIfNeeded(getContext().getContentResolver()), + null, null, 0, Intent.FLAG_ACTIVITY_NEW_TASK, null, null, + UserHandle.CURRENT.getIdentifier()); + } catch (RemoteException e) { // This is unexpected. Nonetheless, just log the error and prevent the UI from // crashing Log.e(TAG, "Unexpected intent: " + intent