Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cf695aab authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Move InputMethodSytemProperty to server from client."

parents e001e5fd 07b318bd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -480,7 +480,7 @@ public class EditorInfo implements InputType, Parcelable {
     * matter what user ID the calling process has.
     *
     * <p>Note: This field will be silently ignored when
     * {@link android.view.inputmethod.InputMethodSystemProperty#MULTI_CLIENT_IME_ENABLED} is
     * {@link com.android.server.inputmethod.InputMethodSystemProperty#MULTI_CLIENT_IME_ENABLED} is
     * {@code true}.</p>
     *
     * <p>Note also that pseudo handles such as {@link UserHandle#ALL} are not supported.</p>
+1 −1
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ oneway interface IStatusBar

    void topAppWindowChanged(int displayId, boolean menuVisible);
    void setImeWindowStatus(int displayId, in IBinder token, int vis, int backDisposition,
            boolean showImeSwitcher);
            boolean showImeSwitcher, boolean isMultiClientImeEnabled);
    void setWindowState(int display, int window, int state);

    void showRecentApps(boolean triggeredFromAltTab);
+1 −1
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ interface IStatusBarService
    @UnsupportedAppUsage
    void removeIcon(String slot);
    void setImeWindowStatus(int displayId, in IBinder token, int vis, int backDisposition,
            boolean showImeSwitcher);
            boolean showImeSwitcher, boolean isMultiClientImeEnabled);
    void expandSettingsPanel(String subPanel);

    // ---- Methods below are for use by the status bar policy services ----
+6 −6
Original line number Diff line number Diff line
@@ -43,7 +43,6 @@ import android.os.Looper;
import android.os.Message;
import android.util.Pair;
import android.util.SparseArray;
import android.view.inputmethod.InputMethodSystemProperty;

import androidx.annotation.VisibleForTesting;

@@ -481,7 +480,7 @@ public class CommandQueue extends IStatusBar.Stub implements CallbackController<

    @Override
    public void setImeWindowStatus(int displayId, IBinder token, int vis, int backDisposition,
            boolean showImeSwitcher) {
            boolean showImeSwitcher, boolean isMultiClientImeEnabled) {
        synchronized (mLock) {
            mHandler.removeMessages(MSG_SHOW_IME_BUTTON);
            SomeArgs args = SomeArgs.obtain();
@@ -489,6 +488,7 @@ public class CommandQueue extends IStatusBar.Stub implements CallbackController<
            args.argi2 = vis;
            args.argi3 = backDisposition;
            args.argi4 = showImeSwitcher ? 1 : 0;
            args.argi5 = isMultiClientImeEnabled ? 1 : 0;
            args.arg1 = token;
            Message m = mHandler.obtainMessage(MSG_SHOW_IME_BUTTON, args);
            m.sendToTarget();
@@ -801,11 +801,10 @@ public class CommandQueue extends IStatusBar.Stub implements CallbackController<
    }

    private void handleShowImeButton(int displayId, IBinder token, int vis, int backDisposition,
            boolean showImeSwitcher) {
            boolean showImeSwitcher, boolean isMultiClientImeEnabled) {
        if (displayId == INVALID_DISPLAY) return;

        if (!InputMethodSystemProperty.MULTI_CLIENT_IME_ENABLED
                && mLastUpdatedImeDisplayId != displayId
        if (!isMultiClientImeEnabled && mLastUpdatedImeDisplayId != displayId
                && mLastUpdatedImeDisplayId != INVALID_DISPLAY) {
            // Set previous NavBar's IME window status as invisible when IME
            // window switched to another display for single-session IME case.
@@ -891,7 +890,8 @@ public class CommandQueue extends IStatusBar.Stub implements CallbackController<
                    args = (SomeArgs) msg.obj;
                    handleShowImeButton(args.argi1 /* displayId */, (IBinder) args.arg1 /* token */,
                            args.argi2 /* vis */, args.argi3 /* backDisposition */,
                            args.argi4 != 0 /* showImeSwitcher */);
                            args.argi4 != 0 /* showImeSwitcher */,
                            args.argi5 != 0 /* isMultiClientImeEnabled */);
                    break;
                case MSG_SHOW_RECENT_APPS:
                    for (int i = 0; i < mCallbacks.size(); i++) {
+2 −2
Original line number Diff line number Diff line
@@ -129,7 +129,7 @@ public class CommandQueueTest extends SysuiTestCase {

    @Test
    public void testShowImeButton() {
        mCommandQueue.setImeWindowStatus(DEFAULT_DISPLAY, null, 1, 2, true);
        mCommandQueue.setImeWindowStatus(DEFAULT_DISPLAY, null, 1, 2, true, false);
        waitForIdleSync();
        verify(mCallbacks).setImeWindowStatus(
                eq(DEFAULT_DISPLAY), eq(null), eq(1), eq(2), eq(true));
@@ -137,7 +137,7 @@ public class CommandQueueTest extends SysuiTestCase {

    @Test
    public void testShowImeButtonForSecondaryDisplay() {
        mCommandQueue.setImeWindowStatus(SECONDARY_DISPLAY, null, 1, 2, true);
        mCommandQueue.setImeWindowStatus(SECONDARY_DISPLAY, null, 1, 2, true, false);
        waitForIdleSync();
        verify(mCallbacks).setImeWindowStatus(
                eq(SECONDARY_DISPLAY), eq(null), eq(1), eq(2), eq(true));
Loading