diff --git a/core/java/com/android/internal/statusbar/IStatusBar.aidl b/core/java/com/android/internal/statusbar/IStatusBar.aidl
index 69ffbfef85673..57472f8b5b965 100644
--- a/core/java/com/android/internal/statusbar/IStatusBar.aidl
+++ b/core/java/com/android/internal/statusbar/IStatusBar.aidl
@@ -32,7 +32,6 @@ oneway interface IStatusBar
void topAppWindowChanged(boolean menuVisible);
void setImeWindowStatus(in IBinder token, int vis, int backDisposition,
boolean showImeSwitcher);
- void setHardKeyboardStatus(boolean available, boolean enabled);
void setWindowState(int window, int state);
void buzzBeepBlinked();
void notificationLightOff();
diff --git a/core/java/com/android/internal/statusbar/IStatusBarService.aidl b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
index 50c82bbce5cfa..8794d319e1792 100644
--- a/core/java/com/android/internal/statusbar/IStatusBarService.aidl
+++ b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
@@ -51,7 +51,6 @@ interface IStatusBarService
in String[] newlyVisibleKeys, in String[] noLongerVisibleKeys);
void onNotificationExpansionChanged(in String key, in boolean userAction, in boolean expanded);
void setSystemUiVisibility(int vis, int mask);
- void setHardKeyboardEnabled(boolean enabled);
void setWindowState(int window, int state);
void showRecentApps(boolean triggeredFromAltTab);
diff --git a/core/res/res/layout/input_method_switch_dialog_title.xml b/core/res/res/layout/input_method_switch_dialog_title.xml
index d498d23c449df..37bceb6acc44a 100644
--- a/core/res/res/layout/input_method_switch_dialog_title.xml
+++ b/core/res/res/layout/input_method_switch_dialog_title.xml
@@ -80,7 +80,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
- android:text="@string/use_physical_keyboard"
+ android:text="@string/show_ime"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorAlertDialogListItem" />
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 6262f13e78147..c68f355f7b008 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -3783,8 +3783,9 @@
Change keyboard
Choose keyboards
-
- Physical keyboard
+
+ Show input method
Hardware
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
index 947d70d518542..53bdcbfd2c925 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
@@ -457,8 +457,7 @@ public abstract class BaseStatusBar extends SystemUI implements
setSystemUiVisibility(switches[1], 0xffffffff);
topAppWindowChanged(switches[2] != 0);
// StatusBarManagerService has a back up of IME token and it's restored here.
- setImeWindowStatus(binders.get(0), switches[3], switches[4], switches[7] != 0);
- setHardKeyboardStatus(switches[5] != 0, switches[6] != 0);
+ setImeWindowStatus(binders.get(0), switches[3], switches[4], switches[5] != 0);
// Set up the initial icon state
int N = iconList.size();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
index 63dd1e3ed8eb7..9db875fab062e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
@@ -47,16 +47,15 @@ public class CommandQueue extends IStatusBar.Stub {
private static final int MSG_SET_SYSTEMUI_VISIBILITY = 6 << MSG_SHIFT;
private static final int MSG_TOP_APP_WINDOW_CHANGED = 7 << MSG_SHIFT;
private static final int MSG_SHOW_IME_BUTTON = 8 << MSG_SHIFT;
- private static final int MSG_SET_HARD_KEYBOARD_STATUS = 9 << MSG_SHIFT;
- private static final int MSG_TOGGLE_RECENT_APPS = 10 << MSG_SHIFT;
- private static final int MSG_PRELOAD_RECENT_APPS = 11 << MSG_SHIFT;
- private static final int MSG_CANCEL_PRELOAD_RECENT_APPS = 12 << MSG_SHIFT;
- private static final int MSG_SET_WINDOW_STATE = 13 << MSG_SHIFT;
- private static final int MSG_SHOW_RECENT_APPS = 14 << MSG_SHIFT;
- private static final int MSG_HIDE_RECENT_APPS = 15 << MSG_SHIFT;
- private static final int MSG_BUZZ_BEEP_BLINKED = 16 << MSG_SHIFT;
- private static final int MSG_NOTIFICATION_LIGHT_OFF = 17 << MSG_SHIFT;
- private static final int MSG_NOTIFICATION_LIGHT_PULSE = 18 << MSG_SHIFT;
+ private static final int MSG_TOGGLE_RECENT_APPS = 9 << MSG_SHIFT;
+ private static final int MSG_PRELOAD_RECENT_APPS = 10 << MSG_SHIFT;
+ private static final int MSG_CANCEL_PRELOAD_RECENT_APPS = 11 << MSG_SHIFT;
+ private static final int MSG_SET_WINDOW_STATE = 12 << MSG_SHIFT;
+ private static final int MSG_SHOW_RECENT_APPS = 13 << MSG_SHIFT;
+ private static final int MSG_HIDE_RECENT_APPS = 14 << MSG_SHIFT;
+ private static final int MSG_BUZZ_BEEP_BLINKED = 15 << MSG_SHIFT;
+ private static final int MSG_NOTIFICATION_LIGHT_OFF = 16 << MSG_SHIFT;
+ private static final int MSG_NOTIFICATION_LIGHT_PULSE = 17 << MSG_SHIFT;
public static final int FLAG_EXCLUDE_NONE = 0;
public static final int FLAG_EXCLUDE_SEARCH_PANEL = 1 << 0;
@@ -87,7 +86,6 @@ public class CommandQueue extends IStatusBar.Stub {
public void topAppWindowChanged(boolean visible);
public void setImeWindowStatus(IBinder token, int vis, int backDisposition,
boolean showImeSwitcher);
- public void setHardKeyboardStatus(boolean available, boolean enabled);
public void showRecentApps(boolean triggeredFromAltTab);
public void hideRecentApps(boolean triggeredFromAltTab, boolean triggeredFromHomeKey);
public void toggleRecentApps();
@@ -175,14 +173,6 @@ public class CommandQueue extends IStatusBar.Stub {
}
}
- public void setHardKeyboardStatus(boolean available, boolean enabled) {
- synchronized (mList) {
- mHandler.removeMessages(MSG_SET_HARD_KEYBOARD_STATUS);
- mHandler.obtainMessage(MSG_SET_HARD_KEYBOARD_STATUS,
- available ? 1 : 0, enabled ? 1 : 0).sendToTarget();
- }
- }
-
public void showRecentApps(boolean triggeredFromAltTab) {
synchronized (mList) {
mHandler.removeMessages(MSG_SHOW_RECENT_APPS);
@@ -300,9 +290,6 @@ public class CommandQueue extends IStatusBar.Stub {
mCallbacks.setImeWindowStatus((IBinder) msg.obj, msg.arg1, msg.arg2,
msg.getData().getBoolean(SHOW_IME_SWITCHER_KEY, false));
break;
- case MSG_SET_HARD_KEYBOARD_STATUS:
- mCallbacks.setHardKeyboardStatus(msg.arg1 != 0, msg.arg2 != 0);
- break;
case MSG_SHOW_RECENT_APPS:
mCallbacks.showRecentApps(msg.arg1 != 0);
break;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index 7a9cbef7e93b1..23b55ee53fc3a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -2635,9 +2635,6 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
setNavigationIconHints(flags);
}
- @Override
- public void setHardKeyboardStatus(boolean available, boolean enabled) {}
-
@Override
protected void tick(StatusBarNotification n, boolean firstTime) {
if (!mTickerEnabled) return;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java
index 049add571864c..1b6a9e1686a1b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java
@@ -83,10 +83,6 @@ public class TvStatusBar extends BaseStatusBar {
boolean showImeSwitcher) {
}
- @Override
- public void setHardKeyboardStatus(boolean available, boolean enabled) {
- }
-
@Override
public void toggleRecentApps() {
}
diff --git a/services/core/java/com/android/server/InputMethodManagerService.java b/services/core/java/com/android/server/InputMethodManagerService.java
index 4687e3fa54fd7..e0f9b9cfb4fee 100644
--- a/services/core/java/com/android/server/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/InputMethodManagerService.java
@@ -603,10 +603,11 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
MSG_HARD_KEYBOARD_SWITCH_CHANGED, available ? 1 : 0, enabled ? 1 : 0));
}
- public void handleHardKeyboardStatusChange(boolean available, boolean enabled) {
+ public void handleHardKeyboardStatusChange(boolean available,
+ boolean showImeWithHardKeyboard) {
if (DEBUG) {
- Slog.w(TAG, "HardKeyboardStatusChanged: available = " + available + ", enabled = "
- + enabled);
+ Slog.w(TAG, "HardKeyboardStatusChanged: available = " + available
+ + ", showImeWithHardKeyboard= " + showImeWithHardKeyboard);
}
synchronized(mMethodMap) {
if (mSwitchingDialog != null && mSwitchingDialogTitleView != null
@@ -2810,11 +2811,11 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
? View.VISIBLE : View.GONE);
final Switch hardKeySwitch = (Switch)mSwitchingDialogTitleView.findViewById(
com.android.internal.R.id.hard_keyboard_switch);
- hardKeySwitch.setChecked(mWindowManagerService.isHardKeyboardEnabled());
+ hardKeySwitch.setChecked(mWindowManagerService.isShowImeWithHardKeyboardEnabled());
hardKeySwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- mWindowManagerService.setHardKeyboardEnabled(isChecked);
+ mWindowManagerService.setShowImeWithHardKeyboard(isChecked);
// Ensure that the input method dialog is dismissed when changing
// the hardware keyboard state.
hideInputMethodMenu();
diff --git a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
index 21905f00f229a..297dacf328627 100644
--- a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
+++ b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
@@ -48,9 +48,7 @@ import java.util.Map;
* A note on locking: We rely on the fact that calls onto mBar are oneway or
* if they are local, that they just enqueue messages to not deadlock.
*/
-public class StatusBarManagerService extends IStatusBarService.Stub
- implements WindowManagerService.OnHardKeyboardStatusChangeListener
-{
+public class StatusBarManagerService extends IStatusBarService.Stub {
private static final String TAG = "StatusBarManagerService";
private static final boolean SPEW = false;
@@ -95,7 +93,6 @@ public class StatusBarManagerService extends IStatusBarService.Stub
public StatusBarManagerService(Context context, WindowManagerService windowManager) {
mContext = context;
mWindowManager = windowManager;
- mWindowManager.setOnHardKeyboardStatusChangeListener(this);
final Resources res = context.getResources();
mIcons.defineSlots(res.getStringArray(com.android.internal.R.array.config_statusBarIcons));
@@ -393,29 +390,6 @@ public class StatusBarManagerService extends IStatusBarService.Stub
}
}
- @Override
- public void setHardKeyboardEnabled(final boolean enabled) {
- mHandler.post(new Runnable() {
- public void run() {
- mWindowManager.setHardKeyboardEnabled(enabled);
- }
- });
- }
-
- @Override
- public void onHardKeyboardStatusChange(final boolean available, final boolean enabled) {
- mHandler.post(new Runnable() {
- public void run() {
- if (mBar != null) {
- try {
- mBar.setHardKeyboardStatus(available, enabled);
- } catch (RemoteException ex) {
- }
- }
- }
- });
- }
-
@Override
public void toggleRecentApps() {
if (mBar != null) {
@@ -510,11 +484,9 @@ public class StatusBarManagerService extends IStatusBarService.Stub
switches[2] = mMenuVisible ? 1 : 0;
switches[3] = mImeWindowVis;
switches[4] = mImeBackDisposition;
- switches[7] = mShowImeSwitcher ? 1 : 0;
+ switches[5] = mShowImeSwitcher ? 1 : 0;
binders.add(mImeToken);
}
- switches[5] = mWindowManager.isHardKeyboardAvailable() ? 1 : 0;
- switches[6] = mWindowManager.isHardKeyboardEnabled() ? 1 : 0;
}
/**
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 22956561d5987..112972f5aafcf 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -537,7 +537,7 @@ public class WindowManagerService extends IWindowManager.Stub
final ArrayList mInputMethodDialogs = new ArrayList();
boolean mHardKeyboardAvailable;
- boolean mHardKeyboardEnabled;
+ boolean mShowImeWithHardKeyboard;
OnHardKeyboardStatusChangeListener mHardKeyboardStatusChangeListener;
final ArrayList mWallpaperTokens = new ArrayList();
@@ -7015,11 +7015,11 @@ public class WindowManagerService extends IWindowManager.Stub
boolean hardKeyboardAvailable = config.keyboard != Configuration.KEYBOARD_NOKEYS;
if (hardKeyboardAvailable != mHardKeyboardAvailable) {
mHardKeyboardAvailable = hardKeyboardAvailable;
- mHardKeyboardEnabled = hardKeyboardAvailable;
+ mShowImeWithHardKeyboard = !hardKeyboardAvailable;
mH.removeMessages(H.REPORT_HARD_KEYBOARD_STATUS_CHANGE);
mH.sendEmptyMessage(H.REPORT_HARD_KEYBOARD_STATUS_CHANGE);
}
- if (!mHardKeyboardEnabled) {
+ if (mShowImeWithHardKeyboard) {
config.keyboard = Configuration.KEYBOARD_NOKEYS;
}
@@ -7039,16 +7039,16 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
- public boolean isHardKeyboardEnabled() {
+ public boolean isShowImeWithHardKeyboardEnabled() {
synchronized (mWindowMap) {
- return mHardKeyboardEnabled;
+ return mShowImeWithHardKeyboard;
}
}
- public void setHardKeyboardEnabled(boolean enabled) {
+ public void setShowImeWithHardKeyboard(boolean enabled) {
synchronized (mWindowMap) {
- if (mHardKeyboardEnabled != enabled) {
- mHardKeyboardEnabled = enabled;
+ if (mShowImeWithHardKeyboard != enabled) {
+ mShowImeWithHardKeyboard = enabled;
mH.sendEmptyMessage(H.SEND_NEW_CONFIGURATION);
}
}
@@ -7062,15 +7062,15 @@ public class WindowManagerService extends IWindowManager.Stub
}
void notifyHardKeyboardStatusChange() {
- final boolean available, enabled;
+ final boolean available, showImeWithHardKeyboard;
final OnHardKeyboardStatusChangeListener listener;
synchronized (mWindowMap) {
listener = mHardKeyboardStatusChangeListener;
available = mHardKeyboardAvailable;
- enabled = mHardKeyboardEnabled;
+ showImeWithHardKeyboard = mShowImeWithHardKeyboard;
}
if (listener != null) {
- listener.onHardKeyboardStatusChange(available, enabled);
+ listener.onHardKeyboardStatusChange(available, showImeWithHardKeyboard);
}
}
@@ -11053,7 +11053,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
public interface OnHardKeyboardStatusChangeListener {
- public void onHardKeyboardStatusChange(boolean available, boolean enabled);
+ public void onHardKeyboardStatusChange(boolean available, boolean showIme);
}
void debugLayoutRepeats(final String msg, int pendingLayoutChanges) {