File tree Expand file tree Collapse file tree
app/src/main/java/one/mixin/android Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ import androidx.room.Dao
44import androidx.room.Insert
55import androidx.room.OnConflictStrategy
66import androidx.room.Query
7+ import androidx.room.Transaction
78import one.mixin.android.api.response.perps.PerpsMarket
89import one.mixin.android.db.BaseDao
910
@@ -15,7 +16,13 @@ interface PerpsMarketDao : BaseDao<PerpsMarket> {
1516 @Insert(onConflict = OnConflictStrategy .REPLACE )
1617 suspend fun insertAll (markets : List <PerpsMarket >)
1718
18- @Query(" SELECT * FROM markets" )
19+ @Transaction
20+ suspend fun replaceAll (markets : List <PerpsMarket >) {
21+ deleteAll()
22+ insertAll(markets)
23+ }
24+
25+ @Query(" SELECT * FROM markets ORDER BY rowid ASC" )
1926 suspend fun getAllMarkets (): List <PerpsMarket >
2027
2128 @Query(" SELECT * FROM markets WHERE market_id = :marketId" )
Original file line number Diff line number Diff line change @@ -100,12 +100,13 @@ class PerpetualViewModel @Inject constructor(
100100 val data = response.data
101101 if (response.isSuccess && data != null ) {
102102 Timber .d(" Perps markets loaded: ${data.size} markets" )
103-
104- withContext(Dispatchers .IO ) {
105- perpsMarketDao.insertAll(data)
103+
104+ val orderedMarkets = withContext(Dispatchers .IO ) {
105+ perpsMarketDao.replaceAll(data)
106+ perpsMarketDao.getAllMarkets()
106107 }
107-
108- onSuccess(data )
108+
109+ onSuccess(orderedMarkets )
109110 } else {
110111 val error = " Failed to load markets: ${response.errorDescription} "
111112 Timber .e(error)
You can’t perform that action at this time.
0 commit comments