aboutsummaryrefslogtreecommitdiffstats
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
parentce73f31bb50261e2b2289271291bedad6c7fc70a (diff)
direct link from settings to huaweis protected apps
-rw-r--r--src/main/java/de/pixart/messenger/ui/SettingsActivity.java13
-rw-r--r--src/main/res/values/strings.xml2
-rw-r--r--src/main/res/xml/preferences.xml11
3 files changed, 25 insertions, 1 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);
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 481a8b54b..c709e6e52 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -759,4 +759,6 @@
<string name="destroy_muc_failed">Group chat could not be destroyed</string>
<string name="no_write_access_in_public_muc">You are not participating this group chat and have no write access at the moment.\nPlease go to the group chat details by pressing <b>OK</b> and send a private message to a moderator, administator or owner by long clicking one of the members name at the top of the list to ask for write access.</string>
<string name="snooze">Snooze</string>
+ <string name="huawei_protected_apps">Protected Apps</string>
+ <string name="huawei_protected_apps_summary">To keep receiving notifications, even when the screen is turned off, you need to add Conversations to the list of protected apps.</string>
</resources>
diff --git a/src/main/res/xml/preferences.xml b/src/main/res/xml/preferences.xml
index 82d9ea00f..109d61239 100644
--- a/src/main/res/xml/preferences.xml
+++ b/src/main/res/xml/preferences.xml
@@ -247,7 +247,8 @@
android:icon="@drawable/ic_settings_black_24dp"
android:key="expert"
android:title="@string/pref_expert_options">
- <PreferenceCategory android:title="@string/pref_general">
+ <PreferenceCategory android:title="@string/pref_general"
+ android:key="general">
<ListPreference
android:defaultValue="@string/default_resource"
android:entries="@array/resources"
@@ -260,6 +261,14 @@
android:key="show_foreground_service"
android:summary="@string/pref_show_foreground_service_summary"
android:title="@string/pref_show_foreground_service"/>
+ <PreferenceScreen
+ android:key="huawei"
+ android:summary="@string/huawei_protected_apps_summary"
+ android:title="@string/huawei_protected_apps">
+ <intent
+ android:targetClass="com.huawei.systemmanager.optimize.process.ProtectActivity"
+ android:targetPackage="com.huawei.systemmanager" />
+ </PreferenceScreen>
</PreferenceCategory>
<PreferenceCategory android:title="@string/pref_ui_options">
<CheckBoxPreference