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

46 lines
994 B
Kotlin

package jp.juggler.subwaytooter.util
import jp.juggler.subwaytooter.table.AcctColor
interface LinkHelper {
// SavedAccountのロード時にhostを供給する必要があった
val host : String?
fun findAcctColor(url : String?) : AcctColor? = null
// user とか user@host とかを user@host に変換する
// nullや空文字列なら ?@? を返す
fun getFullAcct(acct : String?) : String {
return when {
acct?.isEmpty() !=false -> "?@?"
acct.contains('@') -> acct
else -> "$acct@$host"
}
}
val misskeyVersion : Int
get() = 0
val isMisskey :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
}
}
}