add null checks to huawei settings code
This commit is contained in:
parent
af81bb1958
commit
d33fca09cf
|
@ -101,12 +101,14 @@ public class SettingsActivity extends XmppActivity implements
|
|||
|
||||
//this feature is only available on Huawei Android 6.
|
||||
PreferenceScreen huaweiPreferenceScreen = (PreferenceScreen) mSettingsFragment.findPreference("huawei");
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
boolean removeLocation = new Intent("eu.siacs.conversations.location.request").resolveActivity(getPackageManager()) == null;
|
||||
boolean removeVoice = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION).resolveActivity(getPackageManager()) == null;
|
||||
|
@ -232,8 +234,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;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue