refactor
This commit is contained in:
parent
c08a5dfd8e
commit
5f7f486471
|
@ -840,7 +840,7 @@ class ActAppSetting : AppCompatActivity(), ColorPickerDialogListener, View.OnCli
|
|||
private fun importAppData2(bConfirm: Boolean, uri: Uri) {
|
||||
|
||||
val type = contentResolver.getType(uri)
|
||||
log.d("importAppData type=%s", type)
|
||||
log.d("importAppData type=$type")
|
||||
|
||||
if (!bConfirm) {
|
||||
AlertDialog.Builder(this)
|
||||
|
|
|
@ -7,6 +7,7 @@ import androidx.appcompat.app.AppCompatActivity
|
|||
import androidx.core.content.FileProvider
|
||||
import jp.juggler.util.LogCategory
|
||||
import jp.juggler.util.digestSHA256Hex
|
||||
import okhttp3.internal.toHexString
|
||||
import org.apache.commons.io.IOUtils
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
|
@ -32,7 +33,7 @@ class ActCallback : AppCompatActivity() {
|
|||
}
|
||||
|
||||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
log.d("onCreate flags=%x", intent.flags)
|
||||
log.d("onCreate flags=0x${intent.flags.toHexString()}")
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
var intent : Intent? = intent
|
||||
|
|
|
@ -141,7 +141,7 @@ class ActMediaViewer : AppCompatActivity(), View.OnClickListener {
|
|||
}
|
||||
|
||||
override fun onRepeatModeChanged(repeatMode: Int) {
|
||||
log.d("exoPlayer onRepeatModeChanged %d", repeatMode)
|
||||
log.d("exoPlayer onRepeatModeChanged $repeatMode", )
|
||||
}
|
||||
|
||||
override fun onPlayerError(error: ExoPlaybackException) {
|
||||
|
|
|
@ -135,14 +135,14 @@ object AppDataExporter {
|
|||
Cursor.FIELD_TYPE_FLOAT -> {
|
||||
val d = cursor.getDouble(i)
|
||||
if(d.isNaN() || d.isInfinite()) {
|
||||
log.w("column %s is nan or infinite value.", names[i])
|
||||
log.w("column ${names[i]} is nan or infinite value.")
|
||||
} else {
|
||||
writer.name(names[i])
|
||||
writer.value(d)
|
||||
}
|
||||
}
|
||||
|
||||
Cursor.FIELD_TYPE_BLOB -> log.w("column %s is blob.", names[i])
|
||||
Cursor.FIELD_TYPE_BLOB -> log.w("column ${names[i]} is blob." )
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -20,8 +20,6 @@ import jp.juggler.subwaytooter.table.SavedAccount
|
|||
import jp.juggler.subwaytooter.util.NetworkStateTracker
|
||||
import jp.juggler.subwaytooter.util.PostAttachment
|
||||
import jp.juggler.util.*
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import org.apache.commons.io.IOUtils
|
||||
import java.io.ByteArrayOutputStream
|
||||
import java.io.File
|
||||
|
@ -230,9 +228,9 @@ class AppState(
|
|||
restartTTS()
|
||||
} else {
|
||||
log.d(
|
||||
"proc_flushSpeechQueue: tts is speaking. queue_count=%d, expire_remain=%.3f",
|
||||
queue_count,
|
||||
expire_remain / 1000f
|
||||
"proc_flushSpeechQueue: tts is speaking. queue_count=${queue_count}, expire_remain=${
|
||||
String.format("%.3f",expire_remain / 1000f)
|
||||
}"
|
||||
)
|
||||
handler.postDelayed(this, expire_remain)
|
||||
return
|
||||
|
@ -241,7 +239,7 @@ class AppState(
|
|||
}
|
||||
|
||||
val sv = tts_queue.removeFirst()
|
||||
log.d("proc_flushSpeechQueue: speak %s", sv)
|
||||
log.d("proc_flushSpeechQueue: speak ${sv}")
|
||||
|
||||
val voice_count = voice_list.size
|
||||
if (voice_count > 0) {
|
||||
|
@ -395,7 +393,7 @@ class AppState(
|
|||
R.string.text_to_speech_initialize_failed,
|
||||
status
|
||||
)
|
||||
log.d("speech initialize failed. status=%s", status)
|
||||
log.d("speech initialize failed. status=${status}" )
|
||||
return@OnInitListener
|
||||
}
|
||||
|
||||
|
@ -423,15 +421,8 @@ class AppState(
|
|||
} else {
|
||||
val lang = defaultLocale(context).toLanguageTag()
|
||||
for (v in voice_set) {
|
||||
log.d(
|
||||
"Voice %s %s %s",
|
||||
v.name,
|
||||
v.locale.toLanguageTag(),
|
||||
lang
|
||||
)
|
||||
if (lang != v.locale.toLanguageTag()) {
|
||||
continue
|
||||
}
|
||||
log.d( "Voice ${ v.name} ${ v.locale.toLanguageTag()} ${lang}" )
|
||||
if (lang != v.locale.toLanguageTag()) continue
|
||||
voice_list.add(v)
|
||||
}
|
||||
}
|
||||
|
@ -603,7 +594,8 @@ class AppState(
|
|||
}
|
||||
|
||||
if (item.sound_type == HighlightWord.SOUND_TYPE_CUSTOM && item.sound_uri.mayUri()
|
||||
.tryRingtone()) return
|
||||
.tryRingtone()
|
||||
) return
|
||||
|
||||
RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION).tryRingtone()
|
||||
}
|
||||
|
|
|
@ -329,7 +329,7 @@ fun Column.isFiltered(item: TootNotification): Boolean {
|
|||
TootNotification.TYPE_FOLLOW_REQUEST_ACCEPTED_MISSKEY -> {
|
||||
val who = item.account
|
||||
if (who != null && favMuteSet?.contains(access_info.getFullAcct(who)) == true) {
|
||||
Column.log.d("%s is in favMuteSet.", access_info.getFullAcct(who))
|
||||
Column.log.d("${access_info.getFullAcct(who)} is in favMuteSet.")
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
|
|
@ -258,6 +258,7 @@ class ColumnTask_Loading(
|
|||
column.saveRange(bBottom = true, bTop = true, result = result, list = src)
|
||||
} else {
|
||||
column.saveRangeTop(result, src)
|
||||
true
|
||||
}
|
||||
|
||||
return when {
|
||||
|
@ -416,6 +417,7 @@ class ColumnTask_Loading(
|
|||
column.saveRange(bBottom = true, bTop = true, result = result, list = src)
|
||||
} else {
|
||||
column.saveRangeTop(result, src)
|
||||
true
|
||||
}
|
||||
|
||||
return when {
|
||||
|
@ -998,7 +1000,7 @@ class ColumnTask_Loading(
|
|||
target_status.conversation_main = true
|
||||
|
||||
// 祖先
|
||||
val list_asc = java.util.ArrayList<TootStatus>()
|
||||
val list_asc = ArrayList<TootStatus>()
|
||||
while (true) {
|
||||
if (client.isApiCancelled) return null
|
||||
queryParams["offset"] = list_asc.size
|
||||
|
@ -1012,7 +1014,7 @@ class ColumnTask_Loading(
|
|||
}
|
||||
|
||||
// 直接の子リプライ。(子孫をたどることまではしない)
|
||||
val list_desc = java.util.ArrayList<TootStatus>()
|
||||
val list_desc = ArrayList<TootStatus>()
|
||||
val idSet = HashSet<EntityId>()
|
||||
var untilId: EntityId? = null
|
||||
|
||||
|
@ -1048,7 +1050,7 @@ class ColumnTask_Loading(
|
|||
}
|
||||
|
||||
// 一つのリストにまとめる
|
||||
this.list_tmp = java.util.ArrayList<TimelineItem>(
|
||||
this.list_tmp = ArrayList<TimelineItem>(
|
||||
list_asc.size + list_desc.size + 2
|
||||
).apply {
|
||||
addAll(list_asc.sortedBy { it.time_created_at })
|
||||
|
@ -1084,7 +1086,7 @@ class ColumnTask_Loading(
|
|||
target_status.conversation_main = true
|
||||
if (conversation_context != null) {
|
||||
|
||||
this.list_tmp = java.util.ArrayList(
|
||||
this.list_tmp = ArrayList(
|
||||
1
|
||||
+ (conversation_context.ancestors?.size ?: 0)
|
||||
+ (conversation_context.descendants?.size ?: 0)
|
||||
|
|
|
@ -103,8 +103,6 @@ class ColumnTask_Refresh(
|
|||
sp = holder.scrollPosition
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (bBottom) {
|
||||
val changeList = listOf(
|
||||
AdapterChange(
|
||||
|
|
|
@ -237,21 +237,17 @@ class ColumnViewHolder(
|
|||
|
||||
val column = this@ColumnViewHolder.column
|
||||
if (column == null) {
|
||||
log.d("restoreScrollPosition [%d], column==null", page_idx)
|
||||
log.d("restoreScrollPosition [${page_idx}], column==null")
|
||||
return
|
||||
}
|
||||
|
||||
if (column.is_dispose.get()) {
|
||||
log.d("restoreScrollPosition [%d], column is disposed", page_idx)
|
||||
log.d("restoreScrollPosition [${page_idx}], column is disposed")
|
||||
return
|
||||
}
|
||||
|
||||
if (column.hasMultipleViewHolder()) {
|
||||
log.d(
|
||||
"restoreScrollPosition [%d] %s , column has multiple view holder. retry later.",
|
||||
page_idx,
|
||||
column.getColumnName(true)
|
||||
)
|
||||
log.d("restoreScrollPosition [${page_idx}] ${column.getColumnName(true)}, column has multiple view holder. retry later.")
|
||||
|
||||
// タブレットモードでカラムを追加/削除した際に発生する。
|
||||
// このタイミングでスクロール位置を復元してもうまくいかないので延期する
|
||||
|
@ -277,30 +273,16 @@ class ColumnViewHolder(
|
|||
// }
|
||||
// }
|
||||
|
||||
log.d(
|
||||
"restoreScrollPosition [$page_idx] %s , column has no saved scroll position.",
|
||||
column.getColumnName(true)
|
||||
)
|
||||
log.d("restoreScrollPosition [$page_idx] ${column.getColumnName(true)} , column has no saved scroll position.")
|
||||
return
|
||||
}
|
||||
|
||||
column.scroll_save = null
|
||||
|
||||
if (listView.visibility != View.VISIBLE) {
|
||||
log.d(
|
||||
"restoreScrollPosition [$page_idx] %s , listView is not visible. saved position %s,%s is dropped.",
|
||||
column.getColumnName(true),
|
||||
sp.adapterIndex,
|
||||
sp.offset
|
||||
)
|
||||
log.d("restoreScrollPosition [$page_idx] ${column.getColumnName(true)} , listView is not visible. saved position ${sp.adapterIndex},${sp.offset} is dropped.")
|
||||
} else {
|
||||
log.d(
|
||||
"restoreScrollPosition [%d] %s , listView is visible. resume %s,%s",
|
||||
page_idx,
|
||||
column.getColumnName(true),
|
||||
sp.adapterIndex,
|
||||
sp.offset
|
||||
)
|
||||
log.d("restoreScrollPosition [${page_idx}] ${column.getColumnName(true)} , listView is visible. resume ${sp.adapterIndex},${sp.offset}")
|
||||
sp.restore(this@ColumnViewHolder)
|
||||
}
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ fun ColumnViewHolder.onPageDestroy(page_idx: Int) {
|
|||
// タブレットモードの場合、onPageCreateより前に呼ばれる
|
||||
val column = this.column
|
||||
if (column != null) {
|
||||
ColumnViewHolder.log.d("onPageDestroy [%d] %s", page_idx, tvColumnName.text)
|
||||
ColumnViewHolder.log.d("onPageDestroy [${page_idx}] ${tvColumnName.text}")
|
||||
saveScrollPosition()
|
||||
listView.adapter = null
|
||||
column.removeColumnViewHolder(this)
|
||||
|
@ -111,7 +111,7 @@ fun ColumnViewHolder.onPageCreate(column: Column, page_idx: Int, page_count: Int
|
|||
this.column = column
|
||||
this.page_idx = page_idx
|
||||
|
||||
ColumnViewHolder.log.d("onPageCreate [%d] %s", page_idx, column.getColumnName(true))
|
||||
ColumnViewHolder.log.d("onPageCreate [${page_idx}] ${column.getColumnName(true)}")
|
||||
|
||||
val bSimpleList =
|
||||
column.type != ColumnType.CONVERSATION && Pref.bpSimpleList(activity.pref)
|
||||
|
|
|
@ -209,22 +209,17 @@ fun ColumnViewHolder.scrollToTop2() {
|
|||
fun ColumnViewHolder.saveScrollPosition(): Boolean {
|
||||
val column = this.column
|
||||
when {
|
||||
column == null -> ColumnViewHolder.log.d("saveScrollPosition [%d] , column==null", page_idx)
|
||||
column == null ->
|
||||
ColumnViewHolder.log.d("saveScrollPosition [${page_idx}] , column==null")
|
||||
|
||||
column.is_dispose.get() -> ColumnViewHolder.log.d(
|
||||
"saveScrollPosition [%d] , column is disposed",
|
||||
page_idx
|
||||
)
|
||||
column.is_dispose.get() ->
|
||||
ColumnViewHolder.log.d("saveScrollPosition [${page_idx}] , column is disposed")
|
||||
|
||||
listView.visibility != View.VISIBLE -> {
|
||||
val scroll_save = ScrollPosition()
|
||||
column.scroll_save = scroll_save
|
||||
ColumnViewHolder.log.d(
|
||||
"saveScrollPosition [%d] %s , listView is not visible, save %s,%s",
|
||||
page_idx,
|
||||
column.getColumnName(true),
|
||||
scroll_save.adapterIndex,
|
||||
scroll_save.offset
|
||||
"saveScrollPosition [${page_idx}] ${column.getColumnName(true)} , listView is not visible, save ${scroll_save.adapterIndex},${scroll_save.offset}"
|
||||
)
|
||||
return true
|
||||
}
|
||||
|
@ -233,11 +228,7 @@ fun ColumnViewHolder.saveScrollPosition(): Boolean {
|
|||
val scroll_save = ScrollPosition(this)
|
||||
column.scroll_save = scroll_save
|
||||
ColumnViewHolder.log.d(
|
||||
"saveScrollPosition [%d] %s , listView is visible, save %s,%s",
|
||||
page_idx,
|
||||
column.getColumnName(true),
|
||||
scroll_save.adapterIndex,
|
||||
scroll_save.offset
|
||||
"saveScrollPosition [${page_idx}] ${column.getColumnName(true)} , listView is visible, save ${scroll_save.adapterIndex},${scroll_save.offset}"
|
||||
)
|
||||
return true
|
||||
}
|
||||
|
@ -262,7 +253,7 @@ fun ColumnViewHolder.setScrollPosition(sp: ScrollPosition, deltaDp: Float = 0f)
|
|||
listLayoutManager.scrollVerticallyBy(dy, recycler, state)
|
||||
} catch (ex: Throwable) {
|
||||
ColumnViewHolder.log.trace(ex)
|
||||
ColumnViewHolder.log.e("can't access field in class %s", RecyclerView::class.java.simpleName)
|
||||
ColumnViewHolder.log.e("can't access field in class ${RecyclerView::class.java.simpleName}")
|
||||
}
|
||||
}, 20L)
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ class EventReceiver : BroadcastReceiver() {
|
|||
ACTION_NOTIFICATION_DELETE ->
|
||||
PollingWorker.queueNotificationDeleted( context,intent.data)
|
||||
|
||||
else -> log.e("onReceive: unsupported action %s", action)
|
||||
else -> log.e("onReceive: unsupported action ${action}")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ class MyFirebaseMessagingService : FirebaseMessagingService() {
|
|||
var tag: String? = null
|
||||
val data = remoteMessage.data
|
||||
for ((key, value) in data) {
|
||||
log.d("onMessageReceived: %s=%s", key, value)
|
||||
log.d("onMessageReceived: ${key}=${value}")
|
||||
when (key) {
|
||||
"notification_tag" -> tag = value
|
||||
"acct" -> tag = "acct<>$value"
|
||||
|
@ -42,7 +42,7 @@ class MyFirebaseMessagingService : FirebaseMessagingService() {
|
|||
|
||||
override fun onNewToken(token: String) {
|
||||
try {
|
||||
log.d("onTokenRefresh: token=%s", token)
|
||||
log.d("onTokenRefresh: token=${token}")
|
||||
PrefDevice.prefDevice(this).edit().putString(PrefDevice.KEY_DEVICE_TOKEN, token).apply()
|
||||
|
||||
PollingWorker.queueFCMTokenUpdated(this)
|
||||
|
|
|
@ -17,7 +17,7 @@ internal class TabletColumnViewHolder(
|
|||
private var pageIndex = -1
|
||||
|
||||
fun bind(column: Column, pageIndex: Int, column_count: Int) {
|
||||
log.d("bind. %d => %d ", this.pageIndex, pageIndex)
|
||||
log.d("bind. ${this.pageIndex} => ${pageIndex}")
|
||||
|
||||
columnViewHolder.onPageDestroy(this.pageIndex)
|
||||
|
||||
|
@ -31,7 +31,7 @@ internal class TabletColumnViewHolder(
|
|||
}
|
||||
|
||||
fun onViewRecycled() {
|
||||
log.d("onViewRecycled %d", pageIndex)
|
||||
log.d("onViewRecycled ${pageIndex}")
|
||||
columnViewHolder.onPageDestroy(pageIndex)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -63,7 +63,7 @@ class UpdateRelationEnv(val column: Column) {
|
|||
UserRelation.saveListMisskey(now, column.access_info.db_id, who_list, start, step)
|
||||
start += step
|
||||
}
|
||||
Column.log.d("updateRelation: update %d relations.", end)
|
||||
Column.log.d("updateRelation: update ${end} relations.")
|
||||
}
|
||||
|
||||
// 2018/11/1 Misskeyにもリレーション取得APIができた
|
||||
|
@ -108,7 +108,7 @@ class UpdateRelationEnv(val column: Column) {
|
|||
UserRelation.saveList2(now, column.access_info.db_id, list)
|
||||
}
|
||||
}
|
||||
Column.log.d("updateRelation: update %d relations.", n)
|
||||
Column.log.d("updateRelation: update ${n} relations.")
|
||||
|
||||
}
|
||||
|
||||
|
@ -139,7 +139,7 @@ class UpdateRelationEnv(val column: Column) {
|
|||
list
|
||||
)
|
||||
}
|
||||
Column.log.d("updateRelation: update %d relations.", n)
|
||||
Column.log.d("updateRelation: update ${n} relations.")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -158,7 +158,7 @@ class UpdateRelationEnv(val column: Column) {
|
|||
AcctSet.saveList(now, acct_list, n, length)
|
||||
n += length
|
||||
}
|
||||
Column.log.d("updateRelation: update %d acct.", n)
|
||||
Column.log.d("updateRelation: update ${n} acct.")
|
||||
|
||||
}
|
||||
|
||||
|
@ -177,7 +177,7 @@ class UpdateRelationEnv(val column: Column) {
|
|||
TagSet.saveList(now, tag_list, n, length)
|
||||
n += length
|
||||
}
|
||||
Column.log.d("updateRelation: update %d tag.", n)
|
||||
Column.log.d("updateRelation: update ${n} tag.")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -231,7 +231,7 @@ private fun appServerUnregister(context: Context, account: SavedAccount) {
|
|||
|
||||
val response = call.await()
|
||||
|
||||
log.e("appServerUnregister: %s", response)
|
||||
log.e("appServerUnregister: ${response}")
|
||||
} catch (ex: Throwable) {
|
||||
log.trace(ex, "appServerUnregister failed.")
|
||||
}
|
||||
|
|
|
@ -132,7 +132,7 @@ private fun ActMain.conversationRemote(
|
|||
val (result, status) = client.syncStatus(access_info, remote_status_url)
|
||||
if (status != null) {
|
||||
local_status_id = status.id
|
||||
log.d("status id conversion %s => %s", remote_status_url, status.id)
|
||||
log.d("status id conversion ${remote_status_url}=>${status.id}")
|
||||
}
|
||||
result
|
||||
}
|
||||
|
|
|
@ -114,14 +114,17 @@ class TootList(parser:TootParser,src : JsonObject): TimelineItem(), Comparable<T
|
|||
else -> (ob is Long).b2i() - (oa is Long).b2i()
|
||||
}
|
||||
log.d(
|
||||
"%s %s %s"
|
||||
, oa
|
||||
, if(delta < 0) "<" else if(delta > 0) ">" else "="
|
||||
, ob
|
||||
"${oa} ${
|
||||
when {
|
||||
delta < 0 -> "<"
|
||||
delta > 0 -> ">"
|
||||
else -> "="
|
||||
}
|
||||
} ${ob}"
|
||||
|
||||
)
|
||||
if (delta != 0) return delta
|
||||
++i
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -30,12 +30,12 @@ object TootPayload {
|
|||
|
||||
// ここを通るケースはまだ確認できていない
|
||||
else -> {
|
||||
log.e("unknown payload(1). message=%s", parent_text)
|
||||
log.e("unknown payload(1). message=${parent_text}")
|
||||
null
|
||||
}
|
||||
}
|
||||
} else if (payload is JsonArray) {
|
||||
log.e("unknown payload(1b). message=%s", parent_text)
|
||||
log.e("unknown payload(1b). message=${parent_text}")
|
||||
return null
|
||||
}
|
||||
|
||||
|
@ -63,12 +63,12 @@ object TootPayload {
|
|||
"announcement.reaction" -> parseItem(TootReaction::parseFedibird, src)
|
||||
|
||||
else -> {
|
||||
log.e("unknown payload(2). message=%s", parent_text)
|
||||
log.e("unknown payload(2). message=${parent_text}")
|
||||
// ここを通るケースはまだ確認できていない
|
||||
}
|
||||
}
|
||||
} else if (payload[0] == '[') {
|
||||
log.e("unknown payload(2b). message=%s", parent_text)
|
||||
log.e("unknown payload(2b). message=${parent_text}")
|
||||
return null
|
||||
}
|
||||
|
||||
|
@ -80,7 +80,7 @@ object TootPayload {
|
|||
}
|
||||
|
||||
// ここを通るケースはまだ確認できていない
|
||||
log.e("unknown payload(3). message=%s", parent_text)
|
||||
log.e("unknown payload(3). message=${parent_text}")
|
||||
|
||||
} catch (ex: Throwable) {
|
||||
log.trace(ex)
|
||||
|
|
|
@ -1210,10 +1210,10 @@ class TootStatus(parser: TootParser, src: JsonObject) : TimelineItem() {
|
|||
m = reDate.matcher(strTime)
|
||||
if (m.find()) return parseTime("${strTime}T00:00:00.000Z")
|
||||
|
||||
log.w("invalid time format: %s", strTime)
|
||||
log.w("invalid time format: ${strTime}")
|
||||
} catch (ex: Throwable) { // ParseException, ArrayIndexOutOfBoundsException
|
||||
log.trace(ex)
|
||||
log.e(ex, "TootStatus.parseTime failed. src=%s", strTime)
|
||||
log.e(ex, "TootStatus.parseTime failed. src=$strTime")
|
||||
}
|
||||
}
|
||||
return 0L
|
||||
|
@ -1224,7 +1224,7 @@ class TootStatus(parser: TootParser, src: JsonObject) : TimelineItem() {
|
|||
try {
|
||||
val m = reMSPTime.matcher(strTime)
|
||||
if (!m.find()) {
|
||||
log.d("invalid time format: %s", strTime)
|
||||
log.d("invalid time format: $strTime")
|
||||
} else {
|
||||
val g = GregorianCalendar(tz_utc)
|
||||
g.set(
|
||||
|
@ -1240,7 +1240,7 @@ class TootStatus(parser: TootParser, src: JsonObject) : TimelineItem() {
|
|||
}
|
||||
} catch (ex: Throwable) { // ParseException, ArrayIndexOutOfBoundsException
|
||||
log.trace(ex)
|
||||
log.e(ex, "parseTimeMSP failed. src=%s", strTime)
|
||||
log.e(ex, "parseTimeMSP failed. src=${strTime}" )
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -103,7 +103,7 @@ class PollingForegrounder : IntentService("PollingForegrounder") {
|
|||
if (sv.isEmpty() || sv == last_status) return@handleFCMMessage
|
||||
// 状況が変化したらログと通知領域に出力する
|
||||
last_status = sv
|
||||
log.d("onStatus %s", sv)
|
||||
log.d("onStatus $sv")
|
||||
startForeground(NOTIFICATION_ID_FOREGROUNDER, createNotification(context, sv))
|
||||
}
|
||||
}
|
||||
|
|
|
@ -357,10 +357,7 @@ class PollingWorker private constructor(contextArg: Context) {
|
|||
// ジョブが完了した?
|
||||
val now = SystemClock.elapsedRealtime()
|
||||
if (!pw.hasJob(JobId.Push)) {
|
||||
log.d(
|
||||
"handleFCMMessage: JOB_FCM completed. time=%.2f",
|
||||
(now - time_start) / 1000f
|
||||
)
|
||||
log.d("handleFCMMessage: JOB_FCM completed. time=${String.format("%.2f", (now - time_start) / 1000f)}")
|
||||
break
|
||||
}
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ object NotestockHelper {
|
|||
parseList(parser, data)
|
||||
.also {
|
||||
if (it.isEmpty())
|
||||
log.d("search result is empty. %s", result.bodyString)
|
||||
log.d("search result is empty. ${result.bodyString}")
|
||||
|
||||
}
|
||||
)
|
||||
|
|
|
@ -72,7 +72,7 @@ object TootsearchHelper {
|
|||
parseList(parser, root)
|
||||
.also {
|
||||
if (it.isEmpty())
|
||||
log.d("search result is empty. %s", result.bodyString)
|
||||
log.d("search result is empty. ${result.bodyString}")
|
||||
}
|
||||
)
|
||||
}
|
||||
|
|
|
@ -164,12 +164,7 @@ class AcctColor {
|
|||
log.e(ex, "load failed.")
|
||||
}
|
||||
|
||||
log.d(
|
||||
"lruCache size=%s,hit=%s,miss=%s",
|
||||
mMemoryCache.size(),
|
||||
mMemoryCache.hitCount(),
|
||||
mMemoryCache.missCount()
|
||||
)
|
||||
log.d("lruCache size=${mMemoryCache.size()},hit=${mMemoryCache.hitCount()},miss=${mMemoryCache.missCount()}")
|
||||
val ac = AcctColor(key, acctPretty)
|
||||
mMemoryCache.put(key, ac)
|
||||
return ac
|
||||
|
|
|
@ -69,14 +69,7 @@ class NotificationTracking {
|
|||
post_id.putTo(cv, COL_POST_ID)
|
||||
cv.put(COL_POST_TIME, post_time)
|
||||
val rows = App1.database.update(table, cv, WHERE_AID, arrayOf(account_db_id.toString(),notificationType))
|
||||
log.d(
|
||||
"updatePost account_db_id=%s, nt=%s, post=%s,%s update_rows=%s"
|
||||
, account_db_id
|
||||
, notificationType
|
||||
, post_id
|
||||
, post_time
|
||||
, rows
|
||||
)
|
||||
log.d("updatePost account_db_id=${account_db_id}, nt=${notificationType}, post=${post_id},${post_time} update_rows=${rows}")
|
||||
dirty=false
|
||||
clearCache(account_db_id,notificationType)
|
||||
} catch(ex : Throwable) {
|
||||
|
|
|
@ -154,7 +154,7 @@ class PostDraft {
|
|||
val colIdx = colIdxArg ?: ColIdx(cursor)
|
||||
|
||||
if (!cursor.moveToPosition(position)) {
|
||||
log.d("loadFromCursor: move failed. position=%s", position)
|
||||
log.d("loadFromCursor: move failed. position=${position}")
|
||||
return null
|
||||
}
|
||||
|
||||
|
|
|
@ -353,13 +353,7 @@ class CustomEmojiCache(
|
|||
|
||||
if (cache_used) continue
|
||||
|
||||
if (DEBUG)
|
||||
log.d(
|
||||
"start get image. queue_size=%d, cache_size=%d url=%s",
|
||||
queue_size,
|
||||
cache_size,
|
||||
request.url
|
||||
)
|
||||
if (DEBUG) log.d("start get image. queue_size=${queue_size}, cache_size=${cache_size} url=${request.url}")
|
||||
|
||||
val now = System.currentTimeMillis()
|
||||
|
||||
|
@ -377,8 +371,7 @@ class CustomEmojiCache(
|
|||
data = try {
|
||||
App1.getHttpCached(request.url)
|
||||
} catch (ex: Throwable) {
|
||||
log.e("get failed. url=%s", request.url)
|
||||
log.trace(ex)
|
||||
log.trace(ex, "get failed. url=${request.url}")
|
||||
null
|
||||
}
|
||||
te = elapsedTime
|
||||
|
@ -473,7 +466,7 @@ class CustomEmojiCache(
|
|||
// fall thru
|
||||
} catch (ex: Throwable) {
|
||||
if (DEBUG) log.trace(ex)
|
||||
log.e(ex, "PNG decode failed. %s ", url)
|
||||
log.e(ex, "PNG decode failed. $url ")
|
||||
}
|
||||
|
||||
// 通常のビットマップでのロードを試みる
|
||||
|
@ -483,12 +476,12 @@ class CustomEmojiCache(
|
|||
if (DEBUG) log.d("bitmap decoded.")
|
||||
return ApngFrames(b)
|
||||
} else {
|
||||
log.e("Bitmap decode returns null. %s", url)
|
||||
log.e("Bitmap decode returns null. $url")
|
||||
}
|
||||
|
||||
// fall thru
|
||||
} catch (ex: Throwable) {
|
||||
log.e(ex, "Bitmap decode failed. %s", url)
|
||||
log.e(ex, "Bitmap decode failed. $url")
|
||||
}
|
||||
|
||||
// SVGのロードを試みる
|
||||
|
@ -501,7 +494,7 @@ class CustomEmojiCache(
|
|||
|
||||
// fall thru
|
||||
} catch (ex: Throwable) {
|
||||
log.e(ex, "SVG decode failed. %s", url)
|
||||
log.e(ex, "SVG decode failed. $url")
|
||||
}
|
||||
|
||||
return null
|
||||
|
|
|
@ -289,7 +289,7 @@ class CustomEmojiLister(
|
|||
list.sortWith(compareBy(String.CASE_INSENSITIVE_ORDER) { it.shortcode })
|
||||
list
|
||||
} catch (ex: Throwable) {
|
||||
log.e(ex, "decodeEmojiList failed. instance=%s", accessInfo.apiHost.ascii)
|
||||
log.e(ex, "decodeEmojiList failed. instance=${accessInfo.apiHost.ascii}")
|
||||
null
|
||||
}
|
||||
}
|
||||
|
|
|
@ -178,7 +178,8 @@ class SpanList {
|
|||
src.list.forEach { addLast(it.start + offset, it.end + offset, it.span) }
|
||||
}
|
||||
|
||||
fun addFirst(start: Int, end: Int, span: Any) = when {
|
||||
fun addFirst(start: Int, end: Int, span: Any) {
|
||||
when {
|
||||
start == end -> {
|
||||
// empty span allowed
|
||||
}
|
||||
|
@ -191,8 +192,10 @@ class SpanList {
|
|||
list.addFirst(SpanPos(start, end, span))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun addLast(start: Int, end: Int, span: Any) = when {
|
||||
fun addLast(start: Int, end: Int, span: Any) {
|
||||
when {
|
||||
start == end -> {
|
||||
// empty span allowed
|
||||
}
|
||||
|
@ -205,6 +208,7 @@ class SpanList {
|
|||
list.addLast(SpanPos(start, end, span))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun insert(offset: Int, length: Int) {
|
||||
for (sp in list) {
|
||||
|
@ -1490,6 +1494,7 @@ object MisskeyMarkdownDecoder {
|
|||
return null
|
||||
}
|
||||
|
||||
@Suppress("SpellCheckingInspection")
|
||||
private val latexEscape = listOf(
|
||||
"\\#" to "#",
|
||||
"\\$" to "$",
|
||||
|
@ -1539,9 +1544,13 @@ object MisskeyMarkdownDecoder {
|
|||
|
||||
// \} \]はムダなエスケープに見えるが、androidでは必要なので削ってはいけない
|
||||
@Suppress("RegExpRedundantEscape")
|
||||
private val reLatexRemove = """\\(?:quad|Huge|atop|sf|scriptsize|bf|small|tiny|underline|large|(?:color)\{[^}]*\})""".toRegex()
|
||||
private val reLatexRemove =
|
||||
"""\\(?:quad|Huge|atop|sf|scriptsize|bf|small|tiny|underline|large|(?:color)\{[^}]*\})""".toRegex()
|
||||
|
||||
@Suppress("RegExpRedundantEscape")
|
||||
private val reLatex1 = """\\(?:(?:url)|(?:textcolor|colorbox)\{[^}]*\}|(?:fcolorbox|raisebox)\{[^}]*\}\{[^}]*\}|includegraphics\[[^]]*\])\{([^}]*)\}""".toRegex()
|
||||
private val reLatex1 =
|
||||
"""\\(?:(?:url)|(?:textcolor|colorbox)\{[^}]*\}|(?:fcolorbox|raisebox)\{[^}]*\}\{[^}]*\}|includegraphics\[[^]]*\])\{([^}]*)\}""".toRegex()
|
||||
|
||||
@Suppress("RegExpRedundantEscape")
|
||||
private val reLatex2reversed = """\\(?:overset|href)\{([^}]+)\}\{([^}]+)\}""".toRegex()
|
||||
|
||||
|
@ -1943,8 +1952,10 @@ object MisskeyMarkdownDecoder {
|
|||
|
||||
if (src != null) {
|
||||
val root = Node(NodeType.ROOT, emptyArray(), null)
|
||||
NodeParseEnv(useFunction = (options.linkHelper?.misskeyVersion
|
||||
?: 12) >= 11, root, src, 0, src.length).parseInside()
|
||||
NodeParseEnv(
|
||||
useFunction = (options.linkHelper?.misskeyVersion
|
||||
?: 12) >= 11, root, src, 0, src.length
|
||||
).parseInside()
|
||||
env.fireRender(root).setSpan(env.sb)
|
||||
}
|
||||
|
||||
|
|
|
@ -783,7 +783,7 @@ class PostHelper(
|
|||
val limit = 100
|
||||
val s = src.substring(start, end)
|
||||
val acct_list = AcctSet.searchPrefix(s, limit)
|
||||
log.d("search for %s, result=%d", s, acct_list.size)
|
||||
log.d("search for ${s}, result=${acct_list.size}")
|
||||
if (acct_list.isEmpty()) {
|
||||
closeAcctPopup()
|
||||
} else {
|
||||
|
@ -811,7 +811,7 @@ class PostHelper(
|
|||
val limit = 100
|
||||
val s = src.substring(last_sharp + 1, end)
|
||||
val tag_list = TagSet.searchPrefix(s, limit)
|
||||
log.d("search for %s, result=%d", s, tag_list.size)
|
||||
log.d("search for ${s}, result=${tag_list.size}")
|
||||
if (tag_list.isEmpty()) {
|
||||
closeAcctPopup()
|
||||
} else {
|
||||
|
@ -863,7 +863,7 @@ class PostHelper(
|
|||
val s =
|
||||
src.substring(last_colon + 1, end).lowercase().replace('-', '_')
|
||||
val matches = EmojiDecoder.searchShortCode(activity, s, remain)
|
||||
log.d("checkEmoji: search for %s, result=%d", s, matches.size)
|
||||
log.d("checkEmoji: search for ${s}, result=${matches.size}")
|
||||
code_list.addAll(matches)
|
||||
}
|
||||
|
||||
|
|
|
@ -44,13 +44,12 @@ class TaskList {
|
|||
private fun saveArray(context: Context) {
|
||||
val list = prepareList(context)
|
||||
try {
|
||||
log.d("saveArray size=%s", list.size)
|
||||
log.d("saveArray size=${list.size}")
|
||||
val data = JsonArray(list).toString().encodeUTF8()
|
||||
context.openFileOutput(FILE_TASK_LIST, Context.MODE_PRIVATE)
|
||||
.use { IOUtils.write(data, it) }
|
||||
} catch (ex: Throwable) {
|
||||
log.trace(ex)
|
||||
log.e(ex, "TaskList: saveArray failed.size=%s", list.size)
|
||||
log.trace(ex, "TaskList: saveArray failed.size=${list.size}")
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ class MyListView : ListView {
|
|||
}
|
||||
|
||||
val rv = super.onTouchEvent(ev)
|
||||
log.d("onTouchEvent action=%s, rv=%s", action, rv)
|
||||
log.d("onTouchEvent action=${action}, rv=${rv}")
|
||||
return rv
|
||||
}
|
||||
|
||||
|
|
|
@ -314,7 +314,7 @@ class MyNetworkImageView : AppCompatImageView {
|
|||
drawable is BitmapDrawable -> replaceBitmapDrawable(drawable)
|
||||
|
||||
else -> {
|
||||
log.d("onResourceReady: drawable class=%s", drawable.javaClass)
|
||||
log.d("onResourceReady: drawable class=${drawable.javaClass.simpleName}")
|
||||
drawable
|
||||
}
|
||||
}
|
||||
|
@ -333,7 +333,7 @@ class MyNetworkImageView : AppCompatImageView {
|
|||
// // by forcing both the smaller thumb and the larger version to have exactly the same intrinsic dimensions.
|
||||
// // If a drawable is replaced in an ImageView by another drawable with different intrinsic dimensions,
|
||||
// // the ImageView requests a layout. Scrolling rapidly while replacing thumbs with larger images triggers
|
||||
// // lots of these calls and causes significant amounts of jank.
|
||||
// // lots of these calls and causes significant amounts of junk.
|
||||
// float viewRatio = view.getWidth() / (float) view.getHeight();
|
||||
// float drawableRatio = drawable.getIntrinsicWidth() / (float) drawable.getIntrinsicHeight();
|
||||
// if( Math.abs( viewRatio - 1f ) <= SQUARE_RATIO_MARGIN
|
||||
|
@ -360,7 +360,7 @@ class MyNetworkImageView : AppCompatImageView {
|
|||
override fun onStart() {
|
||||
val drawable = glide_drawable
|
||||
if (drawable is Animatable && !drawable.isRunning) {
|
||||
log.d("MyTargetGif onStart glide_drawable=%s", drawable)
|
||||
log.d("MyTargetGif onStart glide_drawable=${drawable}")
|
||||
drawable.start()
|
||||
}
|
||||
}
|
||||
|
@ -368,14 +368,14 @@ class MyNetworkImageView : AppCompatImageView {
|
|||
override fun onStop() {
|
||||
val drawable = glide_drawable
|
||||
if (drawable is Animatable && drawable.isRunning) {
|
||||
log.d("MyTargetGif onStop glide_drawable=%s", drawable)
|
||||
log.d("MyTargetGif onStop glide_drawable=${drawable}")
|
||||
drawable.stop()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
val drawable = glide_drawable
|
||||
log.d("MyTargetGif onDestroy glide_drawable=%s", drawable)
|
||||
log.d("MyTargetGif onDestroy glide_drawable=${drawable}")
|
||||
super.onDestroy()
|
||||
}
|
||||
}
|
||||
|
@ -474,7 +474,7 @@ class MyNetworkImageView : AppCompatImageView {
|
|||
setMeasuredDimension(w_measured, h_measured)
|
||||
} else {
|
||||
// 通常のImageViewは内容を見てサイズを決める
|
||||
// たとえLayputParamがw,hともmatchParentでも内容を見てしまう
|
||||
// たとえLayoutParamがw,hともmatchParentでも内容を見てしまう
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -237,7 +237,8 @@ class PinchBitmapView(context : Context, attrs : AttributeSet?, defStyle : Int)
|
|||
val bitmap = this.bitmap
|
||||
if (bitmap == null
|
||||
|| bitmap.isRecycled
|
||||
|| view_w < 1f)
|
||||
|| view_w < 1f
|
||||
)
|
||||
return false
|
||||
|
||||
val action = ev.action
|
||||
|
@ -304,7 +305,7 @@ class PinchBitmapView(context : Context, attrs : AttributeSet?, defStyle : Int)
|
|||
|
||||
++click_count
|
||||
|
||||
log.d("click %d %d", click_count, delta)
|
||||
log.d("click ${click_count} ${delta}")
|
||||
|
||||
if (click_count >= 2) {
|
||||
// ダブルタップでクリック操作
|
||||
|
|
|
@ -248,11 +248,7 @@ fun createResizedBitmap(
|
|||
val paint = Paint()
|
||||
paint.isFilterBitmap = true
|
||||
canvas.drawBitmap(sourceBitmap, matrix, paint)
|
||||
log.d(
|
||||
"createResizedBitmap: resized to %sx%s",
|
||||
dstSizeInt.x,
|
||||
dstSizeInt.y
|
||||
)
|
||||
log.d("createResizedBitmap: resized to ${dstSizeInt.x}x${dstSizeInt.y}")
|
||||
val tmp = dst
|
||||
dst = null
|
||||
tmp
|
||||
|
|
|
@ -195,7 +195,7 @@ fun getMimeType(log : LogCategory?, src : String) : String {
|
|||
// 戻り値が空文字列の場合とnullの場合があり、空文字列の場合は既知なのでログ出力しない
|
||||
|
||||
if (mime_type == null && log != null) {
|
||||
log.w("getMimeType(): unknown file extension '%s'", ext)
|
||||
log.w("getMimeType(): unknown file extension '${ext}'")
|
||||
}
|
||||
}
|
||||
return MIME_TYPE_APPLICATION_OCTET_STREAM
|
||||
|
|
Loading…
Reference in New Issue