3ab78a19bc
* Initial timeline cache implementation * Fix build/DI errors for caching * Rename timeline entities tables. Add migration. Add DB scheme file. * Fix uniqueness problem, change offline strategy, improve mapping * Try to merge in new statuses, fix bottom loading, fix saving spans. * Fix reblogs IDs, fix inserting elements from top * Send one more request to get latest timeline statuses * Give Timeline placeholders string id. Rewrite Either in Kotlin * Initial placeholder implementation for caching * Fix crash on removing overlap statuses * Migrate counters to long * Remove unused counters. Add minimal TimelineDAOTest * Fix bug with placeholder ID * Update cache in response to events. Refactor TimelineCases * Fix crash, reduce number of placeholders * Fix crash, fix filtering, improve placeholder handling * Fix migration, add 8-9 migration test * Fix initial timeline update, remove more placeholders * Add cleanup for old statuses * Fix cleanup * Delete ExampleInstrumentedTest * Improve timeline UX regarding caching * Fix typos * Fix initial timeline update * Cleanup/fix initial timeline update * Workaround for weird behavior of first post on initial tl update. * Change counter types back to int * Clear timeline cache on logout * Fix loading when timeline is completely empty * Fix androidx migration issues * Fix tests * Apply caching feedback * Save account emojis to cache * Fix warnings and bugs
23 lines
668 B
Kotlin
23 lines
668 B
Kotlin
package com.keylesspalace.tusky.viewdata
|
|
|
|
import android.os.Parcelable
|
|
import com.keylesspalace.tusky.entity.Attachment
|
|
import com.keylesspalace.tusky.entity.Status
|
|
import kotlinx.android.parcel.Parcelize
|
|
|
|
@Parcelize
|
|
data class AttachmentViewData(
|
|
val attachment: Attachment,
|
|
val statusId: String,
|
|
val statusUrl: String
|
|
) : Parcelable {
|
|
companion object {
|
|
@JvmStatic
|
|
fun list(status: Status): List<AttachmentViewData> {
|
|
val actionable = status.actionableStatus
|
|
return actionable.attachments.map {
|
|
AttachmentViewData(it, actionable.id, actionable.url!!)
|
|
}
|
|
}
|
|
}
|
|
} |