refactor compose & announcements to coroutines (#2446)
* refactor compose & announcements to coroutines * fix code formatting * add javadoc to InstanceInfoRepository * fix comments in ImageDownsizer * remove unused Either extensions * add explicit return type for InstanceInfoRepository.getEmojis * make ComposeViewModel.pickMedia return Result * cleanup code in ImageDownsizer
This commit is contained in:
parent
d6e9fd48c0
commit
d2bfceae7b
15 changed files with 596 additions and 628 deletions
|
|
@ -19,13 +19,19 @@ import androidx.room.Dao
|
|||
import androidx.room.Insert
|
||||
import androidx.room.OnConflictStrategy
|
||||
import androidx.room.Query
|
||||
import io.reactivex.rxjava3.core.Single
|
||||
|
||||
@Dao
|
||||
interface InstanceDao {
|
||||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||
fun insertOrReplace(instance: InstanceEntity)
|
||||
|
||||
@Insert(onConflict = OnConflictStrategy.REPLACE, entity = InstanceEntity::class)
|
||||
suspend fun insertOrReplace(instance: InstanceInfoEntity)
|
||||
|
||||
@Insert(onConflict = OnConflictStrategy.REPLACE, entity = InstanceEntity::class)
|
||||
suspend fun insertOrReplace(emojis: EmojisEntity)
|
||||
|
||||
@Query("SELECT * FROM InstanceEntity WHERE instance = :instance LIMIT 1")
|
||||
fun loadMetadataForInstance(instance: String): Single<InstanceEntity>
|
||||
suspend fun getInstanceInfo(instance: String): InstanceInfoEntity?
|
||||
|
||||
@Query("SELECT * FROM InstanceEntity WHERE instance = :instance LIMIT 1")
|
||||
suspend fun getEmojiInfo(instance: String): EmojisEntity?
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ import com.keylesspalace.tusky.entity.Emoji
|
|||
@Entity
|
||||
@TypeConverters(Converters::class)
|
||||
data class InstanceEntity(
|
||||
@field:PrimaryKey var instance: String,
|
||||
@PrimaryKey val instance: String,
|
||||
val emojiList: List<Emoji>?,
|
||||
val maximumTootCharacters: Int?,
|
||||
val maxPollOptions: Int?,
|
||||
|
|
@ -33,3 +33,20 @@ data class InstanceEntity(
|
|||
val charactersReservedPerUrl: Int?,
|
||||
val version: String?
|
||||
)
|
||||
|
||||
@TypeConverters(Converters::class)
|
||||
data class EmojisEntity(
|
||||
@PrimaryKey val instance: String,
|
||||
val emojiList: List<Emoji>?
|
||||
)
|
||||
|
||||
data class InstanceInfoEntity(
|
||||
@PrimaryKey val instance: String,
|
||||
val maximumTootCharacters: Int?,
|
||||
val maxPollOptions: Int?,
|
||||
val maxPollOptionLength: Int?,
|
||||
val minPollDuration: Int?,
|
||||
val maxPollDuration: Int?,
|
||||
val charactersReservedPerUrl: Int?,
|
||||
val version: String?
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue