diff options
| author | Jacky Kao <jackykao@google.com> | 2020-03-06 13:41:39 +0800 |
|---|---|---|
| committer | Jacky Kao <jackykao@google.com> | 2020-03-12 07:56:57 +0800 |
| commit | 0ad1f827334afe2d1544c0886993b11fef16a973 (patch) | |
| tree | 59e2bcb5112870e2451a1b89b2c4854d4ce55859 /core/java/android | |
| parent | 9a967db5750d62581c02038126e84dceacd240e6 (diff) | |
Throw IllegalArgumentException for takeScreenshot()
Throw IllegalArgumentException for non default display
since it’s unsupported
Bug: 150865445
Test: a11y CTS & unit tests
Change-Id: Iac0602e444d23b28ea05d29dd4605c7a821b641a
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/accessibilityservice/AccessibilityService.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/core/java/android/accessibilityservice/AccessibilityService.java b/core/java/android/accessibilityservice/AccessibilityService.java index 3a3eea966a86..e7036bb7f374 100644 --- a/core/java/android/accessibilityservice/AccessibilityService.java +++ b/core/java/android/accessibilityservice/AccessibilityService.java @@ -48,6 +48,7 @@ import android.util.Slog; import android.util.SparseArray; import android.view.Display; import android.view.KeyEvent; +import android.view.SurfaceControl; import android.view.SurfaceView; import android.view.WindowManager; import android.view.WindowManagerImpl; @@ -1937,8 +1938,8 @@ public abstract class AccessibilityService extends Service { * to declare the capability to take screenshot by setting the * {@link android.R.styleable#AccessibilityService_canTakeScreenshot} * property in its meta-data. For details refer to {@link #SERVICE_META_DATA}. - * Besides, This API is only supported for default display now - * {@link Display#DEFAULT_DISPLAY}. + * This API only will support {@link Display#DEFAULT_DISPLAY} until {@link SurfaceControl} + * supports non-default displays. * </p> * * @param displayId The logic display id, must be {@link Display#DEFAULT_DISPLAY} for @@ -1948,11 +1949,17 @@ public abstract class AccessibilityService extends Service { * * @return {@code true} if the taking screenshot accepted, {@code false} if too little time * has elapsed since the last screenshot, invalid display or internal errors. + * @throws IllegalArgumentException if displayId is not {@link Display#DEFAULT_DISPLAY}. */ public boolean takeScreenshot(int displayId, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<ScreenshotResult> callback) { Preconditions.checkNotNull(executor, "executor cannot be null"); Preconditions.checkNotNull(callback, "callback cannot be null"); + + if (displayId != Display.DEFAULT_DISPLAY) { + throw new IllegalArgumentException("DisplayId isn't the default display"); + } + final IAccessibilityServiceConnection connection = AccessibilityInteractionClient.getInstance().getConnection( mConnectionId); |
