(Misskey)投稿画面の最大文字数を3000にする

This commit is contained in:
tateisu 2018-12-03 08:14:54 +09:00
parent 0ae936ed70
commit 788933cb11
1 changed files with 38 additions and 33 deletions

View File

@ -977,42 +977,47 @@ class ActPost : AppCompatActivity(), View.OnClickListener, PostAttachment.Callba
private var lastInstanceTask : TootTaskRunner? = null private var lastInstanceTask : TootTaskRunner? = null
private fun getMaxCharCount() : Int { private fun getMaxCharCount() : Int {
val account = account val account = account
if(account != null
&& ! account.isPseudo when{
&& ! account.isMisskey account == null || account.isPseudo -> {}
) {
val info = account.instance account.isMisskey ->return 3000
var lastTask = lastInstanceTask
else->{
// 情報がないか古いなら再取得 val info = account.instance
if(info == null || System.currentTimeMillis() - info.time_parse >= 300000L) {
// 同時に実行するタスクは1つまで // 情報がないか古いなら再取得
if(lastTask?.isActive != true) { if(info == null || System.currentTimeMillis() - info.time_parse >= 300000L) {
lastTask = TootTaskRunner(this, TootTaskRunner.PROGRESS_NONE)
lastInstanceTask = lastTask // 同時に実行するタスクは1つまで
lastTask.run(account, object : TootTask { var lastTask = lastInstanceTask
var newInfo : TootInstance? = null if(lastTask?.isActive != true) {
lastTask = TootTaskRunner(this, TootTaskRunner.PROGRESS_NONE)
override fun background(client : TootApiClient) : TootApiResult? { lastInstanceTask = lastTask
val result = client.request("/api/v1/instance") lastTask.run(account, object : TootTask {
newInfo = TootParser(this@ActPost, account).instance(result?.jsonObject) var newInfo : TootInstance? = null
return result
} override fun background(client : TootApiClient) : TootApiResult? {
val result = client.request("/api/v1/instance")
override fun handleResult(result : TootApiResult?) { newInfo = TootParser(this@ActPost, account).instance(result?.jsonObject)
if(isFinishing || isDestroyed) return return result
if(newInfo != null) {
account.instance = newInfo
updateTextCount()
} }
}
}) override fun handleResult(result : TootApiResult?) {
if(isFinishing || isDestroyed) return
if(newInfo != null) {
account.instance = newInfo
updateTextCount()
}
}
})
// fall thru
}
} }
}
val max = info?.max_toot_chars
if(info != null) {
val max = info.max_toot_chars
if(max != null && max > 0) return max if(max != null && max > 0) return max
} }
} }