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

Commit 07fc7b21 authored by Hasib Prince's avatar Hasib Prince
Browse files

App Lounge: DB creation is synchronized

parent 5bc871d5
Loading
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -215,7 +215,6 @@ class FusedAPIImpl @Inject constructor(
                }
            }
        }

    }

    suspend fun getSearchSuggestions(query: String, authData: AuthData): List<SearchSuggestEntry> {
+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
        }
    }
}
+0 −1
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