From b08f674dcce45d4778287263f3a33e4aa2b6330a Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Sat, 10 Feb 2018 17:41:58 +0100 Subject: add null checks to huawei settings code --- .../de/pixart/messenger/ui/SettingsActivity.java | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'src/main') diff --git a/src/main/java/de/pixart/messenger/ui/SettingsActivity.java b/src/main/java/de/pixart/messenger/ui/SettingsActivity.java index b519cf5e4..0ee32de09 100644 --- a/src/main/java/de/pixart/messenger/ui/SettingsActivity.java +++ b/src/main/java/de/pixart/messenger/ui/SettingsActivity.java @@ -92,11 +92,13 @@ public class SettingsActivity extends XmppActivity implements //this feature is only available on Huawei Android 6. PreferenceScreen huaweiPreferenceScreen = (PreferenceScreen) mSettingsFragment.findPreference("huawei"); - Intent intent = huaweiPreferenceScreen.getIntent(); - //remove when Api version is above M (Version 6.0) or if the intent is not callable - if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M || !isCallable(intent)) { - PreferenceCategory generalCategory = (PreferenceCategory) mSettingsFragment.findPreference("general"); - generalCategory.removePreference(huaweiPreferenceScreen); + if (huaweiPreferenceScreen != null) { + Intent intent = huaweiPreferenceScreen.getIntent(); + //remove when Api version is above M (Version 6.0) or if the intent is not callable + if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M || !isCallable(intent)) { + PreferenceCategory generalCategory = (PreferenceCategory) mSettingsFragment.findPreference("general"); + generalCategory.removePreference(huaweiPreferenceScreen); + } } @@ -191,8 +193,8 @@ public class SettingsActivity extends XmppActivity implements }); } - private boolean isCallable(Intent intent) { - return getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY).size() > 0; + private boolean isCallable(final Intent i) { + return i != null && getPackageManager().queryIntentActivities(i, PackageManager.MATCH_DEFAULT_ONLY).size() > 0; } private void deleteOmemoIdentities() { @@ -341,10 +343,4 @@ public class SettingsActivity extends XmppActivity implements public void refreshUiReal() { //nothing to do. This Activity doesn't implement any listeners } - - @Override - public void onPause() { - super.onPause(); - finish(); - } } -- cgit v1.2.3