diff --git a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.kt b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.kt index f1550a17d3..79ff4676f8 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.kt @@ -1060,7 +1060,7 @@ class CallActivity : CallBaseActivity() { if (permissionUtil!!.isMicrophonePermissionGranted()) { CallForegroundService.start(applicationContext, conversationName, intent.extras) - if (!microphoneOn) { + if (!microphoneOn && !appPreferences.callMicrophoneMuted) { onMicrophoneClick() } } @@ -1265,6 +1265,7 @@ class CallActivity : CallBaseActivity() { ) } toggleMedia(microphoneOn, false) + appPreferences.callMicrophoneMuted = !microphoneOn } else { binding!!.microphoneButton.setImageResource(R.drawable.ic_mic_white_24px) pulseAnimation!!.start() diff --git a/app/src/main/java/com/nextcloud/talk/utils/preferences/AppPreferences.java b/app/src/main/java/com/nextcloud/talk/utils/preferences/AppPreferences.java index 9cbce99381..d88b2bc17b 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/preferences/AppPreferences.java +++ b/app/src/main/java/com/nextcloud/talk/utils/preferences/AppPreferences.java @@ -118,6 +118,10 @@ public interface AppPreferences { void removeScreenLock(); + boolean getCallMicrophoneMuted(); + + void setCallMicrophoneMuted(boolean value); + boolean getIsKeyboardIncognito(); void setIncognitoKeyboard(boolean value); diff --git a/app/src/main/java/com/nextcloud/talk/utils/preferences/AppPreferencesImpl.kt b/app/src/main/java/com/nextcloud/talk/utils/preferences/AppPreferencesImpl.kt index 33605e7ca2..557e669aff 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/preferences/AppPreferencesImpl.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/preferences/AppPreferencesImpl.kt @@ -309,6 +309,18 @@ class AppPreferencesImpl(val context: Context) : AppPreferences { setScreenLock(false) } + override fun getCallMicrophoneMuted(): Boolean = + runBlocking { + async { readBoolean(CALL_MICROPHONE_MUTED).first() } + }.getCompleted() + + override fun setCallMicrophoneMuted(value: Boolean) = + runBlocking { + async { + writeBoolean(CALL_MICROPHONE_MUTED, value) + } + } + override fun getIsKeyboardIncognito(): Boolean { val read = runBlocking { async { readBoolean(INCOGNITO_KEYBOARD).first() } }.getCompleted() return read @@ -672,6 +684,7 @@ class AppPreferencesImpl(val context: Context) : AppPreferences { const val NOTIFY_UPGRADE_V3 = "notification_channels_upgrade_to_v3" const val SCREEN_SECURITY = "screen_security" const val SCREEN_LOCK = "screen_lock" + const val CALL_MICROPHONE_MUTED = "call_microphone_muted" const val INCOGNITO_KEYBOARD = "incognito_keyboard" const val SHOW_ECOSYSTEM = "SHOW_ECOSYSTEM" const val PHONE_BOOK_INTEGRATION = "phone_book_integration"