force full acct mention in delete & redraft.

This commit is contained in:
tateisu 2019-07-03 20:37:30 +09:00
parent 7202698cf5
commit 890377e901
3 changed files with 30 additions and 18 deletions

View File

@ -765,7 +765,7 @@ class ActPost : AppCompatActivity(),
// 再編集の場合はdefault_textは反映されない // 再編集の場合はdefault_textは反映されない
val decodeOptions = DecodeOptions(this) val decodeOptions = DecodeOptions(this, mentionFullAcct = true)
var text : Spannable var text : Spannable

View File

@ -23,7 +23,8 @@ class DecodeOptions(
var highlightTrie : WordTrieTree? = null, var highlightTrie : WordTrieTree? = null,
var unwrapEmojiImageTag :Boolean = false, var unwrapEmojiImageTag :Boolean = false,
var enlargeCustomEmoji :Float = 1f, var enlargeCustomEmoji :Float = 1f,
var forceHtml : Boolean = false // force use HTML instead of Misskey Markdown var forceHtml : Boolean = false, // force use HTML instead of Misskey Markdown
var mentionFullAcct : Boolean = false
) { ) {
internal fun isMediaAttachment(url : String?) : Boolean { internal fun isMediaAttachment(url : String?) : Boolean {

View File

@ -392,6 +392,24 @@ object HTMLDecoder {
href : String? href : String?
) : CharSequence { ) : CharSequence {
if(display_url.isNotEmpty()) {
when(display_url[0]) {
'@' -> {
// @mention
if(href != null && (options.mentionFullAcct || Pref.bpMentionFullAcct(App1.pref))) {
val acct = TootAccount.getAcctFromUrl(href)
if(acct != null) return "@$acct"
}
return display_url
}
'#' -> {
// #hashtag
return display_url
}
}
}
val context = options.context val context = options.context
if(context == null || ! options.short) { if(context == null || ! options.short) {
@ -430,13 +448,6 @@ object HTMLDecoder {
return shortenUrl(display_url) return shortenUrl(display_url)
} }
// メンションをfull acct にする
if( display_url.startsWith("@") && href != null && Pref.bpMentionFullAcct(App1.pref) ){
val acct = TootAccount.getAcctFromUrl(href)
if(acct != null) return "@$acct"
}
// ハッシュタグやメンションはURLの短縮表示の対象外
return display_url return display_url
} }
} }