fix #135, マストドン3.1で追加されたフィルタカテゴリに対応
This commit is contained in:
parent
7ea383f876
commit
850af70e4c
|
@ -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)
|
||||
|
|
|
@ -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でもある…
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -86,6 +86,16 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout style="@style/setting_row_form">
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/cbContextProfile"
|
||||
style="@style/setting_horizontal_stretch"
|
||||
android:checked="true"
|
||||
android:text="@string/filter_profile" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<View style="@style/setting_divider" />
|
||||
|
||||
<TextView
|
||||
|
|
|
@ -320,6 +320,7 @@
|
|||
<string name="filter_phrase">フレーズ</string>
|
||||
<string name="filter_public">公開TL</string>
|
||||
<string name="filter_thread">会話</string>
|
||||
<string name="filter_profile">プロファイル</string>
|
||||
<string name="filter_word_match">単語マッチ</string>
|
||||
<string name="filter_word_match_long">単語マッチ。英数字だけで構成されるフレーズ以外では無効にすることを推奨します。</string>
|
||||
<string name="filtered">フィルタされました</string>
|
||||
|
|
|
@ -718,6 +718,7 @@
|
|||
<string name="filter_notification">notification</string>
|
||||
<string name="filter_public">public</string>
|
||||
<string name="filter_thread">conversation</string>
|
||||
<string name="filter_profile">profile</string>
|
||||
<string name="dont_change">Don\'t change</string>
|
||||
<string name="filter_expire_unlimited">Unlimited</string>
|
||||
<string name="filter_expire_30min">30 minutes after saving</string>
|
||||
|
|
Loading…
Reference in New Issue