From 0643ddefed2714e636dab61d760a5ceba4c92baf Mon Sep 17 00:00:00 2001 From: Matt Casey Date: Thu, 9 Feb 2023 15:59:35 +0000 Subject: [PATCH] Split SCREENSHOT_METADATA into two different flags. The screenshot metadata work consisted of two things: 1. Flag-guarded refactors to support metadata handling. 2. The actual fetching and sending of the metadata URL itself. The second part we've chosen to leave in teamfood for an extended time, but some other features were expecting to launch along with the flag-guarded refactor, so we need to flag and launch that separately. No behavior change in this CL, just splitting one teamfood flag into two teamfood flags. Bug: 268484562 Bug: 268484915 Test: atest TakeScreenshotServiceTest Change-Id: I4654b86206f77a589c1f95565ddb0622c0ce5849 --- .../src/com/android/systemui/flags/Flags.kt | 5 +++++ .../screenshot/ScreenshotController.java | 3 ++- .../screenshot/TakeScreenshotService.java | 2 +- .../screenshot/TakeScreenshotServiceTest.kt | 18 +++++++++--------- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt index 007892819b299..4d89c6cb9a9fa 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt +++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt @@ -515,6 +515,11 @@ object Flags { @JvmField val SCREENSHOT_DETECTION = unreleasedFlag(1303, "screenshot_detection", teamfood = true) + // TODO(b/268484562): Tracking bug + @JvmField + val SCREENSHOT_METADATA_REFACTOR = + unreleasedFlag(1305, "screenshot_metadata_refactor", teamfood = true) + // 1400 - columbus // TODO(b/254512756): Tracking Bug val QUICK_TAP_IN_PCC = releasedFlag(1400, "quick_tap_in_pcc") diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java index 72a8e23fbff51..8721d71897f7d 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java @@ -99,6 +99,7 @@ import com.android.systemui.broadcast.BroadcastSender; import com.android.systemui.clipboardoverlay.ClipboardOverlayController; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.flags.FeatureFlags; +import com.android.systemui.flags.Flags; import com.android.systemui.screenshot.ScreenshotController.SavedImageData.ActionTransition; import com.android.systemui.screenshot.TakeScreenshotService.RequestCallback; import com.android.systemui.settings.DisplayTracker; @@ -480,7 +481,7 @@ public class ScreenshotController { } mScreenshotView.setScreenshot(screenshot); - if (screenshot.getTaskId() >= 0) { + if (mFlags.isEnabled(Flags.SCREENSHOT_METADATA) && screenshot.getTaskId() >= 0) { mAssistContentRequester.requestAssistContent(screenshot.getTaskId(), new AssistContentRequester.Callback() { @Override diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java b/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java index 8035d19e3b8f7..111278a002f9d 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java @@ -225,7 +225,7 @@ public class TakeScreenshotService extends Service { return; } - if (mFeatureFlags.isEnabled(Flags.SCREENSHOT_METADATA)) { + if (mFeatureFlags.isEnabled(Flags.SCREENSHOT_METADATA_REFACTOR)) { Log.d(TAG, "Processing screenshot data"); ScreenshotData screenshotData = ScreenshotData.fromRequest(request); try { diff --git a/packages/SystemUI/tests/src/com/android/systemui/screenshot/TakeScreenshotServiceTest.kt b/packages/SystemUI/tests/src/com/android/systemui/screenshot/TakeScreenshotServiceTest.kt index 1fa2ace955b02..c40c287df9e85 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/screenshot/TakeScreenshotServiceTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/screenshot/TakeScreenshotServiceTest.kt @@ -38,7 +38,7 @@ import com.android.internal.logging.testing.UiEventLoggerFake import com.android.internal.util.ScreenshotRequest import com.android.systemui.SysuiTestCase import com.android.systemui.flags.FakeFeatureFlags -import com.android.systemui.flags.Flags.SCREENSHOT_METADATA +import com.android.systemui.flags.Flags.SCREENSHOT_METADATA_REFACTOR import com.android.systemui.flags.Flags.SCREENSHOT_WORK_PROFILE_POLICY import com.android.systemui.screenshot.ScreenshotEvent.SCREENSHOT_CAPTURE_FAILED import com.android.systemui.screenshot.ScreenshotEvent.SCREENSHOT_REQUESTED_KEY_OTHER @@ -126,7 +126,7 @@ class TakeScreenshotServiceTest : SysuiTestCase() { // Flipped in selected test cases flags.set(SCREENSHOT_WORK_PROFILE_POLICY, false) - flags.set(SCREENSHOT_METADATA, false) + flags.set(SCREENSHOT_METADATA_REFACTOR, false) service.attach( mContext, @@ -183,7 +183,7 @@ class TakeScreenshotServiceTest : SysuiTestCase() { @Test fun takeScreenshotFullscreen_screenshotDataEnabled() { - flags.set(SCREENSHOT_METADATA, true) + flags.set(SCREENSHOT_METADATA_REFACTOR, true) val request = ScreenshotRequest.Builder(TAKE_SCREENSHOT_FULLSCREEN, SCREENSHOT_KEY_OTHER) @@ -260,7 +260,7 @@ class TakeScreenshotServiceTest : SysuiTestCase() { @Test fun takeScreenshotFullscreen_userLocked() { - flags.set(SCREENSHOT_METADATA, true) + flags.set(SCREENSHOT_METADATA_REFACTOR, true) whenever(userManager.isUserUnlocked).thenReturn(false) @@ -302,7 +302,7 @@ class TakeScreenshotServiceTest : SysuiTestCase() { @Test fun takeScreenshotFullscreen_screenCaptureDisabled_allUsers() { - flags.set(SCREENSHOT_METADATA, true) + flags.set(SCREENSHOT_METADATA_REFACTOR, true) whenever(devicePolicyManager.getScreenCaptureDisabled(isNull(), eq(UserHandle.USER_ALL))) .thenReturn(true) @@ -353,7 +353,7 @@ class TakeScreenshotServiceTest : SysuiTestCase() { @Test fun takeScreenshotFullscreen_userLocked_metadataDisabled() { - flags.set(SCREENSHOT_METADATA, false) + flags.set(SCREENSHOT_METADATA_REFACTOR, false) whenever(userManager.isUserUnlocked).thenReturn(false) val request = @@ -394,7 +394,7 @@ class TakeScreenshotServiceTest : SysuiTestCase() { @Test fun takeScreenshotFullscreen_screenCaptureDisabled_allUsers_metadataDisabled() { - flags.set(SCREENSHOT_METADATA, false) + flags.set(SCREENSHOT_METADATA_REFACTOR, false) whenever(devicePolicyManager.getScreenCaptureDisabled(isNull(), eq(UserHandle.USER_ALL))) .thenReturn(true) @@ -445,7 +445,7 @@ class TakeScreenshotServiceTest : SysuiTestCase() { @Test fun takeScreenshot_workProfile_nullBitmap_metadataDisabled() { - flags.set(SCREENSHOT_METADATA, false) + flags.set(SCREENSHOT_METADATA_REFACTOR, false) val request = ScreenshotRequest.Builder(TAKE_SCREENSHOT_FULLSCREEN, SCREENSHOT_KEY_OTHER) @@ -487,7 +487,7 @@ class TakeScreenshotServiceTest : SysuiTestCase() { } @Test fun takeScreenshot_workProfile_nullBitmap() { - flags.set(SCREENSHOT_METADATA, true) + flags.set(SCREENSHOT_METADATA_REFACTOR, true) val request = ScreenshotRequest.Builder(TAKE_SCREENSHOT_FULLSCREEN, SCREENSHOT_KEY_OTHER)