diff --git a/app/src/main/java/org/linphone/settings/CallSettingsFragment.java b/app/src/main/java/org/linphone/settings/CallSettingsFragment.java
index 7377de6f4..0ccf2a3f9 100644
--- a/app/src/main/java/org/linphone/settings/CallSettingsFragment.java
+++ b/app/src/main/java/org/linphone/settings/CallSettingsFragment.java
@@ -47,6 +47,7 @@ public class CallSettingsFragment extends SettingsFragment {
private LinphonePreferences mPrefs;
private SwitchSetting mDeviceRingtone,
+ mMediaEncryptionMandatory,
mVibrateIncomingCall,
mDtmfSipInfo,
mDtmfRfc2833,
@@ -100,6 +101,8 @@ public class CallSettingsFragment extends SettingsFragment {
mDndPermissionSettings =
mRootView.findViewById(R.id.pref_grant_read_dnd_settings_permission);
+
+ mMediaEncryptionMandatory = mRootView.findViewById(R.id.pref_media_encryption_mandatory);
}
private void setListeners() {
@@ -212,6 +215,14 @@ public class CallSettingsFragment extends SettingsFragment {
new Intent("android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS"));
}
});
+
+ mMediaEncryptionMandatory.setListener(
+ new SettingListenerBase() {
+ @Override
+ public void onBoolValueChanged(boolean newValue) {
+ mPrefs.setMediaEncryptionMandatory(newValue);
+ }
+ });
}
private void updateValues() {
@@ -237,6 +248,8 @@ public class CallSettingsFragment extends SettingsFragment {
mDndPermissionSettings.setVisibility(
Version.sdkAboveOrEqual(Version.API23_MARSHMALLOW_60) ? View.VISIBLE : View.GONE);
+ mMediaEncryptionMandatory.setChecked(mPrefs.acceptMediaEncryptionMandatory());
+
setListeners();
}
diff --git a/app/src/main/java/org/linphone/settings/LinphonePreferences.java b/app/src/main/java/org/linphone/settings/LinphonePreferences.java
index fa429fd7a..33ec2d1e4 100644
--- a/app/src/main/java/org/linphone/settings/LinphonePreferences.java
+++ b/app/src/main/java/org/linphone/settings/LinphonePreferences.java
@@ -452,6 +452,14 @@ public class LinphonePreferences {
// End of contact settings
// Call settings
+ public boolean acceptMediaEncryptionMandatory() {
+ return getLc().isMediaEncryptionMandatory();
+ }
+
+ public void setMediaEncryptionMandatory(boolean accept) {
+ getLc().setMediaEncryptionMandatory(accept);
+ }
+
public boolean acceptIncomingEarlyMedia() {
return getConfig().getBool("sip", "incoming_calls_early_media", false);
}
diff --git a/app/src/main/res/layout/settings_call.xml b/app/src/main/res/layout/settings_call.xml
index 5bc59ff3e..75143a543 100644
--- a/app/src/main/res/layout/settings_call.xml
+++ b/app/src/main/res/layout/settings_call.xml
@@ -36,6 +36,12 @@
android:layout_height="wrap_content"
linphone:title="@string/pref_media_encryption" />
+
+
Accept early-media
Do Not Disturb settings
We need you to grant use the access to the Do Not Disturb settings to correctly ring or not depending on the current policy
+ Media encryption mandatory
Chat