am 28a049a6: am 1b87bec5: Merge "If a device identifier is specified, bring up keyboard layouts dialog." into lmp-dev
* commit '28a049a69471f1cdb7dce4490ffea38c1b3f417e':
If a device identifier is specified, bring up keyboard layouts dialog.
diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
index f0f7307..bae9dbc 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
@@ -147,9 +147,10 @@
mGameControllerCategory = (PreferenceCategory)findPreference(
"game_controller_settings_category");
+ final Intent startingIntent = activity.getIntent();
// Filter out irrelevant features if invoked from IME settings button.
mShowsOnlyFullImeAndKeyboardList = Settings.ACTION_INPUT_METHOD_SETTINGS.equals(
- activity.getIntent().getAction());
+ startingIntent.getAction());
if (mShowsOnlyFullImeAndKeyboardList) {
getPreferenceScreen().removeAll();
getPreferenceScreen().addPreference(mHardKeyboardCategory);
@@ -182,6 +183,14 @@
mSettingsObserver = new SettingsObserver(mHandler, activity);
mDpm = (DevicePolicyManager) (getActivity().
getSystemService(Context.DEVICE_POLICY_SERVICE));
+
+ // If we've launched from the keyboard layout notification, go ahead and just show the
+ // keyboard layout dialog.
+ final InputDeviceIdentifier identifier =
+ startingIntent.getParcelableExtra(Settings.EXTRA_INPUT_DEVICE_IDENTIFIER);
+ if (mShowsOnlyFullImeAndKeyboardList && identifier != null) {
+ showKeyboardLayoutDialog(identifier);
+ }
}
private void updateInputMethodSelectorSummary(int value) {