Loading app/src/main/java/foundation/e/apps/manager/database/DatabaseModule.kt +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 Loading @@ -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 Loading app/src/main/java/foundation/e/apps/manager/database/FusedDatabase.kt +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 } } } app/src/main/java/foundation/e/apps/updates/manager/UpdatesWorker.kt +8 −9 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) Loading @@ -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) Loading Loading
app/src/main/java/foundation/e/apps/manager/database/DatabaseModule.kt +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 Loading @@ -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 Loading
app/src/main/java/foundation/e/apps/manager/database/FusedDatabase.kt +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 } } }
app/src/main/java/foundation/e/apps/updates/manager/UpdatesWorker.kt +8 −9 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) Loading @@ -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) Loading