カラムの差分読み込みのコードをリファクタ

This commit is contained in:
tateisu 2020-09-22 01:25:47 +09:00
parent e01e14325f
commit 3a39262551
4 changed files with 949 additions and 1103 deletions

View File

@ -2051,28 +2051,27 @@ class Column(
}
// return true if list bottom may have unread remain
internal fun saveRangeEnd(result : TootApiResult?, list : List<TimelineItem>?) =
internal fun saveRangeBottom(result : TootApiResult?, list : List<TimelineItem>?) =
saveRange(true, bTop = false, result = result, list = list)
// return true if list bottom may have unread remain
internal fun saveRangeStart(result : TootApiResult?, list : List<TimelineItem>?) =
internal fun saveRangeTop(result : TootApiResult?, list : List<TimelineItem>?) =
saveRange(false, bTop = true, result = result, list = list)
internal fun addRange(bBottom : Boolean, path : String) : String {
val delimiter = if(- 1 != path.indexOf('?')) '&' else '?'
if(bBottom) {
if(idOld != null) return "$path${delimiter}max_id=${idOld}"
} else {
if(idRecent != null) return "$path${delimiter}since_id=${idRecent}"
}
return path
internal fun addRange(
bBottom : Boolean,
path : String,
delimiter : Char = if(- 1 == path.indexOf('?')) '?' else '&'
) = if(bBottom) {
if(idOld != null) "$path${delimiter}max_id=${idOld}" else path
} else {
if(idRecent != null) "$path${delimiter}since_id=${idRecent}" else path
}
internal fun addRangeMin(path : String) : String {
val delimiter = if(- 1 != path.indexOf('?')) '&' else '?'
if(idRecent != null) return "$path${delimiter}min_id=${idRecent}"
return path
}
internal fun addRangeMin(
path : String,
delimiter : Char = if(- 1 != path.indexOf('?')) '&' else '?'
) = if(idRecent == null) path else "$path${delimiter}min_id=${idRecent}"
internal fun startRefreshForPost(
refresh_after_post : Int,

View File

@ -232,7 +232,7 @@ class ColumnTask_Loading(
addWithFilterStatus(list_tmp, src)
if(! column.saveRangeStart(result = result2, list = src)) {
if(! column.saveRangeTop(result = result2, list = src)) {
log.d("loading-statuses: missing range info.")
break
}
@ -294,7 +294,7 @@ class ColumnTask_Loading(
addWithFilterStatus(list_tmp, src)
if(! column.saveRangeEnd(result = result2, list = src)) {
if(! column.saveRangeBottom(result = result2, list = src)) {
log.d("loading-statuses: missing range info.")
break
}
@ -396,7 +396,7 @@ class ColumnTask_Loading(
addWithFilterConversationSummary(list_tmp, src)
if(! column.saveRangeStart(result = result2, list = src)) {
if(! column.saveRangeTop(result = result2, list = src)) {
log.d("loading-ConversationSummary: missing range info.")
break
}
@ -459,7 +459,7 @@ class ColumnTask_Loading(
addWithFilterConversationSummary(list_tmp, src)
if(! column.saveRangeEnd(result = result2, list = src)) {
if(! column.saveRangeBottom(result = result2, list = src)) {
log.d("loading-ConversationSummary: missing range info.")
break
}
@ -681,7 +681,7 @@ class ColumnTask_Loading(
addWithFilterNotification(list_tmp, src)
if(! column.saveRangeEnd(result2, src)) {
if(! column.saveRangeBottom(result2, src)) {
log.d("loading-notifications: missing range info.")
break
}

File diff suppressed because it is too large Load Diff

View File

@ -500,7 +500,7 @@ enum class ColumnType(
if(bBottom) {
getStatusList(client, column.makePublicLocalUrl())
} else {
val rv = getStatusList(client, column.makePublicLocalUrl(), aroundMin = true)
val rv = getStatusList(client, column.makePublicLocalUrl(), useMinId = true)
list_tmp?.sortBy { it.getOrderId() }
list_tmp?.reverse()
rv
@ -523,7 +523,7 @@ enum class ColumnType(
if(bBottom) {
getStatusList(client, column.makePublicFederateUrl())
} else {
val rv = getStatusList(client, column.makePublicFederateUrl(), aroundMin = true)
val rv = getStatusList(client, column.makePublicFederateUrl(), useMinId = true)
list_tmp?.sortBy { it.getOrderId() }
list_tmp?.reverse()
rv
@ -591,7 +591,7 @@ enum class ColumnType(
client,
Column.PATH_MISSKEY_FAVORITES,
misskeyParams = column.makeMisskeyTimelineParameter(parser),
misskeyCustomParser = misskeyCustomParserFavorites
listParser = misskeyCustomParserFavorites
)
} else {
getStatusList(client, Column.PATH_FAVOURITES)
@ -1520,7 +1520,7 @@ enum class ColumnType(
if(bBottom) {
getStatusList(client, path)
} else {
val rv = getStatusList(client, path, aroundMin = true)
val rv = getStatusList(client, path, useMinId = true)
list_tmp?.sortBy { it.getOrderId() }
list_tmp?.reverse()
rv