diff --git a/app/src/main/java/jp/juggler/subwaytooter/ActKeywordFilter.kt b/app/src/main/java/jp/juggler/subwaytooter/ActKeywordFilter.kt index 895da102..943d3787 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/ActKeywordFilter.kt +++ b/app/src/main/java/jp/juggler/subwaytooter/ActKeywordFilter.kt @@ -63,6 +63,8 @@ class ActKeywordFilter private lateinit var cbContextNotification : CheckBox private lateinit var cbContextPublic : CheckBox private lateinit var cbContextThread : CheckBox + private lateinit var cbContextProfile : CheckBox + private lateinit var cbFilterIrreversible : CheckBox private lateinit var cbFilterWordMatch : CheckBox private lateinit var tvExpire : TextView @@ -133,6 +135,7 @@ class ActKeywordFilter cbContextNotification = findViewById(R.id.cbContextNotification) cbContextPublic = findViewById(R.id.cbContextPublic) cbContextThread = findViewById(R.id.cbContextThread) + cbContextProfile = findViewById(R.id.cbContextProfile) cbFilterIrreversible = findViewById(R.id.cbFilterIrreversible) cbFilterWordMatch = findViewById(R.id.cbFilterWordMatch) tvExpire = findViewById(R.id.tvExpire) @@ -193,6 +196,7 @@ class ActKeywordFilter setContextChecked(filter, cbContextNotification, TootFilter.CONTEXT_NOTIFICATIONS) setContextChecked(filter, cbContextPublic, TootFilter.CONTEXT_PUBLIC) setContextChecked(filter, cbContextThread, TootFilter.CONTEXT_THREAD) + setContextChecked(filter, cbContextProfile, TootFilter.CONTEXT_PROFILE) cbFilterIrreversible.isChecked = filter.irreversible cbFilterWordMatch.isChecked = filter.whole_word @@ -230,6 +234,8 @@ class ActKeywordFilter putContextChecked(cbContextNotification, "notifications") putContextChecked(cbContextPublic, "public") putContextChecked(cbContextThread, "thread") + putContextChecked(cbContextProfile, "account") + }) put("irreversible", cbFilterIrreversible.isChecked) diff --git a/app/src/main/java/jp/juggler/subwaytooter/Column.kt b/app/src/main/java/jp/juggler/subwaytooter/Column.kt index 3b2eed50..ef592447 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/Column.kt +++ b/app/src/main/java/jp/juggler/subwaytooter/Column.kt @@ -2284,9 +2284,12 @@ class Column( ColumnType.HOME, ColumnType.LIST_TL, ColumnType.MISSKEY_HYBRID -> TootFilter.CONTEXT_HOME ColumnType.NOTIFICATIONS, ColumnType.NOTIFICATION_FROM_ACCT -> TootFilter.CONTEXT_NOTIFICATIONS + ColumnType.CONVERSATION -> TootFilter.CONTEXT_THREAD - ColumnType.LOCAL, ColumnType.DOMAIN_TIMELINE, ColumnType.FEDERATE, ColumnType.HASHTAG, ColumnType.HASHTAG_FROM_ACCT, ColumnType.PROFILE, ColumnType.SEARCH -> TootFilter.CONTEXT_PUBLIC - ColumnType.DIRECT_MESSAGES -> TootFilter.CONTEXT_PUBLIC + + ColumnType.DIRECT_MESSAGES -> TootFilter.CONTEXT_THREAD + + ColumnType.PROFILE -> TootFilter.CONTEXT_PROFILE else -> TootFilter.CONTEXT_PUBLIC // ColumnType.MISSKEY_HYBRID や ColumnType.MISSKEY_ANTENNA_TL はHOMEでもPUBLICでもある… diff --git a/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootFilter.kt b/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootFilter.kt index ff5d3a19..78feec95 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootFilter.kt +++ b/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootFilter.kt @@ -12,18 +12,20 @@ class TootFilter(src : JsonObject) : TimelineItem() { val log = LogCategory("TootFilter") @Suppress("unused") - const val CONTEXT_ALL = 15 + const val CONTEXT_ALL = 31 const val CONTEXT_NONE = 0 const val CONTEXT_HOME = 1 const val CONTEXT_NOTIFICATIONS = 2 const val CONTEXT_PUBLIC = 4 const val CONTEXT_THREAD = 8 + const val CONTEXT_PROFILE = 16 private val CONTEXT_LIST = arrayOf( FilterContext("home", CONTEXT_HOME, R.string.filter_home), FilterContext("notifications", CONTEXT_NOTIFICATIONS, R.string.filter_notification), FilterContext("public", CONTEXT_PUBLIC, R.string.filter_public), - FilterContext("thread", CONTEXT_THREAD, R.string.filter_thread) + FilterContext("thread", CONTEXT_THREAD, R.string.filter_thread), + FilterContext("account", CONTEXT_PROFILE, R.string.filter_profile) ) private val CONTEXT_MAP = CONTEXT_LIST.map { Pair(it.name, it) }.toMap() diff --git a/app/src/main/res/layout/act_keyword_filter.xml b/app/src/main/res/layout/act_keyword_filter.xml index 0719270a..b99f0b54 100644 --- a/app/src/main/res/layout/act_keyword_filter.xml +++ b/app/src/main/res/layout/act_keyword_filter.xml @@ -86,6 +86,16 @@ + + + + + + フレーズ 公開TL 会話 + プロファイル 単語マッチ 単語マッチ。英数字だけで構成されるフレーズ以外では無効にすることを推奨します。 フィルタされました diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b8ea9a63..7b091b67 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -718,6 +718,7 @@ notification public conversation + profile Don\'t change Unlimited 30 minutes after saving