Merge "Inline InputMethodMenuController.HardKeyboardListener"

This commit is contained in:
TreeHugger Robot
2022-01-17 21:55:19 +00:00
committed by Android (Google) Code Review
2 changed files with 16 additions and 39 deletions

View File

@@ -246,10 +246,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
private static final int MSG_SET_INTERACTIVE = 3030;
private static final int MSG_REPORT_FULLSCREEN_MODE = 3045;
/**
* package-private because this is also used by {@link InputMethodMenuController}.
*/
static final int MSG_HARD_KEYBOARD_SWITCH_CHANGED = 4000;
private static final int MSG_HARD_KEYBOARD_SWITCH_CHANGED = 4000;
private static final int MSG_SYSTEM_UNLOCK_USER = 5000;
private static final int MSG_DISPATCH_ON_INPUT_METHOD_LIST_UPDATED = 5010;
@@ -284,7 +281,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
final Context mContext;
final Resources mRes;
final Handler mHandler;
private final Handler mHandler;
final InputMethodSettings mSettings;
final SettingsObserver mSettingsObserver;
final IWindowManager mIWindowManager;
@@ -1812,10 +1809,10 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
mShowOngoingImeSwitcherForPhones = mRes.getBoolean(
com.android.internal.R.bool.show_ongoing_ime_switcher);
if (mShowOngoingImeSwitcherForPhones) {
final InputMethodMenuController.HardKeyboardListener hardKeyboardListener =
mMenuController.getHardKeyboardListener();
mWindowManagerInternal.setOnHardKeyboardStatusChangeListener(
hardKeyboardListener);
mWindowManagerInternal.setOnHardKeyboardStatusChangeListener(available -> {
mHandler.obtainMessage(MSG_HARD_KEYBOARD_SWITCH_CHANGED, available ? 1 : 0)
.sendToTarget();
});
}
mMyPackageMonitor.register(mContext, null, UserHandle.ALL, true);
@@ -4422,9 +4419,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
// --------------------------------------------------------------
case MSG_HARD_KEYBOARD_SWITCH_CHANGED:
final InputMethodMenuController.HardKeyboardListener hardKeyboardListener =
mMenuController.getHardKeyboardListener();
hardKeyboardListener.handleHardKeyboardStatusChange(msg.arg1 == 1);
mMenuController.handleHardKeyboardStatusChange(msg.arg1 == 1);
return true;
case MSG_SYSTEM_UNLOCK_USER: {
final int userId = msg.arg1;

View File

@@ -18,7 +18,6 @@ package com.android.server.inputmethod;
import static com.android.internal.annotations.VisibleForTesting.Visibility.PACKAGE;
import static com.android.server.inputmethod.InputMethodManagerService.DEBUG;
import static com.android.server.inputmethod.InputMethodManagerService.MSG_HARD_KEYBOARD_SWITCH_CHANGED;
import static com.android.server.inputmethod.InputMethodUtils.NOT_A_SUBTYPE_ID;
import android.app.ActivityThread;
@@ -28,7 +27,6 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.os.IBinder;
import android.text.TextUtils;
import android.util.ArrayMap;
@@ -62,10 +60,8 @@ public class InputMethodMenuController {
private final InputMethodManagerService mService;
private final InputMethodUtils.InputMethodSettings mSettings;
private final InputMethodSubtypeSwitchingController mSwitchingController;
private final Handler mHandler;
private final ArrayMap<String, InputMethodInfo> mMethodMap;
private final KeyguardManager mKeyguardManager;
private final HardKeyboardListener mHardKeyboardListener;
private final WindowManagerInternal mWindowManagerInternal;
private Context mSettingsContext;
@@ -83,10 +79,8 @@ public class InputMethodMenuController {
mService = service;
mSettings = mService.mSettings;
mSwitchingController = mService.mSwitchingController;
mHandler = mService.mHandler;
mMethodMap = mService.mMethodMap;
mKeyguardManager = mService.mKeyguardManager;
mHardKeyboardListener = new HardKeyboardListener();
mWindowManagerInternal = LocalServices.getService(WindowManagerInternal.class);
}
@@ -271,10 +265,6 @@ public class InputMethodMenuController {
}
}
HardKeyboardListener getHardKeyboardListener() {
return mHardKeyboardListener;
}
AlertDialog getSwitchingDialogLocked() {
return mSwitchingDialog;
}
@@ -290,24 +280,16 @@ public class InputMethodMenuController {
return mSwitchingDialog.isShowing();
}
class HardKeyboardListener implements WindowManagerInternal.OnHardKeyboardStatusChangeListener {
@Override
public void onHardKeyboardStatusChange(boolean available) {
mHandler.sendMessage(mHandler.obtainMessage(MSG_HARD_KEYBOARD_SWITCH_CHANGED,
available ? 1 : 0));
void handleHardKeyboardStatusChange(boolean available) {
if (DEBUG) {
Slog.w(TAG, "HardKeyboardStatusChanged: available=" + available);
}
public void handleHardKeyboardStatusChange(boolean available) {
if (DEBUG) {
Slog.w(TAG, "HardKeyboardStatusChanged: available=" + available);
}
synchronized (ImfLock.class) {
if (mSwitchingDialog != null && mSwitchingDialogTitleView != null
&& mSwitchingDialog.isShowing()) {
mSwitchingDialogTitleView.findViewById(
com.android.internal.R.id.hard_keyboard_section).setVisibility(
available ? View.VISIBLE : View.GONE);
}
synchronized (ImfLock.class) {
if (mSwitchingDialog != null && mSwitchingDialogTitleView != null
&& mSwitchingDialog.isShowing()) {
mSwitchingDialogTitleView.findViewById(
com.android.internal.R.id.hard_keyboard_section).setVisibility(
available ? View.VISIBLE : View.GONE);
}
}
}