SubwayTooter-Android-App/app/src/main/java/jp/juggler/subwaytooter/util/LinkHelper.kt

50 lines
1.1 KiB
Kotlin
Raw Normal View History

package jp.juggler.subwaytooter.util
import jp.juggler.subwaytooter.table.AcctColor
interface LinkHelper {
// SavedAccountのロード時にhostを供給する必要があった
val host : String?
fun findAcctColor(url : String?) : AcctColor? = null
2018-12-02 09:02:47 +01:00
// user とか user@host とかを user@host に変換する
// nullや空文字列なら ?@? を返す
fun getFullAcct(acct : String?) : String {
return when {
2018-12-02 09:02:47 +01:00
acct?.isEmpty() !=false -> "?@?"
acct.contains('@') -> acct
else -> "$acct@$host"
}
}
val misskeyVersion : Int
get() = 0
val isMisskey :Boolean
get() = misskeyVersion > 0
2019-12-09 09:05:13 +01:00
// FIXME もし将来別のサービスにも対応するなら、ここは書き直す必要がある
val isMastodon :Boolean
get() = misskeyVersion <=0
companion object {
fun newLinkHelper(host : String?, misskeyVersion : Int = 0) = object : LinkHelper {
override val host : String?
get() = host
override val misskeyVersion : Int
get() = misskeyVersion
}
val nullHost = object : LinkHelper {
override val host : String?
get() = null
}
}
}