diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java index abe640bcadb..05dc5bea33a 100644 --- a/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java +++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java @@ -105,8 +105,13 @@ public class NewKeyboardLayoutEnabledLocalesFragment extends DashboardFragment public void onActivityCreated(final Bundle icicle) { super.onActivityCreated(icicle); Bundle arguments = getArguments(); + if (arguments == null) { + Log.e(TAG, "Arguments should not be null"); + return; + } mInputDeviceIdentifier = - arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_DEVICE_IDENTIFIER); + arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_DEVICE_IDENTIFIER, + InputDeviceIdentifier.class); if (mInputDeviceIdentifier == null) { Log.e(TAG, "The inputDeviceIdentifier should not be null"); return; @@ -128,6 +133,7 @@ public class NewKeyboardLayoutEnabledLocalesFragment extends DashboardFragment InputDevice inputDevice = NewKeyboardSettingsUtils.getInputDevice(mIm, mInputDeviceIdentifier); if (inputDevice == null) { + Log.e(TAG, "Unable to start: input device is null"); getActivity().finish(); return; } diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java index 38de93ea2d2..7de505edbca 100644 --- a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java +++ b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java @@ -151,7 +151,8 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment mKeyboardA11yCategory.removePreference(mAccessibilityStickyKeys); } InputDeviceIdentifier inputDeviceIdentifier = activity.getIntent().getParcelableExtra( - KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER); + KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER, + InputDeviceIdentifier.class); int intentFromWhere = activity.getIntent().getIntExtra(android.provider.Settings.EXTRA_ENTRYPOINT, -1); if (intentFromWhere != -1) { @@ -168,7 +169,8 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment } private static boolean isAutoSelection(Bundle bundle, InputDeviceIdentifier identifier) { - if (bundle != null && bundle.getParcelable(EXTRA_AUTO_SELECTION) != null) { + if (bundle != null && bundle.getParcelable(EXTRA_AUTO_SELECTION, + InputDeviceIdentifier.class) != null) { return false; } return identifier != null; @@ -446,7 +448,8 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment if (mIntentWaitingForResult != null) { InputDeviceIdentifier inputDeviceIdentifier = mIntentWaitingForResult - .getParcelableExtra(KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER); + .getParcelableExtra(KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER, + InputDeviceIdentifier.class); mIntentWaitingForResult = null; showKeyboardLayoutDialog(inputDeviceIdentifier); }