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

Commit be68e73d authored by Hasib Prince's avatar Hasib Prince
Browse files

Merge branch '5159-paid_app_update' into main

parents 76b3c429 d7c50d56
Loading
Loading
Loading
Loading
Loading
+1 −9
Original line number Diff line number Diff line
package foundation.e.apps.manager.database

import android.content.Context
import androidx.room.Room
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
@@ -13,17 +12,10 @@ import javax.inject.Singleton
@Module
@InstallIn(SingletonComponent::class)
object DatabaseModule {

    private const val DATABASE_NAME = "fused_database"

    @Singleton
    @Provides
    fun provideDatabaseInstance(@ApplicationContext context: Context): FusedDatabase {
        return Room.databaseBuilder(
            context,
            FusedDatabase::class.java,
            DATABASE_NAME
        ).fallbackToDestructiveMigration().build()
        return FusedDatabase.getInstance(context)
    }

    @Singleton
+20 −1
Original line number Diff line number Diff line
package foundation.e.apps.manager.database

import android.content.Context
import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase
import androidx.room.TypeConverters
import foundation.e.apps.api.database.AppDatabase
import foundation.e.apps.manager.database.fusedDownload.FusedDownload
import foundation.e.apps.manager.database.fusedDownload.FusedDownloadDAO

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

    abstract fun fusedDownloadDao(): FusedDownloadDAO

    companion object {
        private lateinit var INSTANCE: FusedDatabase
        private const val DATABASE_NAME = "fused_database"

        fun getInstance(context: Context): FusedDatabase {
            if (!Companion::INSTANCE.isInitialized) {
                synchronized(AppDatabase::class) {
                    INSTANCE =
                        Room.databaseBuilder(context, FusedDatabase::class.java, DATABASE_NAME)
                            .fallbackToDestructiveMigration()
                            .build()
                }
            }
            return INSTANCE
        }
    }
}
+8 −9
Original line number Diff line number Diff line
@@ -14,7 +14,6 @@ import androidx.preference.PreferenceManager
import androidx.work.CoroutineWorker
import androidx.work.WorkerParameters
import com.aurora.gplayapi.data.models.AuthData
import com.aurora.gplayapi.helpers.PurchaseHelper
import com.google.gson.Gson
import dagger.assisted.Assisted
import dagger.assisted.AssistedInject
@@ -117,13 +116,8 @@ class UpdatesWorker @AssistedInject constructor(
        authData: AuthData
    ) {
        appsNeededToUpdate.forEach { fusedApp ->
            if (!fusedApp.isFree) {
                val purchaseHelper = PurchaseHelper(authData)
                purchaseHelper.purchase(
                    fusedApp.package_name,
                    fusedApp.latest_version_code,
                    fusedApp.offer_type
                )
            if (!fusedApp.isFree && authData.isAnonymous) {
                return@forEach
            }
            val iconBase64 = getIconImageToBase64(fusedApp)

@@ -144,7 +138,12 @@ class UpdatesWorker @AssistedInject constructor(
                fusedApp.originalSize
            )

            try {
                updateFusedDownloadWithAppDownloadLink(fusedApp, authData, fusedDownload)
            } catch (e: Exception) {
                e.printStackTrace()
                return@forEach
            }

            fusedManagerRepository.addDownload(fusedDownload)
            fusedManagerRepository.updateAwaiting(fusedDownload)