[Physical Keyboard Setting] Add log and null check
update getParcelable api usage, add null check and logging.
Bug: 317416208
Test: Verified on device
Change-Id: I125a6c9cdb5c86be7582ad5102257efb1fa6a1a4
diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
index abe640b..05dc5be 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
@@ -105,8 +105,13 @@
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 @@
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 38de93e..7de505e 100644
--- a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
@@ -151,7 +151,8 @@
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 @@
}
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 @@
if (mIntentWaitingForResult != null) {
InputDeviceIdentifier inputDeviceIdentifier = mIntentWaitingForResult
- .getParcelableExtra(KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER);
+ .getParcelableExtra(KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER,
+ InputDeviceIdentifier.class);
mIntentWaitingForResult = null;
showKeyboardLayoutDialog(inputDeviceIdentifier);
}