diff --git a/core/java/android/view/ImeInsetsSourceConsumer.java b/core/java/android/view/ImeInsetsSourceConsumer.java index f4d5a7b695eba..98b7dbfa670fc 100644 --- a/core/java/android/view/ImeInsetsSourceConsumer.java +++ b/core/java/android/view/ImeInsetsSourceConsumer.java @@ -50,10 +50,6 @@ public final class ImeInsetsSourceConsumer extends InsetsSourceConsumer { super(ITYPE_IME, state, transactionSupplier, controller); } - public void applyImeVisibility(boolean setVisible) { - mController.applyImeVisibility(setVisible); - } - @Override public void onWindowFocusGained() { super.onWindowFocusGained(); diff --git a/core/java/android/view/InsetsController.java b/core/java/android/view/InsetsController.java index ea0a83debb45a..a68f528837c08 100644 --- a/core/java/android/view/InsetsController.java +++ b/core/java/android/view/InsetsController.java @@ -920,7 +920,8 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation hide(types, false /* fromIme */); } - void hide(@InsetsType int types, boolean fromIme) { + @VisibleForTesting + public void hide(@InsetsType int types, boolean fromIme) { if (fromIme) { ImeTracing.getInstance().triggerClientDump("InsetsController#hide", mHost.getInputMethodManager(), null /* icProto */); @@ -1312,19 +1313,6 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation getSourceConsumer(ITYPE_IME).onWindowFocusLost(); } - /** - * Used by {@link ImeInsetsSourceConsumer} when IME decides to be shown/hidden. - * @hide - */ - @VisibleForTesting - public void applyImeVisibility(boolean setVisible) { - if (setVisible) { - show(Type.IME, true /* fromIme */); - } else { - hide(Type.IME); - } - } - @VisibleForTesting public @AnimationType int getAnimationType(@InternalInsetsType int type) { for (int i = mRunningAnimations.size() - 1; i >= 0; i--) { diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java index 9872dc0015d22..3cd39021685d1 100644 --- a/core/java/android/view/inputmethod/InputMethodManager.java +++ b/core/java/android/view/inputmethod/InputMethodManager.java @@ -511,7 +511,6 @@ public final class InputMethodManager { static final int MSG_TIMEOUT_INPUT_EVENT = 6; static final int MSG_FLUSH_INPUT_EVENT = 7; static final int MSG_REPORT_FULLSCREEN_MODE = 10; - static final int MSG_APPLY_IME_VISIBILITY = 20; static final int MSG_UPDATE_ACTIVITY_VIEW_TO_SCREEN_MATRIX = 30; private static boolean isAutofillUIShowing(View servedView) { @@ -985,17 +984,6 @@ public final class InputMethodManager { } return; } - case MSG_APPLY_IME_VISIBILITY: { - synchronized (mH) { - if (mImeInsetsConsumer != null) { - ImeTracing.getInstance().triggerClientDump( - "ImeInsetsSourceConsumer#applyImeVisibility", - InputMethodManager.this, null /* icProto */); - mImeInsetsConsumer.applyImeVisibility(msg.arg1 != 0); - } - } - return; - } case MSG_UPDATE_ACTIVITY_VIEW_TO_SCREEN_MATRIX: { final float[] matrixValues = (float[]) msg.obj; final int bindSequence = msg.arg1; @@ -1089,12 +1077,6 @@ public final class InputMethodManager { .sendToTarget(); } - @Override - public void applyImeVisibility(boolean setVisible) { - mH.obtainMessage(MSG_APPLY_IME_VISIBILITY, setVisible ? 1 : 0, 0) - .sendToTarget(); - } - @Override public void updateActivityViewToScreenMatrix(int bindSequence, float[] matrixValues) { mH.obtainMessage(MSG_UPDATE_ACTIVITY_VIEW_TO_SCREEN_MATRIX, bindSequence, 0, diff --git a/core/java/com/android/internal/view/IInputMethodClient.aidl b/core/java/com/android/internal/view/IInputMethodClient.aidl index ec9a0a2f48011..49dbbaaa17f72 100644 --- a/core/java/com/android/internal/view/IInputMethodClient.aidl +++ b/core/java/com/android/internal/view/IInputMethodClient.aidl @@ -28,7 +28,6 @@ oneway interface IInputMethodClient { void setActive(boolean active, boolean fullscreen, boolean reportToImeController); void scheduleStartInputIfNecessary(boolean fullscreen); void reportFullscreenMode(boolean fullscreen); - void applyImeVisibility(boolean setVisible); void updateActivityViewToScreenMatrix(int bindSequence, in float[] matrixValues); void setImeTraceEnabled(boolean enabled); } diff --git a/core/tests/coretests/src/android/view/ImeInsetsSourceConsumerTest.java b/core/tests/coretests/src/android/view/ImeInsetsSourceConsumerTest.java index 5de55d71c1b49..47556c370f220 100644 --- a/core/tests/coretests/src/android/view/ImeInsetsSourceConsumerTest.java +++ b/core/tests/coretests/src/android/view/ImeInsetsSourceConsumerTest.java @@ -98,12 +98,12 @@ public class ImeInsetsSourceConsumerTest { InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> { // test if setVisibility can show IME mImeConsumer.onWindowFocusGained(); - mImeConsumer.applyImeVisibility(true); + mController.show(WindowInsets.Type.ime(), true /* fromIme */); mController.cancelExistingAnimations(); assertTrue(mController.getSourceConsumer(ime.getType()).isRequestedVisible()); // test if setVisibility can hide IME - mImeConsumer.applyImeVisibility(false); + mController.hide(WindowInsets.Type.ime(), true /* fromIme */); mController.cancelExistingAnimations(); assertFalse(mController.getSourceConsumer(ime.getType()).isRequestedVisible()); }); @@ -117,7 +117,7 @@ public class ImeInsetsSourceConsumerTest { InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> { // Request IME visible before control is available. mImeConsumer.onWindowFocusGained(); - mImeConsumer.applyImeVisibility(true /* setVisible */); + mController.show(WindowInsets.Type.ime(), true /* fromIme */); // set control and verify visibility is applied. InsetsSourceControl control = @@ -136,7 +136,7 @@ public class ImeInsetsSourceConsumerTest { InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> { // Request IME visible before control is available. mImeConsumer.onWindowFocusGained(); - mImeConsumer.applyImeVisibility(true /* setVisible */); + mController.show(WindowInsets.Type.ime(), true /* fromIme */); // set control and verify visibility is applied. InsetsSourceControl control = Mockito.spy( diff --git a/core/tests/coretests/src/android/view/InsetsControllerTest.java b/core/tests/coretests/src/android/view/InsetsControllerTest.java index ff505c400b09a..4390546559b42 100644 --- a/core/tests/coretests/src/android/view/InsetsControllerTest.java +++ b/core/tests/coretests/src/android/view/InsetsControllerTest.java @@ -236,7 +236,7 @@ public class InsetsControllerTest { InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> { mController.getSourceConsumer(ITYPE_IME).onWindowFocusGained(); // since there is no focused view, forcefully make IME visible. - mController.applyImeVisibility(true /* setVisible */); + mController.show(Type.ime(), true /* fromIme */); mController.show(Type.all()); // quickly jump to final state by cancelling it. mController.cancelExistingAnimations(); @@ -244,7 +244,7 @@ public class InsetsControllerTest { assertTrue(mController.getSourceConsumer(statusBar.getType()).isRequestedVisible()); assertTrue(mController.getSourceConsumer(ime.getType()).isRequestedVisible()); - mController.applyImeVisibility(false /* setVisible */); + mController.hide(Type.ime(), true /* fromIme */); mController.hide(Type.all()); mController.cancelExistingAnimations(); assertFalse(mController.getSourceConsumer(navBar.getType()).isRequestedVisible()); @@ -261,10 +261,10 @@ public class InsetsControllerTest { mController.onControlsChanged(new InsetsSourceControl[] { ime }); InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> { mController.getSourceConsumer(ITYPE_IME).onWindowFocusGained(); - mController.applyImeVisibility(true); + mController.show(Type.ime(), true /* fromIme */); mController.cancelExistingAnimations(); assertTrue(mController.getSourceConsumer(ime.getType()).isRequestedVisible()); - mController.applyImeVisibility(false); + mController.hide(Type.ime(), true /* fromIme */); mController.cancelExistingAnimations(); assertFalse(mController.getSourceConsumer(ime.getType()).isRequestedVisible()); mController.getSourceConsumer(ITYPE_IME).onWindowFocusLost(); diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java index ffb532ebcca46..d17c24c25b787 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java @@ -256,7 +256,6 @@ public class InputMethodManagerService extends IInputMethodManager.Stub static final int MSG_SET_ACTIVE = 3020; static final int MSG_SET_INTERACTIVE = 3030; static final int MSG_REPORT_FULLSCREEN_MODE = 3045; - static final int MSG_APPLY_IME_VISIBILITY = 3070; static final int MSG_HARD_KEYBOARD_SWITCH_CHANGED = 4000; @@ -4603,18 +4602,6 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } return true; } - case MSG_APPLY_IME_VISIBILITY: { - final boolean setVisible = msg.arg1 != 0; - final ClientState clientState = (ClientState) msg.obj; - try { - clientState.client.applyImeVisibility(setVisible); - } catch (RemoteException e) { - Slog.w(TAG, "Got RemoteException sending " - + "applyImeVisibility(" + setVisible + ") notification to pid=" - + clientState.pid + " uid=" + clientState.uid); - } - return true; - } // -------------------------------------------------------------- case MSG_HARD_KEYBOARD_SWITCH_CHANGED: