aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-01-29 21:32:11 +0100
committerChristian Schneppe <christian@pix-art.de>2018-01-29 21:32:11 +0100
commit35025a1af20559a990ed6160875d3e98fb82e9cd (patch)
tree16832fff5f1ed4d09cac13d53db01d8ed7855344 /src/main/java
parentce73f31bb50261e2b2289271291bedad6c7fc70a (diff)
direct link from settings to huaweis protected apps
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/de/pixart/messenger/ui/SettingsActivity.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/SettingsActivity.java b/src/main/java/de/pixart/messenger/ui/SettingsActivity.java
index 5f8c05097..390c4f6a8 100644
--- a/src/main/java/de/pixart/messenger/ui/SettingsActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/SettingsActivity.java
@@ -90,6 +90,15 @@ 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 (BuildConfig.FLAVOR != "open") {
PreferenceCategory connectionOptions = (PreferenceCategory) mSettingsFragment.findPreference("connection_options");
PreferenceScreen expert = (PreferenceScreen) mSettingsFragment.findPreference("expert");
@@ -181,6 +190,10 @@ public class SettingsActivity extends XmppActivity implements
});
}
+ private boolean isCallable(Intent intent) {
+ return getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY).size() > 0;
+ }
+
private void deleteOmemoIdentities() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.pref_delete_omemo_identities);