From ebe46d7f8a0e71f3efd8060edc2ebb1f1e35ca9f Mon Sep 17 00:00:00 2001 From: Alejandro Nijamkin Date: Mon, 12 Dec 2022 12:37:26 -0800 Subject: [PATCH] Attaches source for camera launch when unlocked. If the double tap power button gesture is detected while the device is unlocked, we are using a different code path to start the camera app. In this code path, we were not actually attaching the source to identify ourselves as the double tap power button System UI gesture. This CL updates that path to include the source. Bug: 262193771 Test: manually verified that we are attaching the extra (though it doesn't fix the camera bug) Change-Id: If5844a2ceb165303240265f0c0955f94fc8076a0 --- .../com/android/systemui/camera/CameraGestureHelper.kt | 8 +------- .../src/com/android/systemui/camera/CameraIntents.kt | 1 + .../phone/CentralSurfacesCommandQueueCallbacks.java | 1 + .../android/systemui/camera/CameraGestureHelperTest.kt | 2 +- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/camera/CameraGestureHelper.kt b/packages/SystemUI/src/com/android/systemui/camera/CameraGestureHelper.kt index e2ef2477c8362..58d40d349decb 100644 --- a/packages/SystemUI/src/com/android/systemui/camera/CameraGestureHelper.kt +++ b/packages/SystemUI/src/com/android/systemui/camera/CameraGestureHelper.kt @@ -28,7 +28,6 @@ import android.os.RemoteException import android.os.UserHandle import android.util.Log import android.view.WindowManager -import androidx.annotation.VisibleForTesting import com.android.keyguard.KeyguardUpdateMonitor import com.android.systemui.ActivityIntentHelper import com.android.systemui.dagger.qualifiers.Main @@ -83,7 +82,7 @@ class CameraGestureHelper @Inject constructor( */ fun launchCamera(source: Int) { val intent: Intent = getStartCameraIntent() - intent.putExtra(EXTRA_CAMERA_LAUNCH_SOURCE, source) + intent.putExtra(CameraIntents.EXTRA_LAUNCH_SOURCE, source) val wouldLaunchResolverActivity = activityIntentHelper.wouldLaunchResolverActivity( intent, KeyguardUpdateMonitor.getCurrentUser() ) @@ -149,9 +148,4 @@ class CameraGestureHelper @Inject constructor( cameraIntents.getInsecureCameraIntent() } } - - companion object { - @VisibleForTesting - const val EXTRA_CAMERA_LAUNCH_SOURCE = "com.android.systemui.camera_launch_source" - } } diff --git a/packages/SystemUI/src/com/android/systemui/camera/CameraIntents.kt b/packages/SystemUI/src/com/android/systemui/camera/CameraIntents.kt index f8a20023e47ac..867faf9843fe5 100644 --- a/packages/SystemUI/src/com/android/systemui/camera/CameraIntents.kt +++ b/packages/SystemUI/src/com/android/systemui/camera/CameraIntents.kt @@ -29,6 +29,7 @@ class CameraIntents { MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE val DEFAULT_INSECURE_CAMERA_INTENT_ACTION = MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA + const val EXTRA_LAUNCH_SOURCE = "com.android.systemui.camera_launch_source" @JvmStatic fun getOverrideCameraPackage(context: Context): String? { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesCommandQueueCallbacks.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesCommandQueueCallbacks.java index 72ada0e17a01d..2dad8e053ee1d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesCommandQueueCallbacks.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesCommandQueueCallbacks.java @@ -371,6 +371,7 @@ public class CentralSurfacesCommandQueueCallbacks implements CommandQueue.Callba if (!mKeyguardStateController.isShowing()) { final Intent cameraIntent = CameraIntents.getInsecureCameraIntent(mContext); + cameraIntent.putExtra(CameraIntents.EXTRA_LAUNCH_SOURCE, source); mCentralSurfaces.startActivityDismissingKeyguard(cameraIntent, false /* onlyProvisioned */, true /* dismissShade */, true /* disallowEnterPictureInPictureWhileLaunching */, null /* callback */, 0, diff --git a/packages/SystemUI/tests/src/com/android/systemui/camera/CameraGestureHelperTest.kt b/packages/SystemUI/tests/src/com/android/systemui/camera/CameraGestureHelperTest.kt index ca94ea8267827..262b4b889f84d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/camera/CameraGestureHelperTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/camera/CameraGestureHelperTest.kt @@ -301,7 +301,7 @@ class CameraGestureHelperTest : SysuiTestCase() { val intent = intentCaptor.value assertThat(CameraIntents.isSecureCameraIntent(intent)).isEqualTo(isSecure) - assertThat(intent.getIntExtra(CameraGestureHelper.EXTRA_CAMERA_LAUNCH_SOURCE, -1)) + assertThat(intent.getIntExtra(CameraIntents.EXTRA_LAUNCH_SOURCE, -1)) .isEqualTo(source) }