summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/SettingsActivity.java
diff options
context:
space:
mode:
authorJason Chiu <chiujason@google.com>2021-06-29 21:10:32 +0800
committerJason Chiu <chiujason@google.com>2021-06-30 18:33:59 +0800
commitc38978f3e14490d1a87f40b03445b4b2f4db8a18 (patch)
tree9cbd77e74f2d1e3d2a729971f28dcd9c3f64899e /src/com/android/settings/SettingsActivity.java
parentbaecf00ce2fa5a1f412242a3730aae2c5472372a (diff)
downloadpackages_apps_Settings-c38978f3e14490d1a87f40b03445b4b2f4db8a18.tar.gz
packages_apps_Settings-c38978f3e14490d1a87f40b03445b4b2f4db8a18.tar.bz2
packages_apps_Settings-c38978f3e14490d1a87f40b03445b4b2f4db8a18.zip
Guard against the exceptions when launching a non-existing fragment
Test: robotest Bug: 190371550 Change-Id: I2bb7d4bdb23756634526db7e272563a1587c9640
Diffstat (limited to 'src/com/android/settings/SettingsActivity.java')
-rw-r--r--src/com/android/settings/SettingsActivity.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 12f63ea226..f3cdd6c164 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -574,7 +574,7 @@ public class SettingsActivity extends SettingsBaseActivity
/**
* Switch to a specific Fragment with taking care of validation, Title and BackStack
*/
- private Fragment switchToFragment(String fragmentName, Bundle args, boolean validate,
+ private void switchToFragment(String fragmentName, Bundle args, boolean validate,
int titleResId, CharSequence title) {
Log.d(LOG_TAG, "Switching to fragment " + fragmentName);
if (validate && !isValidFragment(fragmentName)) {
@@ -582,6 +582,9 @@ public class SettingsActivity extends SettingsBaseActivity
+ fragmentName);
}
Fragment f = Utils.getTargetFragment(this, fragmentName, args);
+ if (f == null) {
+ return;
+ }
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.main_content, f);
if (titleResId > 0) {
@@ -592,7 +595,6 @@ public class SettingsActivity extends SettingsBaseActivity
transaction.commitAllowingStateLoss();
getSupportFragmentManager().executePendingTransactions();
Log.d(LOG_TAG, "Executed frag manager pendingTransactions");
- return f;
}
private void updateTilesList() {