diff options
| author | 2020-12-17 18:06:02 +0000 | |
|---|---|---|
| committer | 2020-12-17 18:06:02 +0000 | |
| commit | 25d4114431d1b75e7022ba94dc6684dbeaaf37f5 (patch) | |
| tree | f019d7ad7066fc03de9c0637677f6ac087b6513b | |
| parent | 982fc7eb5c0b95b8877a487da6dabd7316dd2d88 (diff) | |
| parent | a26dd05602d9eeb2fc8c0f6ca80ecd3f59fe54d3 (diff) | |
Merge "SyncPointerCapture (7/n): Clean up unused code from old Pointer Capture"
7 files changed, 5 insertions, 98 deletions
diff --git a/core/java/android/view/IWindow.aidl b/core/java/android/view/IWindow.aidl index e685b30421be..fb012ebbc3db 100644 --- a/core/java/android/view/IWindow.aidl +++ b/core/java/android/view/IWindow.aidl @@ -130,11 +130,6 @@ oneway interface IWindow { void requestAppKeyboardShortcuts(IResultReceiver receiver, int deviceId); /** - * Tell the window that it is either gaining or losing pointer capture. - */ - void dispatchPointerCaptureChanged(boolean hasCapture); - - /** * Called when Scroll Capture support is requested for a window. * * @param callbacks to receive responses diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index d24380bfc2ac..52ce5e709990 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -8665,7 +8665,7 @@ public final class ViewRootImpl implements ViewParent, MSG_REQUEST_KEYBOARD_SHORTCUTS, deviceId, 0, receiver).sendToTarget(); } - public void dispatchPointerCaptureChanged(boolean on) { + private void dispatchPointerCaptureChanged(boolean on) { final int what = MSG_POINTER_CAPTURE_CHANGED; mHandler.removeMessages(what); Message msg = mHandler.obtainMessage(what); @@ -9438,14 +9438,6 @@ public final class ViewRootImpl implements ViewParent, } @Override - public void dispatchPointerCaptureChanged(boolean hasCapture) { - final ViewRootImpl viewAncestor = mViewAncestor.get(); - if (viewAncestor != null) { - viewAncestor.dispatchPointerCaptureChanged(hasCapture); - } - } - - @Override public void requestScrollCapture(IScrollCaptureCallbacks callbacks) { final ViewRootImpl viewAncestor = mViewAncestor.get(); if (viewAncestor != null) { diff --git a/core/java/com/android/internal/view/BaseIWindow.java b/core/java/com/android/internal/view/BaseIWindow.java index 8962dc3d59da..ef2275d4218c 100644 --- a/core/java/com/android/internal/view/BaseIWindow.java +++ b/core/java/com/android/internal/view/BaseIWindow.java @@ -158,10 +158,6 @@ public class BaseIWindow extends IWindow.Stub { } @Override - public void dispatchPointerCaptureChanged(boolean hasCapture) { - } - - @Override public void requestScrollCapture(IScrollCaptureCallbacks callbacks) { try { callbacks.onUnavailable(); diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/SystemWindows.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/SystemWindows.java index 4c06a2ca3bca..616f24a874bc 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/SystemWindows.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/SystemWindows.java @@ -339,9 +339,6 @@ public class SystemWindows { public void requestAppKeyboardShortcuts(IResultReceiver receiver, int deviceId) {} @Override - public void dispatchPointerCaptureChanged(boolean hasCapture) {} - - @Override public void requestScrollCapture(IScrollCaptureCallbacks callbacks) { try { callbacks.onUnavailable(); diff --git a/services/core/java/com/android/server/input/InputManagerService.java b/services/core/java/com/android/server/input/InputManagerService.java index bfc751ff46d6..122e282530a6 100644 --- a/services/core/java/com/android/server/input/InputManagerService.java +++ b/services/core/java/com/android/server/input/InputManagerService.java @@ -2592,17 +2592,8 @@ public class InputManagerService extends IInputManager.Stub /** * Called when the focused window has changed. - * - * @return true if we want to request a configuration refresh. - */ - boolean notifyFocusChanged(IBinder oldToken, IBinder newToken); - - /** - * Called by the client to request pointer capture. - * - * @return true if we want to request a configuration refresh. */ - boolean requestPointerCapture(IBinder windowToken, boolean enabled); + void notifyFocusChanged(IBinder oldToken, IBinder newToken); } /** diff --git a/services/core/java/com/android/server/wm/InputManagerCallback.java b/services/core/java/com/android/server/wm/InputManagerCallback.java index 35f5615347bb..6e89581bc34a 100644 --- a/services/core/java/com/android/server/wm/InputManagerCallback.java +++ b/services/core/java/com/android/server/wm/InputManagerCallback.java @@ -26,9 +26,7 @@ import static com.android.server.wm.WindowManagerService.H.ON_POINTER_DOWN_OUTSI import android.annotation.NonNull; import android.os.Debug; import android.os.IBinder; -import android.os.RemoteException; import android.util.Slog; -import android.view.IWindow; import android.view.InputApplicationHandle; import android.view.KeyEvent; import android.view.WindowManager; @@ -37,7 +35,6 @@ import com.android.internal.util.function.pooled.PooledLambda; import com.android.server.input.InputManagerService; import java.io.PrintWriter; -import java.util.concurrent.atomic.AtomicReference; final class InputManagerCallback implements InputManagerService.WindowManagerCallbacks { private static final String TAG = TAG_WITH_CLASS_NAME ? "InputManagerCallback" : TAG_WM; @@ -60,13 +57,6 @@ final class InputManagerCallback implements InputManagerService.WindowManagerCal // which point the ActivityManager will enable dispatching. private boolean mInputDispatchEnabled; - // TODO(b/141749603)) investigate if this can be part of client focus change dispatch - // Tracks the currently focused window used to update pointer capture state in clients - private AtomicReference<IWindow> mFocusedWindow = new AtomicReference<>(); - - // Tracks focused window pointer capture state - private boolean mFocusedWindowHasCapture; - public InputManagerCallback(WindowManagerService service) { mService = service; } @@ -234,59 +224,9 @@ final class InputManagerCallback implements InputManagerService.WindowManagerCal } @Override - public boolean notifyFocusChanged(IBinder oldToken, IBinder newToken) { - boolean requestRefreshConfiguration = false; - final IWindow newFocusedWindow; - final WindowState win; - - // TODO(b/141749603) investigate if this can be part of client focus change dispatch - synchronized (mService.mGlobalLock) { - win = mService.mInputToWindowMap.get(newToken); - } - newFocusedWindow = (win != null) ? win.mClient : null; - - final IWindow focusedWindow = mFocusedWindow.get(); - if (focusedWindow != null) { - if (newFocusedWindow != null - && newFocusedWindow.asBinder() == focusedWindow.asBinder()) { - Slog.w(TAG, "notifyFocusChanged called with unchanged mFocusedWindow=" - + focusedWindow); - return false; - } - requestRefreshConfiguration = dispatchPointerCaptureChanged(focusedWindow, false); - } - mFocusedWindow.set(newFocusedWindow); - mService.mH.sendMessage(PooledLambda.obtainMessage(mService::reportFocusChanged, - oldToken, newToken)); - return requestRefreshConfiguration; - } - - @Override - public boolean requestPointerCapture(IBinder windowToken, boolean enabled) { - final IWindow focusedWindow = mFocusedWindow.get(); - if (focusedWindow == null || focusedWindow.asBinder() != windowToken) { - Slog.e(TAG, "requestPointerCapture called for a window that has no focus: " - + windowToken); - return false; - } - if (mFocusedWindowHasCapture == enabled) { - Slog.i(TAG, "requestPointerCapture: already " + (enabled ? "enabled" : "disabled")); - return false; - } - return dispatchPointerCaptureChanged(focusedWindow, enabled); - } - - private boolean dispatchPointerCaptureChanged(IWindow focusedWindow, boolean enabled) { - if (mFocusedWindowHasCapture != enabled) { - mFocusedWindowHasCapture = enabled; - try { - focusedWindow.dispatchPointerCaptureChanged(enabled); - } catch (RemoteException ex) { - /* ignore */ - } - return true; - } - return false; + public void notifyFocusChanged(IBinder oldToken, IBinder newToken) { + mService.mH.sendMessage(PooledLambda.obtainMessage( + mService::reportFocusChanged, oldToken, newToken)); } /** Waits until the built-in input devices have been configured. */ diff --git a/services/tests/wmtests/src/com/android/server/wm/TestIWindow.java b/services/tests/wmtests/src/com/android/server/wm/TestIWindow.java index b78d6bb90817..001afe3e2637 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TestIWindow.java +++ b/services/tests/wmtests/src/com/android/server/wm/TestIWindow.java @@ -116,10 +116,6 @@ public class TestIWindow extends IWindow.Stub { } @Override - public void dispatchPointerCaptureChanged(boolean hasCapture) { - } - - @Override public void requestScrollCapture(IScrollCaptureCallbacks callbacks) throws RemoteException { } |