diff --git a/app/src/main/java/org/linphone/settings/SettingsFragment.java b/app/src/main/java/org/linphone/settings/SettingsFragment.java index f41cdaa90..54d3892f1 100644 --- a/app/src/main/java/org/linphone/settings/SettingsFragment.java +++ b/app/src/main/java/org/linphone/settings/SettingsFragment.java @@ -21,6 +21,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import android.Manifest; import android.app.AlertDialog; +import android.content.ComponentName; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; @@ -234,6 +235,10 @@ public class SettingsFragment extends PreferencesListFragment { hidePreference(R.string.pref_push_notification_key); } + if (!"huawei".equalsIgnoreCase(android.os.Build.MANUFACTURER)) { + hidePreference(R.string.pref_huawei_protected_settings_key); + } + if (!Version.isVideoCapable() || !LinphoneManager.getLcIfManagerNotDestroyedOrNull().videoSupported()) { emptyAndHidePreference(R.string.pref_video_key); @@ -1624,6 +1629,22 @@ public class SettingsFragment extends PreferencesListFragment { } }); + findPreference(getString(R.string.pref_huawei_protected_settings_key)) + .setOnPreferenceClickListener( + new OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference preference) { + LinphonePreferences.instance().huaweiDialogPrompted(true); + Intent intent = new Intent(); + intent.setComponent( + new ComponentName( + "com.huawei.systemmanager", + "com.huawei.systemmanager.optimize.process.ProtectActivity")); + startActivity(intent); + return true; + } + }); + findPreference(getString(R.string.pref_ipv6_key)) .setOnPreferenceChangeListener( new OnPreferenceChangeListener() { diff --git a/app/src/main/res/values/non_localizable_strings.xml b/app/src/main/res/values/non_localizable_strings.xml index 3f24f87a2..eefc3d179 100644 --- a/app/src/main/res/values/non_localizable_strings.xml +++ b/app/src/main/res/values/non_localizable_strings.xml @@ -83,6 +83,7 @@ pref_friendlist_subscribe_key pref_link_account_key pref_proxy_push_notif_key + pref_huawei_protected_settings_key pref_echo_cancellation_key pref_autostart_key Outbound proxy diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a4f2d6d6c..9629ba62c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -463,6 +463,8 @@ Media encryption Enable push notifications Allow IPv6 + Huawei protected apps settings + This app must be enabled in order to receive push notifications Advanced diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 263a37bb5..e8070e89d 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -348,6 +348,12 @@ android:persistent="false" android:title="@string/pref_push_notification" /> + +