Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9aac1a34 authored by Aayush Gupta's avatar Aayush Gupta
Browse files

App Lounge: Improve database packaging and logic

parent dba454e9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ import com.google.gson.Gson
import dagger.hilt.android.lifecycle.HiltViewModel
import foundation.e.apps.api.fused.FusedAPIRepository
import foundation.e.apps.api.fused.data.FusedApp
import foundation.e.apps.manager.database.fused.FusedDownload
import foundation.e.apps.manager.database.fusedDownload.FusedDownload
import foundation.e.apps.manager.fused.FusedManagerRepository
import foundation.e.apps.utils.modules.DataStoreModule
import foundation.e.apps.utils.enums.Type
+7 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
import foundation.e.apps.manager.database.fused.FusedDatabase
import foundation.e.apps.manager.database.fusedDownload.FusedDownloadDAO
import javax.inject.Singleton

@Module
@@ -25,4 +25,10 @@ object DatabaseModule {
            DATABASE_NAME
        ).build()
    }

    @Singleton
    @Provides
    fun provideFusedDaoInstance(fusedDatabase: FusedDatabase): FusedDownloadDAO {
        return fusedDatabase.fusedDownloadDao()
    }
}
+8 −8
Original line number Diff line number Diff line
package foundation.e.apps.manager.database

import androidx.lifecycle.LiveData
import foundation.e.apps.manager.database.fused.FusedDatabase
import foundation.e.apps.manager.database.fused.FusedDownload
import foundation.e.apps.manager.database.fusedDownload.FusedDownload
import foundation.e.apps.manager.database.fusedDownload.FusedDownloadDAO
import javax.inject.Inject

class DatabaseRepository @Inject constructor(
    private val fusedDatabase: FusedDatabase
    private val fusedDownloadDAO: FusedDownloadDAO
) {

    suspend fun addDownload(fusedDownload: FusedDownload) {
        return fusedDatabase.fusedDao().addDownload(fusedDownload)
        return fusedDownloadDAO.addDownload(fusedDownload)
    }

    suspend fun getDownloadList(): List<FusedDownload> {
        return fusedDatabase.fusedDao().getDownloadList()
        return fusedDownloadDAO.getDownloadList()
    }

    fun getDownloadLiveList(): LiveData<List<FusedDownload>> {
        return fusedDatabase.fusedDao().getDownloadLiveList()
        return fusedDownloadDAO.getDownloadLiveList()
    }

    suspend fun updateDownload(fusedDownload: FusedDownload) {
        return fusedDatabase.fusedDao().updateDownload(fusedDownload)
        return fusedDownloadDAO.updateDownload(fusedDownload)
    }

    suspend fun deleteDownload(fusedDownload: FusedDownload) {
        return fusedDatabase.fusedDao().deleteDownload(fusedDownload)
        return fusedDownloadDAO.deleteDownload(fusedDownload)
    }
}
+1 −1
Original line number Diff line number Diff line
package foundation.e.apps.manager.database.fused
package foundation.e.apps.manager.database

import androidx.room.TypeConverter
import com.google.gson.Gson
+4 −2
Original line number Diff line number Diff line
package foundation.e.apps.manager.database.fused
package foundation.e.apps.manager.database

import androidx.room.Database
import androidx.room.RoomDatabase
import androidx.room.TypeConverters
import foundation.e.apps.manager.database.fusedDownload.FusedDownloadDAO
import foundation.e.apps.manager.database.fusedDownload.FusedDownload

@Database(entities = [FusedDownload::class], version = 1, exportSchema = false)
@TypeConverters(FusedConverter::class)
abstract class FusedDatabase : RoomDatabase() {

    abstract fun fusedDao(): FusedDAO
    abstract fun fusedDownloadDao(): FusedDownloadDAO
}
Loading