diff --git a/res/values/non_localizable_strings.xml b/res/values/non_localizable_strings.xml
index e816c1744..53e5e21fd 100644
--- a/res/values/non_localizable_strings.xml
+++ b/res/values/non_localizable_strings.xml
@@ -220,6 +220,7 @@
pref_device_ringtone_key
pref_auto_answer_key
pref_android_app_settings_key
+ pref_android_app_notif_settings_key
pref_turn_username_key
pref_turn_passwd_key
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 401bcebee..9d08480fa 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -438,6 +438,7 @@
Incoming call hangup (in seconds)
Remote provisioning
Android app settings
+ Android notification settings
Primary account
Display name
Username
diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml
index db22cbe4e..5ff4dcfba 100644
--- a/res/xml/preferences.xml
+++ b/res/xml/preferences.xml
@@ -254,6 +254,11 @@
android:inputType="textUri"
android:persistent="false"/>
+
+
diff --git a/src/android/org/linphone/fragments/SettingsFragment.java b/src/android/org/linphone/fragments/SettingsFragment.java
index 8265b9251..f233d9175 100644
--- a/src/android/org/linphone/fragments/SettingsFragment.java
+++ b/src/android/org/linphone/fragments/SettingsFragment.java
@@ -1095,6 +1095,9 @@ public class SettingsFragment extends PreferencesListFragment {
private void initChatSettings() {
setPreferenceDefaultValueAndSummary(R.string.pref_image_sharing_server_key, mPrefs.getSharingPictureServerUrl());
initLimeEncryptionPreference((ListPreference) findPreference(getString(R.string.pref_use_lime_encryption_key)));
+ if (Version.sdkStrictlyBelow(Version.API26_O_80)) {
+ findPreference(getString(R.string.pref_android_app_notif_settings_key)).setLayoutResource(R.layout.hidden);
+ }
}
private void setChatPreferencesListener() {
@@ -1133,6 +1136,25 @@ public class SettingsFragment extends PreferencesListFragment {
return true;
}
});
+
+ findPreference(getString(R.string.pref_android_app_notif_settings_key)).setOnPreferenceClickListener(new OnPreferenceClickListener() {
+ @Override
+ public boolean onPreferenceClick(Preference preference) {
+ synchronized (SettingsFragment.this) {
+ Context context = SettingsFragment.this.getActivity();
+ Intent i = new Intent();
+ i.setAction(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS);
+ i.putExtra(Settings.EXTRA_APP_PACKAGE, context.getPackageName());
+ i.putExtra(Settings.EXTRA_CHANNEL_ID, context.getString(R.string.notification_channel_id));
+ i.addCategory(Intent.CATEGORY_DEFAULT);
+ i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
+ i.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
+ context.startActivity(i);
+ }
+ return true;
+ }
+ });
}
private void initNetworkSettings() {