diff --git a/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt index 48a48c6fe..7fe172344 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt @@ -1068,8 +1068,10 @@ class ConversationInfoActivity : binding.notificationSettingsView.importantConversationSwitch.isChecked = conversation!!.hasImportant - binding.notificationSettingsView.importantConversationSwitch.setOnCheckedChangeListener { _, isChecked -> - if (isChecked) { + binding.notificationSettingsView.notificationSettingsImportantConversation.setOnClickListener { + val isChecked = binding.notificationSettingsView.importantConversationSwitch.isChecked + binding.notificationSettingsView.importantConversationSwitch.isChecked = !isChecked + if (!isChecked) { viewModel.markConversationAsImportant( credentials, conversationUser.baseUrl!!, @@ -1820,13 +1822,6 @@ class ConversationInfoActivity : } private fun setUpNotificationSettings(module: DatabaseStorageModule) { - // binding.notificationSettingsView.notificationSettingsImportantConversation.setOnClickListener { - // val isChecked = binding.notificationSettingsView.importantConversationSwitch.isChecked - // binding.notificationSettingsView.importantConversationSwitch.isChecked = !isChecked - // lifecycleScope.launch { - // module.saveBoolean("important_conversation_switch", !isChecked) - // } - // } binding.notificationSettingsView.notificationSettingsCallNotifications.setOnClickListener { val isChecked = binding.notificationSettingsView.callNotificationsSwitch.isChecked binding.notificationSettingsView.callNotificationsSwitch.isChecked = !isChecked @@ -1844,9 +1839,6 @@ class ConversationInfoActivity : } } - // binding.notificationSettingsView.importantConversationSwitch.isChecked = module - // .getBoolean("important_conversation_switch", false) - if (conversation!!.remoteServer.isNullOrEmpty()) { binding.notificationSettingsView.notificationSettingsCallNotifications.visibility = VISIBLE binding.notificationSettingsView.callNotificationsSwitch.isChecked = module diff --git a/app/src/main/java/com/nextcloud/talk/conversationinfo/viewmodel/ConversationInfoViewModel.kt b/app/src/main/java/com/nextcloud/talk/conversationinfo/viewmodel/ConversationInfoViewModel.kt index d530f1c13..428c4b4af 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationinfo/viewmodel/ConversationInfoViewModel.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationinfo/viewmodel/ConversationInfoViewModel.kt @@ -384,7 +384,7 @@ class ConversationInfoViewModel @Inject constructor( fun markConversationAsUnimportant(credentials: String, baseUrl: String, roomToken: String) { viewModelScope.launch { try { - val response = conversationsRepository.markConversationAsImportant(credentials, baseUrl, roomToken) + val response = conversationsRepository.markConversationAsUnImportant(credentials, baseUrl, roomToken) _markConversationAsUnimportantResult.value = MarkConversationAsUnimportantViewState.Success(response.ocs?.meta?.statusCode!!) } catch (exception: Exception) { diff --git a/app/src/main/java/com/nextcloud/talk/utils/preferences/preferencestorage/DatabaseStorageModule.kt b/app/src/main/java/com/nextcloud/talk/utils/preferences/preferencestorage/DatabaseStorageModule.kt index 7a34e7d4e..1bfe577f7 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/preferences/preferencestorage/DatabaseStorageModule.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/preferences/preferencestorage/DatabaseStorageModule.kt @@ -22,6 +22,7 @@ import com.nextcloud.talk.utils.ApiUtils import com.nextcloud.talk.utils.ApiUtils.getConversationApiVersion import com.nextcloud.talk.utils.ApiUtils.getCredentials import com.nextcloud.talk.utils.ApiUtils.getUrlForMessageExpiration +import com.nextcloud.talk.utils.ApiUtils.getUrlForRoomNotificationCalls import com.nextcloud.talk.utils.ApiUtils.getUrlForRoomNotificationLevel import com.nextcloud.talk.utils.CapabilitiesUtil.hasSpreedFeatureCapability import com.nextcloud.talk.utils.SpreedFeatures @@ -64,20 +65,20 @@ class DatabaseStorageModule(conversationUser: User, conversationToken: String) { @Suppress("Detekt.TooGenericExceptionCaught") suspend fun saveBoolean(key: String, value: Boolean) { - // if ("call_notifications_switch" == key) { - // val apiVersion = getConversationApiVersion(conversationUser, intArrayOf(ApiUtils.API_V4)) - // val url = getUrlForRoomNotificationCalls(apiVersion, conversationUser.baseUrl, conversationToken) - // val credentials = getCredentials(conversationUser.username, conversationUser.token) - // val notificationLevel = if (value) 1 else 0 - // withContext(Dispatchers.IO) { - // try { - // ncApiCoroutines!!.notificationCalls(credentials!!, url, notificationLevel) - // Log.d(TAG, "Toggled notification calls") - // } catch (e: Exception) { - // Log.e(TAG, "Error when trying to toggle notification calls", e) - // } - // } - // } + if ("call_notifications_switch" == key) { + val apiVersion = getConversationApiVersion(conversationUser, intArrayOf(ApiUtils.API_V4)) + val url = getUrlForRoomNotificationCalls(apiVersion, conversationUser.baseUrl, conversationToken) + val credentials = getCredentials(conversationUser.username, conversationUser.token) + val notificationLevel = if (value) 1 else 0 + withContext(Dispatchers.IO) { + try { + ncApiCoroutines!!.notificationCalls(credentials!!, url, notificationLevel) + Log.d(TAG, "Toggled notification calls") + } catch (e: Exception) { + Log.e(TAG, "Error when trying to toggle notification calls", e) + } + } + } if ("lobby_switch" != key) { arbitraryStorageManager!!.storeStorageSetting( accountIdentifier, diff --git a/app/src/main/res/layout/item_notification_settings.xml b/app/src/main/res/layout/item_notification_settings.xml index b22268a22..9caf96d78 100644 --- a/app/src/main/res/layout/item_notification_settings.xml +++ b/app/src/main/res/layout/item_notification_settings.xml @@ -46,7 +46,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/nc_important_conversation" - android:textSize="@dimen/headline_text_size" /> + android:textSize="@dimen/headline_text_size" + android:clickable="false"/> + android:clickable="false"/>