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