From b802062c3a0aeafdc36f92d3658a1921d812f89e Mon Sep 17 00:00:00 2001 From: Cosmin Băieș Date: Mon, 22 Jul 2024 14:03:27 +0200 Subject: Remove unused binder in setImeWindowStatus calls This removes an unused binder parameter from setImeWindowStatus calls, which currently only pass it around through SystemUI, but doesn't actually use the value. The binder was previously added in [1] to allow switching to a different IME from the SystemUI process, but switching doesn't require this binder token anymore. This also removes the binder from updateInputMethodTargetWindow. This was added in [2] to match the token passing from [1], but this method doesn't use the binder value either. [1]: I48ba5e2509b3aa1bfd2394f9201427fa6b93c6d3 [2]: I54fb1faf513883a54293a756e4c9d2ae9453d778 Flag: EXEMPT refactor Bug: 354667905 Test: atest NavigationBarTest CommandQueueTest RegisterStatusBarResultTest Change-Id: I4c479f49f6bf28f4b5e6594226212cf3055ef541 --- .../com/android/internal/statusbar/IStatusBar.aidl | 3 +-- .../internal/statusbar/IStatusBarService.aidl | 3 +-- .../internal/statusbar/RegisterStatusBarResult.java | 9 ++------- .../statusbar/RegisterStatusBarResultTest.java | 3 --- .../navigationbar/NavigationBarControllerImpl.java | 5 ++--- .../systemui/navigationbar/TaskbarDelegate.java | 3 +-- .../systemui/navigationbar/views/NavigationBar.java | 3 +-- .../android/systemui/statusbar/CommandQueue.java | 18 +++++++----------- .../statusbar/phone/CentralSurfacesImpl.java | 4 ++-- .../src/com/android/systemui/wmshell/WMShell.java | 5 ++--- .../navigationbar/views/NavigationBarTest.java | 14 +++++++------- .../systemui/statusbar/CommandQueueTest.java | 12 +++++------- .../inputmethod/InputMethodManagerService.java | 6 +++--- .../server/statusbar/StatusBarManagerInternal.java | 4 +--- .../server/statusbar/StatusBarManagerService.java | 21 +++++++++------------ .../android/server/wm/WindowManagerInternal.java | 7 +------ .../com/android/server/wm/WindowManagerService.java | 5 ++--- 17 files changed, 47 insertions(+), 78 deletions(-) diff --git a/core/java/com/android/internal/statusbar/IStatusBar.aidl b/core/java/com/android/internal/statusbar/IStatusBar.aidl index e29f256146d0..1d43f6f083e6 100644 --- a/core/java/com/android/internal/statusbar/IStatusBar.aidl +++ b/core/java/com/android/internal/statusbar/IStatusBar.aidl @@ -51,8 +51,7 @@ oneway interface IStatusBar void showWirelessChargingAnimation(int batteryLevel); - void setImeWindowStatus(int displayId, in IBinder token, int vis, int backDisposition, - boolean showImeSwitcher); + void setImeWindowStatus(int displayId, int vis, int backDisposition, boolean showImeSwitcher); void setWindowState(int display, int window, int state); void showRecentApps(boolean triggeredFromAltTab); diff --git a/core/java/com/android/internal/statusbar/IStatusBarService.aidl b/core/java/com/android/internal/statusbar/IStatusBarService.aidl index fc60f065a965..ff08dd27225f 100644 --- a/core/java/com/android/internal/statusbar/IStatusBarService.aidl +++ b/core/java/com/android/internal/statusbar/IStatusBarService.aidl @@ -61,8 +61,7 @@ interface IStatusBarService void setIconVisibility(String slot, boolean visible); @UnsupportedAppUsage void removeIcon(String slot); - void setImeWindowStatus(int displayId, in IBinder token, int vis, int backDisposition, - boolean showImeSwitcher); + void setImeWindowStatus(int displayId, int vis, int backDisposition, boolean showImeSwitcher); void expandSettingsPanel(String subPanel); // ---- Methods below are for use by the status bar policy services ---- diff --git a/core/java/com/android/internal/statusbar/RegisterStatusBarResult.java b/core/java/com/android/internal/statusbar/RegisterStatusBarResult.java index 4f827cda6afa..7240aff022d4 100644 --- a/core/java/com/android/internal/statusbar/RegisterStatusBarResult.java +++ b/core/java/com/android/internal/statusbar/RegisterStatusBarResult.java @@ -16,7 +16,6 @@ package com.android.internal.statusbar; -import android.os.IBinder; import android.os.Parcel; import android.os.Parcelable; import android.util.ArrayMap; @@ -35,7 +34,6 @@ public final class RegisterStatusBarResult implements Parcelable { public final int mImeBackDisposition; // switch[4] public final boolean mShowImeSwitcher; // switch[5] public final int mDisabledFlags2; // switch[6] - public final IBinder mImeToken; public final boolean mNavbarColorManagedByIme; public final int mBehavior; public final int mRequestedVisibleTypes; @@ -45,7 +43,7 @@ public final class RegisterStatusBarResult implements Parcelable { public RegisterStatusBarResult(ArrayMap icons, int disabledFlags1, int appearance, AppearanceRegion[] appearanceRegions, int imeWindowVis, - int imeBackDisposition, boolean showImeSwitcher, int disabledFlags2, IBinder imeToken, + int imeBackDisposition, boolean showImeSwitcher, int disabledFlags2, boolean navbarColorManagedByIme, int behavior, int requestedVisibleTypes, String packageName, int transientBarTypes, LetterboxDetails[] letterboxDetails) { mIcons = new ArrayMap<>(icons); @@ -56,7 +54,6 @@ public final class RegisterStatusBarResult implements Parcelable { mImeBackDisposition = imeBackDisposition; mShowImeSwitcher = showImeSwitcher; mDisabledFlags2 = disabledFlags2; - mImeToken = imeToken; mNavbarColorManagedByIme = navbarColorManagedByIme; mBehavior = behavior; mRequestedVisibleTypes = requestedVisibleTypes; @@ -80,7 +77,6 @@ public final class RegisterStatusBarResult implements Parcelable { dest.writeInt(mImeBackDisposition); dest.writeBoolean(mShowImeSwitcher); dest.writeInt(mDisabledFlags2); - dest.writeStrongBinder(mImeToken); dest.writeBoolean(mNavbarColorManagedByIme); dest.writeInt(mBehavior); dest.writeInt(mRequestedVisibleTypes); @@ -106,7 +102,6 @@ public final class RegisterStatusBarResult implements Parcelable { final int imeBackDisposition = source.readInt(); final boolean showImeSwitcher = source.readBoolean(); final int disabledFlags2 = source.readInt(); - final IBinder imeToken = source.readStrongBinder(); final boolean navbarColorManagedByIme = source.readBoolean(); final int behavior = source.readInt(); final int requestedVisibleTypes = source.readInt(); @@ -116,7 +111,7 @@ public final class RegisterStatusBarResult implements Parcelable { source.readParcelableArray(null, LetterboxDetails.class); return new RegisterStatusBarResult(icons, disabledFlags1, appearance, appearanceRegions, imeWindowVis, imeBackDisposition, showImeSwitcher, - disabledFlags2, imeToken, navbarColorManagedByIme, behavior, + disabledFlags2, navbarColorManagedByIme, behavior, requestedVisibleTypes, packageName, transientBarTypes, letterboxDetails); } diff --git a/core/tests/coretests/src/com/android/internal/statusbar/RegisterStatusBarResultTest.java b/core/tests/coretests/src/com/android/internal/statusbar/RegisterStatusBarResultTest.java index af2a2bbe2893..c733bae53f47 100644 --- a/core/tests/coretests/src/com/android/internal/statusbar/RegisterStatusBarResultTest.java +++ b/core/tests/coretests/src/com/android/internal/statusbar/RegisterStatusBarResultTest.java @@ -21,7 +21,6 @@ import static android.view.WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_B import static com.google.common.truth.Truth.assertThat; import android.graphics.Rect; -import android.os.Binder; import android.os.Parcel; import android.os.UserHandle; import android.util.ArrayMap; @@ -63,7 +62,6 @@ public class RegisterStatusBarResultTest { 0x10 /* imeBackDisposition */, false /* showImeSwitcher */, 0x20 /* disabledFlags2 */, - new Binder() /* imeToken */, true /* navbarColorManagedByIme */, BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE, WindowInsets.Type.defaultVisible(), @@ -85,7 +83,6 @@ public class RegisterStatusBarResultTest { assertThat(copy.mImeBackDisposition).isEqualTo(original.mImeBackDisposition); assertThat(copy.mShowImeSwitcher).isEqualTo(original.mShowImeSwitcher); assertThat(copy.mDisabledFlags2).isEqualTo(original.mDisabledFlags2); - assertThat(copy.mImeToken).isSameInstanceAs(original.mImeToken); assertThat(copy.mNavbarColorManagedByIme).isEqualTo(original.mNavbarColorManagedByIme); assertThat(copy.mBehavior).isEqualTo(original.mBehavior); assertThat(copy.mRequestedVisibleTypes).isEqualTo(original.mRequestedVisibleTypes); diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarControllerImpl.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarControllerImpl.java index 1dbdec99a907..8e46fe4c98b7 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarControllerImpl.java @@ -406,9 +406,8 @@ public class NavigationBarControllerImpl implements @Override public void onViewAttachedToWindow(View v) { if (result != null) { - navBar.setImeWindowStatus(display.getDisplayId(), result.mImeToken, - result.mImeWindowVis, result.mImeBackDisposition, - result.mShowImeSwitcher); + navBar.setImeWindowStatus(display.getDisplayId(), result.mImeWindowVis, + result.mImeBackDisposition, result.mShowImeSwitcher); } } diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java b/packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java index d022c1c2e948..15b1e4de878a 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java @@ -42,7 +42,6 @@ import android.content.Context; import android.graphics.Rect; import android.hardware.display.DisplayManager; import android.inputmethodservice.InputMethodService; -import android.os.IBinder; import android.os.RemoteException; import android.os.Trace; import android.util.Log; @@ -425,7 +424,7 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, } @Override - public void setImeWindowStatus(int displayId, IBinder token, int vis, int backDisposition, + public void setImeWindowStatus(int displayId, int vis, int backDisposition, boolean showImeSwitcher) { boolean imeShown = mNavBarHelper.isImeShown(vis); if (!imeShown) { diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/views/NavigationBar.java b/packages/SystemUI/src/com/android/systemui/navigationbar/views/NavigationBar.java index afdfa5932162..7b248eb876a8 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/views/NavigationBar.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/views/NavigationBar.java @@ -71,7 +71,6 @@ import android.graphics.Region; import android.os.Binder; import android.os.Bundle; import android.os.Handler; -import android.os.IBinder; import android.os.RemoteException; import android.os.Trace; import android.provider.DeviceConfig; @@ -1095,7 +1094,7 @@ public class NavigationBar extends ViewController implements // ----- CommandQueue Callbacks ----- @Override - public void setImeWindowStatus(int displayId, IBinder token, int vis, int backDisposition, + public void setImeWindowStatus(int displayId, int vis, int backDisposition, boolean showImeSwitcher) { if (displayId != mDisplayId) { return; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java index b9d24abc4037..cea97d602236 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java @@ -257,12 +257,11 @@ public class CommandQueue extends IStatusBar.Stub implements * Called to notify IME window status changes. * * @param displayId The id of the display to notify. - * @param token IME token. * @param vis IME visibility. * @param backDisposition Disposition mode of back button. It should be one of below flags: * @param showImeSwitcher {@code true} to show IME switch button. */ - default void setImeWindowStatus(int displayId, IBinder token, int vis, + default void setImeWindowStatus(int displayId, int vis, @BackDispositionMode int backDisposition, boolean showImeSwitcher) { } default void showRecentApps(boolean triggeredFromAltTab) { } default void hideRecentApps(boolean triggeredFromAltTab, boolean triggeredFromHomeKey) { } @@ -745,7 +744,7 @@ public class CommandQueue extends IStatusBar.Stub implements } @Override - public void setImeWindowStatus(int displayId, IBinder token, int vis, int backDisposition, + public void setImeWindowStatus(int displayId, int vis, int backDisposition, boolean showImeSwitcher) { synchronized (mLock) { mHandler.removeMessages(MSG_SHOW_IME_BUTTON); @@ -754,7 +753,6 @@ public class CommandQueue extends IStatusBar.Stub implements args.argi2 = vis; args.argi3 = backDisposition; args.argi4 = showImeSwitcher ? 1 : 0; - args.arg1 = token; Message m = mHandler.obtainMessage(MSG_SHOW_IME_BUTTON, args); m.sendToTarget(); } @@ -1208,7 +1206,7 @@ public class CommandQueue extends IStatusBar.Stub implements } } - private void handleShowImeButton(int displayId, IBinder token, int vis, int backDisposition, + private void handleShowImeButton(int displayId, int vis, int backDisposition, boolean showImeSwitcher) { if (displayId == INVALID_DISPLAY) return; @@ -1224,17 +1222,15 @@ public class CommandQueue extends IStatusBar.Stub implements sendImeInvisibleStatusForPrevNavBar(); } for (int i = 0; i < mCallbacks.size(); i++) { - mCallbacks.get(i).setImeWindowStatus(displayId, token, vis, backDisposition, - showImeSwitcher); + mCallbacks.get(i).setImeWindowStatus(displayId, vis, backDisposition, showImeSwitcher); } mLastUpdatedImeDisplayId = displayId; } private void sendImeInvisibleStatusForPrevNavBar() { for (int i = 0; i < mCallbacks.size(); i++) { - mCallbacks.get(i).setImeWindowStatus(mLastUpdatedImeDisplayId, - null /* token */, IME_INVISIBLE, BACK_DISPOSITION_DEFAULT, - false /* showImeSwitcher */); + mCallbacks.get(i).setImeWindowStatus(mLastUpdatedImeDisplayId, IME_INVISIBLE, + BACK_DISPOSITION_DEFAULT, false /* showImeSwitcher */); } } @@ -1550,7 +1546,7 @@ public class CommandQueue extends IStatusBar.Stub implements break; case MSG_SHOW_IME_BUTTON: args = (SomeArgs) msg.obj; - handleShowImeButton(args.argi1 /* displayId */, (IBinder) args.arg1 /* token */, + handleShowImeButton(args.argi1 /* displayId */, args.argi2 /* vis */, args.argi3 /* backDisposition */, args.argi4 != 0 /* showImeSwitcher */); break; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java index 462ae7ab39cb..5b04852058d8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java @@ -916,8 +916,8 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { result.mRequestedVisibleTypes, result.mPackageName, result.mLetterboxDetails); // StatusBarManagerService has a back up of IME token and it's restored here. - mCommandQueueCallbacks.setImeWindowStatus(mDisplayId, result.mImeToken, - result.mImeWindowVis, result.mImeBackDisposition, result.mShowImeSwitcher); + mCommandQueueCallbacks.setImeWindowStatus(mDisplayId, result.mImeWindowVis, + result.mImeBackDisposition, result.mShowImeSwitcher); // Set up the initial icon state int numIcons = result.mIcons.size(); diff --git a/packages/SystemUI/src/com/android/systemui/wmshell/WMShell.java b/packages/SystemUI/src/com/android/systemui/wmshell/WMShell.java index 14cd202b7ce6..9ca0591f9c5b 100644 --- a/packages/SystemUI/src/com/android/systemui/wmshell/WMShell.java +++ b/packages/SystemUI/src/com/android/systemui/wmshell/WMShell.java @@ -34,7 +34,6 @@ import android.content.pm.UserInfo; import android.content.res.Configuration; import android.graphics.Rect; import android.inputmethodservice.InputMethodService; -import android.os.IBinder; import android.util.Log; import android.view.Display; import android.view.KeyEvent; @@ -379,8 +378,8 @@ public final class WMShell implements } @Override - public void setImeWindowStatus(int displayId, IBinder token, int vis, - int backDisposition, boolean showImeSwitcher) { + public void setImeWindowStatus(int displayId, int vis, int backDisposition, + boolean showImeSwitcher) { if (displayId == mDisplayTracker.getDefaultDisplayId() && (vis & InputMethodService.IME_VISIBLE) != 0) { oneHanded.stopOneHanded( diff --git a/packages/SystemUI/tests/src/com/android/systemui/navigationbar/views/NavigationBarTest.java b/packages/SystemUI/tests/src/com/android/systemui/navigationbar/views/NavigationBarTest.java index 45d77f6d76cd..a8cbbd4178bd 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/navigationbar/views/NavigationBarTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/navigationbar/views/NavigationBarTest.java @@ -498,7 +498,7 @@ public class NavigationBarTest extends SysuiTestCase { defaultNavBar.init(); externalNavBar.init(); - defaultNavBar.setImeWindowStatus(DEFAULT_DISPLAY, null, IME_VISIBLE, + defaultNavBar.setImeWindowStatus(DEFAULT_DISPLAY, IME_VISIBLE, BACK_DISPOSITION_DEFAULT, true); // Verify IME window state will be updated in default NavBar & external NavBar state reset. @@ -510,10 +510,10 @@ public class NavigationBarTest extends SysuiTestCase { assertFalse((externalNavBar.getNavigationIconHints() & NAVIGATION_HINT_IME_SWITCHER_SHOWN) != 0); - externalNavBar.setImeWindowStatus(EXTERNAL_DISPLAY_ID, null, IME_VISIBLE, + externalNavBar.setImeWindowStatus(EXTERNAL_DISPLAY_ID, IME_VISIBLE, BACK_DISPOSITION_DEFAULT, true); - defaultNavBar.setImeWindowStatus( - DEFAULT_DISPLAY, null, IME_INVISIBLE, BACK_DISPOSITION_DEFAULT, false); + defaultNavBar.setImeWindowStatus(DEFAULT_DISPLAY, IME_INVISIBLE, + BACK_DISPOSITION_DEFAULT, false); // Verify IME window state will be updated in external NavBar & default NavBar state reset. assertEquals(NAVIGATION_HINT_BACK_ALT | NAVIGATION_HINT_IME_SHOWN | NAVIGATION_HINT_IME_SWITCHER_SHOWN, @@ -535,7 +535,7 @@ public class NavigationBarTest extends SysuiTestCase { doReturn(windowInsets).when(mockShadeWindowView).getRootWindowInsets(); // Verify navbar altered back icon when an app is showing IME - mNavigationBar.setImeWindowStatus(DEFAULT_DISPLAY, null, IME_VISIBLE, + mNavigationBar.setImeWindowStatus(DEFAULT_DISPLAY, IME_VISIBLE, BACK_DISPOSITION_DEFAULT, true); assertTrue((mNavigationBar.getNavigationIconHints() & NAVIGATION_HINT_BACK_ALT) != 0); assertTrue((mNavigationBar.getNavigationIconHints() & NAVIGATION_HINT_IME_SHOWN) != 0); @@ -545,7 +545,7 @@ public class NavigationBarTest extends SysuiTestCase { // Verify navbar didn't alter and showing back icon when the keyguard is showing without // requesting IME insets visible. doReturn(true).when(mKeyguardStateController).isShowing(); - mNavigationBar.setImeWindowStatus(DEFAULT_DISPLAY, null, IME_VISIBLE, + mNavigationBar.setImeWindowStatus(DEFAULT_DISPLAY, IME_VISIBLE, BACK_DISPOSITION_DEFAULT, true); assertFalse((mNavigationBar.getNavigationIconHints() & NAVIGATION_HINT_BACK_ALT) != 0); assertFalse((mNavigationBar.getNavigationIconHints() & NAVIGATION_HINT_IME_SHOWN) != 0); @@ -556,7 +556,7 @@ public class NavigationBarTest extends SysuiTestCase { // requesting IME insets visible. windowInsets = new WindowInsets.Builder().setVisible(ime(), true).build(); doReturn(windowInsets).when(mockShadeWindowView).getRootWindowInsets(); - mNavigationBar.setImeWindowStatus(DEFAULT_DISPLAY, null, IME_VISIBLE, + mNavigationBar.setImeWindowStatus(DEFAULT_DISPLAY, IME_VISIBLE, BACK_DISPOSITION_DEFAULT, true); assertTrue((mNavigationBar.getNavigationIconHints() & NAVIGATION_HINT_BACK_ALT) != 0); assertTrue((mNavigationBar.getNavigationIconHints() & NAVIGATION_HINT_IME_SHOWN) != 0); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/CommandQueueTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/CommandQueueTest.java index 9df46e5047d2..86d21e8081e5 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/CommandQueueTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/CommandQueueTest.java @@ -195,10 +195,9 @@ public class CommandQueueTest extends SysuiTestCase { @Test public void testShowImeButton() { - mCommandQueue.setImeWindowStatus(DEFAULT_DISPLAY, null, 1, 2, true); + mCommandQueue.setImeWindowStatus(DEFAULT_DISPLAY, 1, 2, true); waitForIdleSync(); - verify(mCallbacks).setImeWindowStatus( - eq(DEFAULT_DISPLAY), eq(null), eq(1), eq(2), eq(true)); + verify(mCallbacks).setImeWindowStatus(eq(DEFAULT_DISPLAY), eq(1), eq(2), eq(true)); } @Test @@ -206,12 +205,11 @@ public class CommandQueueTest extends SysuiTestCase { // First show in default display to update the "last updated ime display" testShowImeButton(); - mCommandQueue.setImeWindowStatus(SECONDARY_DISPLAY, null, 1, 2, true); + mCommandQueue.setImeWindowStatus(SECONDARY_DISPLAY, 1, 2, true); waitForIdleSync(); - verify(mCallbacks).setImeWindowStatus(eq(DEFAULT_DISPLAY), eq(null), eq(IME_INVISIBLE), + verify(mCallbacks).setImeWindowStatus(eq(DEFAULT_DISPLAY), eq(IME_INVISIBLE), eq(BACK_DISPOSITION_DEFAULT), eq(false)); - verify(mCallbacks).setImeWindowStatus( - eq(SECONDARY_DISPLAY), eq(null), eq(1), eq(2), eq(true)); + verify(mCallbacks).setImeWindowStatus(eq(SECONDARY_DISPLAY), eq(1), eq(2), eq(true)); } @Test diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java index a9e9dcfa6b2f..60f7a52fee37 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java @@ -2773,7 +2773,7 @@ public final class InputMethodManagerService implements IInputMethodManagerImpl. } final IBinder targetWindow = mImeTargetWindowMap.get(startInputToken); if (targetWindow != null) { - mWindowManagerInternal.updateInputMethodTargetWindow(token, targetWindow); + mWindowManagerInternal.updateInputMethodTargetWindow(targetWindow); } mLastImeTargetWindow = targetWindow; } @@ -2845,8 +2845,8 @@ public final class InputMethodManagerService implements IInputMethodManagerImpl. } final boolean needsToShowImeSwitcher = shouldShowImeSwitcherLocked(vis, userId); if (mStatusBarManagerInternal != null) { - mStatusBarManagerInternal.setImeWindowStatus(curTokenDisplayId, - curToken, vis, backDisposition, needsToShowImeSwitcher); + mStatusBarManagerInternal.setImeWindowStatus(curTokenDisplayId, vis, + backDisposition, needsToShowImeSwitcher); } } finally { Binder.restoreCallingIdentity(ident); diff --git a/services/core/java/com/android/server/statusbar/StatusBarManagerInternal.java b/services/core/java/com/android/server/statusbar/StatusBarManagerInternal.java index e4f60ec2cdb8..a4a29a02f362 100644 --- a/services/core/java/com/android/server/statusbar/StatusBarManagerInternal.java +++ b/services/core/java/com/android/server/statusbar/StatusBarManagerInternal.java @@ -54,15 +54,13 @@ public interface StatusBarManagerInternal { * Used by InputMethodManagerService to notify the IME status. * * @param displayId The display to which the IME is bound to. - * @param token The IME token. * @param vis Bit flags about the IME visibility. * (e.g. {@link android.inputmethodservice.InputMethodService#IME_ACTIVE}) * @param backDisposition Bit flags about the IME back disposition. * (e.g. {@link android.inputmethodservice.InputMethodService#BACK_DISPOSITION_DEFAULT}) * @param showImeSwitcher {@code true} when the IME switcher button should be shown. */ - void setImeWindowStatus(int displayId, IBinder token, int vis, - int backDisposition, boolean showImeSwitcher); + void setImeWindowStatus(int displayId, int vis, int backDisposition, boolean showImeSwitcher); /** * See {@link android.app.StatusBarManager#setIcon(String, int, int, String)}. diff --git a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java index 85c8900555d9..bcb6c95c3daf 100644 --- a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java +++ b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java @@ -534,9 +534,9 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D } @Override - public void setImeWindowStatus(int displayId, IBinder token, int vis, int backDisposition, + public void setImeWindowStatus(int displayId, int vis, int backDisposition, boolean showImeSwitcher) { - StatusBarManagerService.this.setImeWindowStatus(displayId, token, vis, backDisposition, + StatusBarManagerService.this.setImeWindowStatus(displayId, vis, backDisposition, showImeSwitcher); } @@ -1351,25 +1351,24 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D } @Override - public void setImeWindowStatus(int displayId, final IBinder token, final int vis, - final int backDisposition, final boolean showImeSwitcher) { + public void setImeWindowStatus(int displayId, final int vis, final int backDisposition, + final boolean showImeSwitcher) { enforceStatusBar(); if (SPEW) { - Slog.d(TAG, "swetImeWindowStatus vis=" + vis + " backDisposition=" + backDisposition); + Slog.d(TAG, "setImeWindowStatus vis=" + vis + " backDisposition=" + backDisposition); } synchronized(mLock) { // In case of IME change, we need to call up setImeWindowStatus() regardless of // mImeWindowVis because mImeWindowVis may not have been set to false when the // previous IME was destroyed. - getUiState(displayId).setImeWindowState(vis, backDisposition, showImeSwitcher, token); + getUiState(displayId).setImeWindowState(vis, backDisposition, showImeSwitcher); mHandler.post(() -> { if (mBar == null) return; try { - mBar.setImeWindowStatus( - displayId, token, vis, backDisposition, showImeSwitcher); + mBar.setImeWindowStatus(displayId, vis, backDisposition, showImeSwitcher); } catch (RemoteException ex) { } }); } @@ -1422,7 +1421,6 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D private int mImeWindowVis = 0; private int mImeBackDisposition = 0; private boolean mShowImeSwitcher = false; - private IBinder mImeToken = null; private LetterboxDetails[] mLetterboxDetails = new LetterboxDetails[0]; private void setBarAttributes(@Appearance int appearance, @@ -1465,11 +1463,10 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D } private void setImeWindowState(final int vis, final int backDisposition, - final boolean showImeSwitcher, final IBinder token) { + final boolean showImeSwitcher) { mImeWindowVis = vis; mImeBackDisposition = backDisposition; mShowImeSwitcher = showImeSwitcher; - mImeToken = token; } } @@ -1563,7 +1560,7 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D return new RegisterStatusBarResult(icons, gatherDisableActionsLocked(mCurrentUserId, 1), state.mAppearance, state.mAppearanceRegions, state.mImeWindowVis, state.mImeBackDisposition, state.mShowImeSwitcher, - gatherDisableActionsLocked(mCurrentUserId, 2), state.mImeToken, + gatherDisableActionsLocked(mCurrentUserId, 2), state.mNavbarColorManagedByIme, state.mBehavior, state.mRequestedVisibleTypes, state.mPackageName, state.mTransientBarTypes, state.mLetterboxDetails); } diff --git a/services/core/java/com/android/server/wm/WindowManagerInternal.java b/services/core/java/com/android/server/wm/WindowManagerInternal.java index 132e1ee99914..68074d960bcc 100644 --- a/services/core/java/com/android/server/wm/WindowManagerInternal.java +++ b/services/core/java/com/android/server/wm/WindowManagerInternal.java @@ -689,15 +689,10 @@ public abstract class WindowManagerInternal { *

Only {@link com.android.server.inputmethod.InputMethodManagerService} is the expected and * tested caller of this method.

* - * @param imeToken token to track the active input method. Corresponding IME windows can be - * identified by checking {@link android.view.WindowManager.LayoutParams#token}. - * Note that there is no guarantee that the corresponding window is already - * created * @param imeTargetWindowToken token to identify the target window that the IME is associated * with */ - public abstract void updateInputMethodTargetWindow(@NonNull IBinder imeToken, - @NonNull IBinder imeTargetWindowToken); + public abstract void updateInputMethodTargetWindow(@NonNull IBinder imeTargetWindowToken); /** * Returns true when the hardware keyboard is available. diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index f65eea0797bf..d5826ffab2a9 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -8093,11 +8093,10 @@ public class WindowManagerService extends IWindowManager.Stub } @Override - public void updateInputMethodTargetWindow(@NonNull IBinder imeToken, - @NonNull IBinder imeTargetWindowToken) { + public void updateInputMethodTargetWindow(@NonNull IBinder imeTargetWindowToken) { // TODO (b/34628091): Use this method to address the window animation issue. if (DEBUG_INPUT_METHOD) { - Slog.w(TAG_WM, "updateInputMethodTargetWindow: imeToken=" + imeToken + Slog.w(TAG_WM, "updateInputMethodTargetWindow:" + " imeTargetWindowToken=" + imeTargetWindowToken); } synchronized (mGlobalLock) { -- cgit v1.2.3-59-g8ed1b