summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/accessibilityservice/AccessibilityButtonController.java26
1 files changed, 10 insertions, 16 deletions
diff --git a/core/java/android/accessibilityservice/AccessibilityButtonController.java b/core/java/android/accessibilityservice/AccessibilityButtonController.java
index c3a5daba4cfc..ee1976889299 100644
--- a/core/java/android/accessibilityservice/AccessibilityButtonController.java
+++ b/core/java/android/accessibilityservice/AccessibilityButtonController.java
@@ -23,6 +23,8 @@ import android.os.RemoteException;
import android.util.ArrayMap;
import android.util.Slog;
+import com.android.internal.util.Preconditions;
+
/**
* Controller for the accessibility button within the system's navigation area
* <p>
@@ -89,7 +91,7 @@ public final class AccessibilityButtonController {
* @param callback the callback to add, must be non-null
*/
public void registerAccessibilityButtonCallback(@NonNull AccessibilityButtonCallback callback) {
- registerAccessibilityButtonCallback(callback, null);
+ registerAccessibilityButtonCallback(callback, new Handler());
}
/**
@@ -99,11 +101,12 @@ public final class AccessibilityButtonController {
* {@code null}.
*
* @param callback the callback to add, must be non-null
- * @param handler the handler on which to callback should execute, or {@code null} to
- * execute on the service's main thread
+ * @param handler the handler on which the callback should execute, must be non-null
*/
public void registerAccessibilityButtonCallback(@NonNull AccessibilityButtonCallback callback,
- @Nullable Handler handler) {
+ @NonNull Handler handler) {
+ Preconditions.checkNotNull(callback);
+ Preconditions.checkNotNull(handler);
synchronized (mLock) {
if (mCallbacks == null) {
mCallbacks = new ArrayMap<>();
@@ -121,6 +124,7 @@ public final class AccessibilityButtonController {
*/
public void unregisterAccessibilityButtonCallback(
@NonNull AccessibilityButtonCallback callback) {
+ Preconditions.checkNotNull(callback);
synchronized (mLock) {
if (mCallbacks == null) {
return;
@@ -154,12 +158,7 @@ public final class AccessibilityButtonController {
for (int i = 0, count = entries.size(); i < count; i++) {
final AccessibilityButtonCallback callback = entries.keyAt(i);
final Handler handler = entries.valueAt(i);
- if (handler != null) {
- handler.post(() -> callback.onClicked(this));
- } else {
- // We're already on the main thread, just run the callback.
- callback.onClicked(this);
- }
+ handler.post(() -> callback.onClicked(this));
}
}
@@ -184,12 +183,7 @@ public final class AccessibilityButtonController {
for (int i = 0, count = entries.size(); i < count; i++) {
final AccessibilityButtonCallback callback = entries.keyAt(i);
final Handler handler = entries.valueAt(i);
- if (handler != null) {
- handler.post(() -> callback.onAvailabilityChanged(this, available));
- } else {
- // We're already on the main thread, just run the callback.
- callback.onAvailabilityChanged(this, available);
- }
+ handler.post(() -> callback.onAvailabilityChanged(this, available));
}
}