lint
This commit is contained in:
parent
3481fc70c7
commit
fb8c7f6be0
|
@ -16,7 +16,6 @@
|
||||||
package org.matrix.android.sdk.internal.session.pushers
|
package org.matrix.android.sdk.internal.session.pushers
|
||||||
|
|
||||||
import org.matrix.android.sdk.api.pushrules.RuleKind
|
import org.matrix.android.sdk.api.pushrules.RuleKind
|
||||||
import org.matrix.android.sdk.api.pushrules.rest.PushRule
|
|
||||||
import org.matrix.android.sdk.internal.network.GlobalErrorReceiver
|
import org.matrix.android.sdk.internal.network.GlobalErrorReceiver
|
||||||
import org.matrix.android.sdk.internal.network.executeRequest
|
import org.matrix.android.sdk.internal.network.executeRequest
|
||||||
import org.matrix.android.sdk.internal.task.Task
|
import org.matrix.android.sdk.internal.task.Task
|
||||||
|
|
|
@ -92,7 +92,7 @@ class KeywordPreference : VectorPreference {
|
||||||
return@setOnEditorActionListener false
|
return@setOnEditorActionListener false
|
||||||
}
|
}
|
||||||
val keyword = chipEditText.text.toString().trim()
|
val keyword = chipEditText.text.toString().trim()
|
||||||
if (keyword.isEmpty()){
|
if (keyword.isEmpty()) {
|
||||||
return@setOnEditorActionListener false
|
return@setOnEditorActionListener false
|
||||||
}
|
}
|
||||||
_keywords.add(keyword)
|
_keywords.add(keyword)
|
||||||
|
@ -102,7 +102,6 @@ class KeywordPreference : VectorPreference {
|
||||||
chipEditText.text = null
|
chipEditText.text = null
|
||||||
return@setOnEditorActionListener true
|
return@setOnEditorActionListener true
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun addChipToGroup(keyword: String, chipGroup: ChipGroup) {
|
private fun addChipToGroup(keyword: String, chipGroup: ChipGroup) {
|
||||||
|
@ -114,8 +113,9 @@ class KeywordPreference : VectorPreference {
|
||||||
chipGroup.addView(chip)
|
chipGroup.addView(chip)
|
||||||
|
|
||||||
chip.setOnCloseIconClickListener {
|
chip.setOnCloseIconClickListener {
|
||||||
if (!keywordsEnabled)
|
if (!keywordsEnabled) {
|
||||||
return@setOnCloseIconClickListener
|
return@setOnCloseIconClickListener
|
||||||
|
}
|
||||||
_keywords.remove(keyword)
|
_keywords.remove(keyword)
|
||||||
listener?.didRemoveKeyword(keyword)
|
listener?.didRemoveKeyword(keyword)
|
||||||
onPreferenceChangeListener?.onPreferenceChange(this, _keywords)
|
onPreferenceChangeListener?.onPreferenceChange(this, _keywords)
|
||||||
|
|
|
@ -87,7 +87,7 @@ fun getStandardAction(ruleId: String, index: NotificationIndex): StandardActions
|
||||||
NotificationIndex.NOISY -> StandardActions.Highlight
|
NotificationIndex.NOISY -> StandardActions.Highlight
|
||||||
}
|
}
|
||||||
RuleIds.RULE_ID_KEYWORDS ->
|
RuleIds.RULE_ID_KEYWORDS ->
|
||||||
when(index) {
|
when (index) {
|
||||||
NotificationIndex.OFF -> StandardActions.Disabled
|
NotificationIndex.OFF -> StandardActions.Disabled
|
||||||
NotificationIndex.SILENT -> StandardActions.Notify
|
NotificationIndex.SILENT -> StandardActions.Notify
|
||||||
NotificationIndex.NOISY -> StandardActions.HighlightDefaultSound
|
NotificationIndex.NOISY -> StandardActions.HighlightDefaultSound
|
||||||
|
|
|
@ -16,9 +16,7 @@
|
||||||
|
|
||||||
package im.vector.app.features.settings.notifications
|
package im.vector.app.features.settings.notifications
|
||||||
|
|
||||||
import androidx.preference.PreferenceCategory
|
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.preference.VectorCheckboxPreference
|
|
||||||
import im.vector.app.core.preference.VectorPreferenceCategory
|
import im.vector.app.core.preference.VectorPreferenceCategory
|
||||||
import org.matrix.android.sdk.api.pushrules.RuleIds
|
import org.matrix.android.sdk.api.pushrules.RuleIds
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@ import androidx.preference.Preference
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.preference.KeywordPreference
|
import im.vector.app.core.preference.KeywordPreference
|
||||||
import im.vector.app.core.preference.VectorCheckboxPreference
|
import im.vector.app.core.preference.VectorCheckboxPreference
|
||||||
|
import im.vector.app.core.preference.VectorPreference
|
||||||
import im.vector.app.core.preference.VectorPreferenceCategory
|
import im.vector.app.core.preference.VectorPreferenceCategory
|
||||||
import im.vector.app.core.utils.toast
|
import im.vector.app.core.utils.toast
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
@ -63,11 +64,14 @@ class VectorSettingsKeywordAndMentionsNotificationPreferenceFragment
|
||||||
keywordPreference.isIconSpaceReserved = false
|
keywordPreference.isIconSpaceReserved = false
|
||||||
keywordPreference.isChecked = anyEnabledKeywords
|
keywordPreference.isChecked = anyEnabledKeywords
|
||||||
|
|
||||||
|
val footerPreference = findPreference<VectorPreference>("SETTINGS_KEYWORDS_FOOTER")!!
|
||||||
|
footerPreference.isIconSpaceReserved = false
|
||||||
|
|
||||||
keywordPreference.onPreferenceChangeListener = Preference.OnPreferenceChangeListener { _, newValue ->
|
keywordPreference.onPreferenceChangeListener = Preference.OnPreferenceChangeListener { _, newValue ->
|
||||||
val keywords = editKeywordPreference.keywords
|
val keywords = editKeywordPreference.keywords
|
||||||
val newChecked = newValue as Boolean
|
val newChecked = newValue as Boolean
|
||||||
displayLoadingView()
|
displayLoadingView()
|
||||||
updateKeywordPushRules(keywords, newChecked){ result ->
|
updateKeywordPushRules(keywords, newChecked) { result ->
|
||||||
hideLoadingView()
|
hideLoadingView()
|
||||||
if (!isAdded) {
|
if (!isAdded) {
|
||||||
return@updateKeywordPushRules
|
return@updateKeywordPushRules
|
||||||
|
@ -95,7 +99,6 @@ class VectorSettingsKeywordAndMentionsNotificationPreferenceFragment
|
||||||
scrollToPreference(editKeywordPreference)
|
scrollToPreference(editKeywordPreference)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun updateKeywordPushRules(keywords: Set<String>, checked: Boolean, completion: (Result<Unit>) -> Unit) {
|
fun updateKeywordPushRules(keywords: Set<String>, checked: Boolean, completion: (Result<Unit>) -> Unit) {
|
||||||
|
@ -116,7 +119,7 @@ class VectorSettingsKeywordAndMentionsNotificationPreferenceFragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val firstError = results.firstNotNullOfOrNull(Result<Unit>::exceptionOrNull)
|
val firstError = results.firstNotNullOfOrNull(Result<Unit>::exceptionOrNull)
|
||||||
if (firstError == null){
|
if (firstError == null) {
|
||||||
completion(Result.success(Unit))
|
completion(Result.success(Unit))
|
||||||
} else {
|
} else {
|
||||||
completion(Result.failure(firstError))
|
completion(Result.failure(firstError))
|
||||||
|
@ -124,7 +127,7 @@ class VectorSettingsKeywordAndMentionsNotificationPreferenceFragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun updateWithKeywords (keywords: Set<String>) {
|
fun updateWithKeywords(keywords: Set<String>) {
|
||||||
val editKeywordPreference = findPreference<KeywordPreference>("SETTINGS_KEYWORD_EDIT") ?: return
|
val editKeywordPreference = findPreference<KeywordPreference>("SETTINGS_KEYWORD_EDIT") ?: return
|
||||||
editKeywordPreference.keywords = keywords
|
editKeywordPreference.keywords = keywords
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,7 @@ abstract class VectorSettingsPushRuleNotificationPreferenceFragment
|
||||||
val initialIndex = ruleAndKind.pushRule.notificationIndex
|
val initialIndex = ruleAndKind.pushRule.notificationIndex
|
||||||
preference.isChecked = initialIndex != NotificationIndex.OFF
|
preference.isChecked = initialIndex != NotificationIndex.OFF
|
||||||
preference.onPreferenceChangeListener = Preference.OnPreferenceChangeListener { _, newValue ->
|
preference.onPreferenceChangeListener = Preference.OnPreferenceChangeListener { _, newValue ->
|
||||||
updatePushRule(ruleAndKind.pushRule.ruleId, ruleAndKind.kind,newValue as Boolean, preference)
|
updatePushRule(ruleAndKind.pushRule.ruleId, ruleAndKind.kind, newValue as Boolean, preference)
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,8 @@
|
||||||
android:layout_marginStart="@dimen/layout_horizontal_margin"
|
android:layout_marginStart="@dimen/layout_horizontal_margin"
|
||||||
android:layout_marginEnd="@dimen/layout_horizontal_margin"
|
android:layout_marginEnd="@dimen/layout_horizontal_margin"
|
||||||
app:chipSpacing="12dp"
|
app:chipSpacing="12dp"
|
||||||
app:lineSpacing="2dp"/>
|
android:paddingTop="16dp"
|
||||||
|
/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
|
@ -1227,6 +1227,7 @@
|
||||||
<string name="settings_call_invitations">Call invitations</string>
|
<string name="settings_call_invitations">Call invitations</string>
|
||||||
<string name="settings_messages_by_bot">Messages by bot</string>
|
<string name="settings_messages_by_bot">Messages by bot</string>
|
||||||
<string name="settings_room_upgrades">Room upgrades</string>
|
<string name="settings_room_upgrades">Room upgrades</string>
|
||||||
|
<string name="settings_mentions_and_keywords_encryption_notice">You won’t get notifications for mentions & keywords in encrypted rooms on mobile.</string>
|
||||||
|
|
||||||
<string name="settings_background_sync">Background synchronization</string>
|
<string name="settings_background_sync">Background synchronization</string>
|
||||||
<string name="settings_background_fdroid_sync_mode">Background Sync Mode</string>
|
<string name="settings_background_fdroid_sync_mode">Background Sync Mode</string>
|
||||||
|
|
|
@ -28,5 +28,10 @@
|
||||||
android:key="SETTINGS_KEYWORD_EDIT"
|
android:key="SETTINGS_KEYWORD_EDIT"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<im.vector.app.core.preference.VectorPreference
|
||||||
|
android:key="SETTINGS_KEYWORDS_FOOTER"
|
||||||
|
android:focusable="false"
|
||||||
|
android:summary="@string/settings_mentions_and_keywords_encryption_notice" />
|
||||||
|
|
||||||
</im.vector.app.core.preference.VectorPreferenceCategory>
|
</im.vector.app.core.preference.VectorPreferenceCategory>
|
||||||
</androidx.preference.PreferenceScreen>
|
</androidx.preference.PreferenceScreen>
|
Loading…
Reference in New Issue