From a18f9e501455e8a113be34e7a26b316f90530367 Mon Sep 17 00:00:00 2001 From: Jason Chiu Date: Mon, 25 Mar 2024 17:08:09 +0800 Subject: [PATCH] [Safer intents] Input method To avoid implicit intents, make intents launch explicitly. Test: build Bug: 323061508 Change-Id: I8d9e8e2b70c3ef913087b72800cd40e0c3df8164 --- .../inputmethod/KeyboardSettingsPreferenceController.java | 1 + .../inputmethod/PhysicalKeyboardPreferenceController.java | 1 + .../inputmethod/UserDictionaryListPreferenceController.java | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/inputmethod/KeyboardSettingsPreferenceController.java b/src/com/android/settings/inputmethod/KeyboardSettingsPreferenceController.java index ae6a24ac817..06a132d6069 100644 --- a/src/com/android/settings/inputmethod/KeyboardSettingsPreferenceController.java +++ b/src/com/android/settings/inputmethod/KeyboardSettingsPreferenceController.java @@ -53,6 +53,7 @@ public class KeyboardSettingsPreferenceController extends BasePreferenceControll for (HardKeyboardDeviceInfo hardKeyboardDeviceInfo : newHardKeyboards) { if (mCachedDevice.getAddress().equals(hardKeyboardDeviceInfo.mBluetoothAddress)) { Intent intent = new Intent(Settings.ACTION_HARD_KEYBOARD_SETTINGS); + intent.setPackage(mContext.getPackageName()); intent.putExtra( Settings.EXTRA_ENTRYPOINT, SettingsEnums.CONNECTED_DEVICES_SETTINGS); intent.putExtra( diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceController.java b/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceController.java index b88928ca531..e4ad17a7822 100644 --- a/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceController.java +++ b/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceController.java @@ -67,6 +67,7 @@ public class PhysicalKeyboardPreferenceController extends AbstractPreferenceCont return false; } Intent intent = new Intent(Settings.ACTION_HARD_KEYBOARD_SETTINGS); + intent.setPackage(mContext.getPackageName()); intent.putExtra(Settings.EXTRA_ENTRYPOINT, SettingsEnums.KEYBOARD_SETTINGS); mContext.startActivity(intent); return true; diff --git a/src/com/android/settings/inputmethod/UserDictionaryListPreferenceController.java b/src/com/android/settings/inputmethod/UserDictionaryListPreferenceController.java index 9343493de2f..ddc0feaa549 100644 --- a/src/com/android/settings/inputmethod/UserDictionaryListPreferenceController.java +++ b/src/com/android/settings/inputmethod/UserDictionaryListPreferenceController.java @@ -191,7 +191,8 @@ public class UserDictionaryListPreferenceController extends BasePreferenceContro private Preference createUserDictionaryPreference(String locale) { final String KEY_LOCALE = "locale"; final Preference newPref = new Preference(mScreen.getContext()); - final Intent intent = new Intent(USER_DICTIONARY_SETTINGS_INTENT_ACTION); + final Intent intent = new Intent(USER_DICTIONARY_SETTINGS_INTENT_ACTION) + .setPackage(mContext.getPackageName()); if (locale == null) { newPref.setTitle(Locale.getDefault().getDisplayName()); newPref.setKey(Locale.getDefault().toString());