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