From dcd43d6e7fc8ab1949fb5163bf6ddedf26b44559 Mon Sep 17 00:00:00 2001 From: Florian Renaud Date: Fri, 17 Feb 2023 10:12:56 +0100 Subject: [PATCH] Move push rule ids extensions to vector module --- .../sdk/api/session/pushrules/RuleIds.kt | 32 ------------ .../settings/notifications/RuleIdsExt.kt | 51 +++++++++++++++++++ ...orSettingsPushRuleNotificationViewModel.kt | 1 - .../usecase/UpdatePushRulesIfNeededUseCase.kt | 2 +- 4 files changed, 52 insertions(+), 34 deletions(-) create mode 100644 vector/src/main/java/im/vector/app/features/settings/notifications/RuleIdsExt.kt diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/pushrules/RuleIds.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/pushrules/RuleIds.kt index 484344e6ea..34581b613a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/pushrules/RuleIds.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/pushrules/RuleIds.kt @@ -62,35 +62,3 @@ object RuleIds { const val RULE_ID_REACTION = ".m.rule.reaction" } - -fun RuleIds.getSyncedRules(ruleId: String): List { - return when (ruleId) { - RULE_ID_ONE_TO_ONE_ROOM -> listOf( - RULE_ID_POLL_START_ONE_TO_ONE, - RULE_ID_POLL_START_ONE_TO_ONE_UNSTABLE, - RULE_ID_POLL_END_ONE_TO_ONE, - RULE_ID_POLL_END_ONE_TO_ONE_UNSTABLE, - ) - RULE_ID_ALL_OTHER_MESSAGES_ROOMS -> listOf( - RULE_ID_POLL_START, - RULE_ID_POLL_START_UNSTABLE, - RULE_ID_POLL_END, - RULE_ID_POLL_END_UNSTABLE, - ) - else -> emptyList() - } -} - -fun RuleIds.getParentRule(ruleId: String): String? { - return when (ruleId) { - RULE_ID_POLL_START_ONE_TO_ONE, - RULE_ID_POLL_START_ONE_TO_ONE_UNSTABLE, - RULE_ID_POLL_END_ONE_TO_ONE, - RULE_ID_POLL_END_ONE_TO_ONE_UNSTABLE -> RULE_ID_ONE_TO_ONE_ROOM - RULE_ID_POLL_START, - RULE_ID_POLL_START_UNSTABLE, - RULE_ID_POLL_END, - RULE_ID_POLL_END_UNSTABLE -> RULE_ID_ALL_OTHER_MESSAGES_ROOMS - else -> null - } -} diff --git a/vector/src/main/java/im/vector/app/features/settings/notifications/RuleIdsExt.kt b/vector/src/main/java/im/vector/app/features/settings/notifications/RuleIdsExt.kt new file mode 100644 index 0000000000..1e14ef9157 --- /dev/null +++ b/vector/src/main/java/im/vector/app/features/settings/notifications/RuleIdsExt.kt @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2023 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package im.vector.app.features.settings.notifications + +import org.matrix.android.sdk.api.session.pushrules.RuleIds + +fun RuleIds.getSyncedRules(ruleId: String): List { + return when (ruleId) { + RULE_ID_ONE_TO_ONE_ROOM -> listOf( + RULE_ID_POLL_START_ONE_TO_ONE, + RULE_ID_POLL_START_ONE_TO_ONE_UNSTABLE, + RULE_ID_POLL_END_ONE_TO_ONE, + RULE_ID_POLL_END_ONE_TO_ONE_UNSTABLE, + ) + RULE_ID_ALL_OTHER_MESSAGES_ROOMS -> listOf( + RULE_ID_POLL_START, + RULE_ID_POLL_START_UNSTABLE, + RULE_ID_POLL_END, + RULE_ID_POLL_END_UNSTABLE, + ) + else -> emptyList() + } +} + +fun RuleIds.getParentRule(ruleId: String): String? { + return when (ruleId) { + RULE_ID_POLL_START_ONE_TO_ONE, + RULE_ID_POLL_START_ONE_TO_ONE_UNSTABLE, + RULE_ID_POLL_END_ONE_TO_ONE, + RULE_ID_POLL_END_ONE_TO_ONE_UNSTABLE -> RULE_ID_ONE_TO_ONE_ROOM + RULE_ID_POLL_START, + RULE_ID_POLL_START_UNSTABLE, + RULE_ID_POLL_END, + RULE_ID_POLL_END_UNSTABLE -> RULE_ID_ALL_OTHER_MESSAGES_ROOMS + else -> null + } +} diff --git a/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsPushRuleNotificationViewModel.kt b/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsPushRuleNotificationViewModel.kt index daf9c044d1..39969ec13e 100644 --- a/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsPushRuleNotificationViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsPushRuleNotificationViewModel.kt @@ -32,7 +32,6 @@ import org.matrix.android.sdk.api.failure.MatrixError import org.matrix.android.sdk.api.session.pushrules.Action import org.matrix.android.sdk.api.session.pushrules.RuleIds import org.matrix.android.sdk.api.session.pushrules.RuleKind -import org.matrix.android.sdk.api.session.pushrules.getSyncedRules import org.matrix.android.sdk.api.session.pushrules.rest.PushRuleAndKind private typealias ViewModel = VectorSettingsPushRuleNotificationViewModel diff --git a/vector/src/main/java/im/vector/app/features/settings/notifications/usecase/UpdatePushRulesIfNeededUseCase.kt b/vector/src/main/java/im/vector/app/features/settings/notifications/usecase/UpdatePushRulesIfNeededUseCase.kt index 9397c9e74c..6998065f01 100644 --- a/vector/src/main/java/im/vector/app/features/settings/notifications/usecase/UpdatePushRulesIfNeededUseCase.kt +++ b/vector/src/main/java/im/vector/app/features/settings/notifications/usecase/UpdatePushRulesIfNeededUseCase.kt @@ -16,10 +16,10 @@ package im.vector.app.features.settings.notifications.usecase +import im.vector.app.features.settings.notifications.getParentRule import org.matrix.android.sdk.api.session.Session import org.matrix.android.sdk.api.session.pushrules.RuleIds import org.matrix.android.sdk.api.session.pushrules.getActions -import org.matrix.android.sdk.api.session.pushrules.getParentRule import org.matrix.android.sdk.api.session.pushrules.rest.PushRule import org.matrix.android.sdk.api.session.pushrules.rest.PushRuleAndKind import javax.inject.Inject