Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 45d3fc74 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Screen capture: New screenshot source for screen capture UI" into main

parents 71526cbc 05a31b9d
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -841,7 +841,8 @@ public interface WindowManager extends ViewManager {
            ScreenshotSource.SCREENSHOT_OVERVIEW,
            ScreenshotSource.SCREENSHOT_ACCESSIBILITY_ACTIONS,
            ScreenshotSource.SCREENSHOT_OTHER,
            ScreenshotSource.SCREENSHOT_VENDOR_GESTURE})
            ScreenshotSource.SCREENSHOT_VENDOR_GESTURE,
            ScreenshotSource.SCREENSHOT_SCREEN_CAPTURE_UI})
    @interface ScreenshotSource {
        int SCREENSHOT_GLOBAL_ACTIONS = 0;
        int SCREENSHOT_KEY_CHORD = 1;
@@ -850,6 +851,7 @@ public interface WindowManager extends ViewManager {
        int SCREENSHOT_ACCESSIBILITY_ACTIONS = 4;
        int SCREENSHOT_OTHER = 5;
        int SCREENSHOT_VENDOR_GESTURE = 6;
        int SCREENSHOT_SCREEN_CAPTURE_UI = 7;
    }

    /**
+2 −4
Original line number Diff line number Diff line
@@ -44,8 +44,7 @@ constructor(
        val request =
            ScreenshotRequest.Builder(
                    WindowManager.TAKE_SCREENSHOT_FULLSCREEN,
                    // TODO(b/425755530) create and use a new screenshot source for large screen
                    WindowManager.ScreenshotSource.SCREENSHOT_OTHER,
                    WindowManager.ScreenshotSource.SCREENSHOT_SCREEN_CAPTURE_UI,
                )
                .setDisplayId(displayId)
                .build()
@@ -61,8 +60,7 @@ constructor(
        val request =
            ScreenshotRequest.Builder(
                    WindowManager.TAKE_SCREENSHOT_PROVIDED_IMAGE,
                    // TODO(b/425755530) create and use a new screenshot source for large screen
                    WindowManager.ScreenshotSource.SCREENSHOT_OTHER,
                    WindowManager.ScreenshotSource.SCREENSHOT_SCREEN_CAPTURE_UI,
                )
                .setBitmap(bitmap)
                .setBoundsOnScreen(regionBounds)
+5 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import static android.view.WindowManager.ScreenshotSource.SCREENSHOT_KEY_CHORD;
import static android.view.WindowManager.ScreenshotSource.SCREENSHOT_KEY_OTHER;
import static android.view.WindowManager.ScreenshotSource.SCREENSHOT_OTHER;
import static android.view.WindowManager.ScreenshotSource.SCREENSHOT_OVERVIEW;
import static android.view.WindowManager.ScreenshotSource.SCREENSHOT_SCREEN_CAPTURE_UI;
import static android.view.WindowManager.ScreenshotSource.SCREENSHOT_VENDOR_GESTURE;

import com.android.internal.logging.UiEvent;
@@ -42,6 +43,8 @@ public enum ScreenshotEvent implements UiEventLogger.UiEventEnum {
    SCREENSHOT_REQUESTED_VENDOR_GESTURE(638),
    @UiEvent(doc = "screenshot requested (other)")
    SCREENSHOT_REQUESTED_OTHER(305),
    @UiEvent(doc = "screenshot requested from the screen capture UI")
    SCREENSHOT_REQUESTED_SCREEN_CAPTURE_UI(2397),
    @UiEvent(doc = "screenshot was saved")
    SCREENSHOT_SAVED(306),
    @UiEvent(doc = "screenshot failed to save")
@@ -120,6 +123,8 @@ public enum ScreenshotEvent implements UiEventLogger.UiEventEnum {
                return ScreenshotEvent.SCREENSHOT_REQUESTED_ACCESSIBILITY_ACTIONS;
            case SCREENSHOT_VENDOR_GESTURE:
                return ScreenshotEvent.SCREENSHOT_REQUESTED_VENDOR_GESTURE;
            case SCREENSHOT_SCREEN_CAPTURE_UI:
                return ScreenshotEvent.SCREENSHOT_REQUESTED_SCREEN_CAPTURE_UI;
            case SCREENSHOT_OTHER:
            default:
                return ScreenshotEvent.SCREENSHOT_REQUESTED_OTHER;
+2 −2
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ class ScreenshotInteractorTest : SysuiTestCase() {
            val capturedRequest = screenshotRequestCaptor.value
            assertThat(capturedRequest.type).isEqualTo(WindowManager.TAKE_SCREENSHOT_FULLSCREEN)
            assertThat(capturedRequest.source)
                .isEqualTo(WindowManager.ScreenshotSource.SCREENSHOT_OTHER)
                .isEqualTo(WindowManager.ScreenshotSource.SCREENSHOT_SCREEN_CAPTURE_UI)
            assertThat(capturedRequest.displayId).isEqualTo(DEFAULT_DISPLAY)
        }
    }
@@ -94,7 +94,7 @@ class ScreenshotInteractorTest : SysuiTestCase() {
            val capturedRequest = screenshotRequestCaptor.value
            assertThat(capturedRequest.type).isEqualTo(WindowManager.TAKE_SCREENSHOT_PROVIDED_IMAGE)
            assertThat(capturedRequest.source)
                .isEqualTo(WindowManager.ScreenshotSource.SCREENSHOT_OTHER)
                .isEqualTo(WindowManager.ScreenshotSource.SCREENSHOT_SCREEN_CAPTURE_UI)
            assertThat(capturedRequest.bitmap).isEqualTo(mockBitmap)
            assertThat(capturedRequest.boundsInScreen).isEqualTo(bounds)
            assertThat(capturedRequest.displayId).isEqualTo(DEFAULT_DISPLAY)