diff options
10 files changed, 23 insertions, 27 deletions
diff --git a/core/java/android/view/IWindow.aidl b/core/java/android/view/IWindow.aidl index 2ee112b97dcd..fceda20ba62b 100644 --- a/core/java/android/view/IWindow.aidl +++ b/core/java/android/view/IWindow.aidl @@ -96,9 +96,9 @@ oneway interface IWindow { /** * Tell the window that it is either gaining or losing focus. Keep it up - * to date on the current state showing navigational focus (touch mode) too. + * to date on the current state showing navigational focus too. */ - void windowFocusChanged(boolean hasFocus, boolean inTouchMode); + void windowFocusChanged(boolean hasFocus); void closeSystemDialogs(String reason); diff --git a/core/java/android/view/InputEventReceiver.java b/core/java/android/view/InputEventReceiver.java index 2165f55fbd60..c9abec989cd1 100644 --- a/core/java/android/view/InputEventReceiver.java +++ b/core/java/android/view/InputEventReceiver.java @@ -139,11 +139,9 @@ public abstract class InputEventReceiver { * @param hasFocus if true, the window associated with this input channel has just received * focus * if false, the window associated with this input channel has just lost focus - * @param inTouchMode if true, the device is in touch mode - * if false, the device is not in touch mode */ // Called from native code. - public void onFocusEvent(boolean hasFocus, boolean inTouchMode) { + public void onFocusEvent(boolean hasFocus) { } /** @@ -175,7 +173,7 @@ public abstract class InputEventReceiver { * exited touch mode. * * @param inTouchMode {@code true} if the display showing the window associated with the - * input channel entered touch mode. + * input channel entered touch mode or {@code false} if left touch mode */ public void onTouchModeChanged(boolean inTouchMode) { } diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index ce96ecaf9c2f..89b95c09fbe3 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -8705,8 +8705,8 @@ public final class ViewRootImpl implements ViewParent, } @Override - public void onFocusEvent(boolean hasFocus, boolean inTouchMode) { - windowFocusChanged(hasFocus, inTouchMode); + public void onFocusEvent(boolean hasFocus) { + windowFocusChanged(hasFocus); } @Override @@ -8975,9 +8975,7 @@ public final class ViewRootImpl implements ViewParent, /** * Notifies this {@link ViewRootImpl} object that window focus has changed. */ - public void windowFocusChanged(boolean hasFocus, boolean unusedInTouchMode) { - // TODO(b/193718270): Remove inTouchMode parameter from this method and update related code - // accordingly. + public void windowFocusChanged(boolean hasFocus) { synchronized (this) { mWindowFocusChanged = true; mUpcomingWindowFocus = hasFocus; @@ -9732,10 +9730,10 @@ public final class ViewRootImpl implements ViewParent, } @Override - public void windowFocusChanged(boolean hasFocus, boolean inTouchMode) { + public void windowFocusChanged(boolean hasFocus) { final ViewRootImpl viewAncestor = mViewAncestor.get(); if (viewAncestor != null) { - viewAncestor.windowFocusChanged(hasFocus, inTouchMode); + viewAncestor.windowFocusChanged(hasFocus); } } diff --git a/core/java/com/android/internal/policy/PhoneWindow.java b/core/java/com/android/internal/policy/PhoneWindow.java index b4289703378f..7755b694af03 100644 --- a/core/java/com/android/internal/policy/PhoneWindow.java +++ b/core/java/com/android/internal/policy/PhoneWindow.java @@ -1842,7 +1842,7 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { @Override public void setLocalFocus(boolean hasFocus, boolean inTouchMode) { ViewRootImpl viewRoot = getViewRootImpl(); - viewRoot.windowFocusChanged(hasFocus, inTouchMode); + viewRoot.windowFocusChanged(hasFocus); viewRoot.touchModeChanged(inTouchMode); } diff --git a/core/java/com/android/internal/view/BaseIWindow.java b/core/java/com/android/internal/view/BaseIWindow.java index 9e741e2aa551..f93e32fd0b55 100644 --- a/core/java/com/android/internal/view/BaseIWindow.java +++ b/core/java/com/android/internal/view/BaseIWindow.java @@ -90,7 +90,7 @@ public class BaseIWindow extends IWindow.Stub { } @Override - public void windowFocusChanged(boolean hasFocus, boolean touchEnabled) { + public void windowFocusChanged(boolean hasFocus) { } @Override diff --git a/core/jni/android_view_InputEventReceiver.cpp b/core/jni/android_view_InputEventReceiver.cpp index 67ab30bdb1e4..1159c8a8c416 100644 --- a/core/jni/android_view_InputEventReceiver.cpp +++ b/core/jni/android_view_InputEventReceiver.cpp @@ -390,13 +390,11 @@ status_t NativeInputEventReceiver::consumeEvents(JNIEnv* env, case AINPUT_EVENT_TYPE_FOCUS: { FocusEvent* focusEvent = static_cast<FocusEvent*>(inputEvent); if (kDebugDispatchCycle) { - ALOGD("channel '%s' ~ Received focus event: hasFocus=%s, inTouchMode=%s.", - getInputChannelName().c_str(), toString(focusEvent->getHasFocus()), - toString(focusEvent->getInTouchMode())); + ALOGD("channel '%s' ~ Received focus event: hasFocus=%s.", + getInputChannelName().c_str(), toString(focusEvent->getHasFocus())); } env->CallVoidMethod(receiverObj.get(), gInputEventReceiverClassInfo.onFocusEvent, - jboolean(focusEvent->getHasFocus()), - jboolean(focusEvent->getInTouchMode())); + jboolean(focusEvent->getHasFocus())); finishInputEvent(seq, true /* handled */); continue; } @@ -615,7 +613,7 @@ int register_android_view_InputEventReceiver(JNIEnv* env) { gInputEventReceiverClassInfo.clazz, "dispatchInputEvent", "(ILandroid/view/InputEvent;)V"); gInputEventReceiverClassInfo.onFocusEvent = - GetMethodIDOrDie(env, gInputEventReceiverClassInfo.clazz, "onFocusEvent", "(ZZ)V"); + GetMethodIDOrDie(env, gInputEventReceiverClassInfo.clazz, "onFocusEvent", "(Z)V"); gInputEventReceiverClassInfo.onPointerCaptureEvent = GetMethodIDOrDie(env, gInputEventReceiverClassInfo.clazz, "onPointerCaptureEvent", "(Z)V"); diff --git a/core/tests/coretests/src/android/view/ViewRootImplTest.java b/core/tests/coretests/src/android/view/ViewRootImplTest.java index 882a0da2d97f..e958a965f01f 100644 --- a/core/tests/coretests/src/android/view/ViewRootImplTest.java +++ b/core/tests/coretests/src/android/view/ViewRootImplTest.java @@ -62,7 +62,7 @@ import java.util.concurrent.TimeUnit; * Tests for {@link ViewRootImpl} * * Build/Install/Run: - * atest FrameworksCoreTests:ViewRootImplTest + * atest FrameworksCoreTests:ViewRootImplTest */ @Presubmit @SmallTest @@ -300,7 +300,7 @@ public class ViewRootImplTest { @Test public void whenWindowDoesNotHaveFocus_keysAreDropped() { checkKeyEvent(() -> { - mViewRootImpl.windowFocusChanged(false /*hasFocus*/, true /*inTouchMode*/); + mViewRootImpl.windowFocusChanged(false /*hasFocus*/); }, false /*shouldReceiveKey*/); } @@ -310,7 +310,7 @@ public class ViewRootImplTest { @Test public void whenWindowHasFocus_keysAreReceived() { checkKeyEvent(() -> { - mViewRootImpl.windowFocusChanged(true /*hasFocus*/, true /*inTouchMode*/); + mViewRootImpl.windowFocusChanged(true /*hasFocus*/); }, true /*shouldReceiveKey*/); } 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 33ce383f7f9e..c5713b452097 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 @@ -356,7 +356,7 @@ public class SystemWindows { public void dispatchGetNewSurface() {} @Override - public void windowFocusChanged(boolean hasFocus, boolean inTouchMode) {} + public void windowFocusChanged(boolean hasFocus) {} @Override public void executeCommand(String command, String parameters, ParcelFileDescriptor out) {} diff --git a/media/java/android/media/tv/TvInputService.java b/media/java/android/media/tv/TvInputService.java index f312f64b140e..d285b13e7762 100755 --- a/media/java/android/media/tv/TvInputService.java +++ b/media/java/android/media/tv/TvInputService.java @@ -53,6 +53,7 @@ import android.view.KeyEvent; import android.view.MotionEvent; import android.view.Surface; import android.view.View; +import android.view.ViewRootImpl; import android.view.WindowManager; import android.view.accessibility.CaptioningManager; import android.widget.FrameLayout; @@ -1581,7 +1582,8 @@ public abstract class TvInputService extends Service { return TvInputManager.Session.DISPATCH_NOT_HANDLED; } if (!mOverlayViewContainer.hasWindowFocus()) { - mOverlayViewContainer.getViewRootImpl().windowFocusChanged(true, true); + ViewRootImpl viewRoot = mOverlayViewContainer.getViewRootImpl(); + viewRoot.windowFocusChanged(true); } if (isNavigationKey && mOverlayViewContainer.hasFocusable()) { // If mOverlayView has focusable views, navigation key events should be always 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 b6701dd74312..c742e5606f06 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TestIWindow.java +++ b/services/tests/wmtests/src/com/android/server/wm/TestIWindow.java @@ -69,7 +69,7 @@ public class TestIWindow extends IWindow.Stub { } @Override - public void windowFocusChanged(boolean hasFocus, boolean inTouchMode) throws RemoteException { + public void windowFocusChanged(boolean hasFocus) throws RemoteException { } @Override |