Loading .gitignore +1 −0 Original line number Diff line number Diff line Loading @@ -8,3 +8,4 @@ .externalNativeBuild .cxx local.properties **/build/ app/build.gradle +2 −0 Original line number Diff line number Diff line Loading @@ -195,6 +195,8 @@ dependencies { // Project dependencies implementation(project(":auth-data-lib")) implementation(project(":parental-control-data")) implementation(project(":domain")) implementation(project(":data")) // eFoundation libraries implementation(libs.telemetry) Loading app/src/main/java/foundation/e/apps/AppLoungeApplication.kt +11 −12 Original line number Diff line number Diff line Loading @@ -34,10 +34,9 @@ import foundation.e.apps.data.install.AppInstallDAO import foundation.e.apps.data.install.pkg.AppLoungePackageManager import foundation.e.apps.data.install.pkg.PkgManagerBR import foundation.e.apps.data.install.updates.UpdatesWorkManager import foundation.e.apps.data.install.workmanager.InstallWorkManager import foundation.e.apps.data.preference.AppLoungeDataStore import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.data.system.CustomUncaughtExceptionHandler import foundation.e.apps.domain.preferences.AppPreferencesRepository import foundation.e.apps.domain.preferences.SessionRepository import foundation.e.apps.ui.setup.tos.TOS_VERSION import foundation.e.lib.telemetry.Telemetry import kotlinx.coroutines.CoroutineScope Loading @@ -62,10 +61,7 @@ class AppLoungeApplication : Application(), Configuration.Provider { lateinit var workerFactory: HiltWorkerFactory @Inject lateinit var appLoungeDataStore: AppLoungeDataStore @Inject lateinit var appLoungePreference: AppLoungePreference lateinit var appPreferencesRepository: AppPreferencesRepository @Inject lateinit var appInstallDao: AppInstallDAO Loading @@ -77,6 +73,9 @@ class AppLoungeApplication : Application(), Configuration.Provider { @IoCoroutineScope lateinit var coroutineScope: CoroutineScope @Inject lateinit var sessionRepository: SessionRepository @RequiresApi(Build.VERSION_CODES.TIRAMISU) override fun onCreate() { super.onCreate() Loading @@ -88,10 +87,10 @@ class AppLoungeApplication : Application(), Configuration.Provider { val pkgManagerBR = object : PkgManagerBR() {} registerReceiver(pkgManagerBR, appLoungePackageManager.getFilter(), RECEIVER_EXPORTED) val currentVersion = runBlocking { appLoungeDataStore.tosVersion.first() } val currentVersion = runBlocking { sessionRepository.tosVersion.first() } if (!currentVersion.contentEquals(TOS_VERSION)) { MainScope().launch { appLoungeDataStore.saveTOCStatus(false, "") coroutineScope.launch { sessionRepository.saveTocStatus(false, "") } } Loading @@ -114,10 +113,10 @@ class AppLoungeApplication : Application(), Configuration.Provider { }) } appLoungePreference.migrateAnonymousUserUpdateInterval() appPreferencesRepository.migrateAnonymousUserUpdateInterval() UpdatesWorkManager.enqueueWork( this, appLoungePreference.getUpdateInterval(), appPreferencesRepository.getUpdateInterval(), ExistingPeriodicWorkPolicy.KEEP ) Loading app/src/main/java/foundation/e/apps/data/DownloadManager.kt +3 −3 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import androidx.core.net.toUri import dagger.hilt.android.qualifiers.ApplicationContext import foundation.e.apps.OpenForTesting import foundation.e.apps.R import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.domain.preferences.AppPreferencesRepository import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay Loading @@ -48,7 +48,7 @@ class DownloadManager @Inject constructor( private val downloadManager: DownloadManager, @Named("cacheDir") private val cacheDir: String, private val downloadManagerQuery: DownloadManager.Query, private val appLoungePreference: AppLoungePreference, private val appPreferencesRepository: AppPreferencesRepository, ) { private val downloadsMaps = HashMap<Long, Boolean>() Loading Loading @@ -82,7 +82,7 @@ class DownloadManager @Inject constructor( val request = DownloadManager.Request(url.toUri()) .setTitle(context.getString(R.string.downloading)) .setDestinationUri(Uri.fromFile(downloadFile)) if (appLoungePreference.isOnlyUnmeteredNetworkEnabled()) { if (appPreferencesRepository.isOnlyUnmeteredNetworkEnabled()) { // Set to true by default for Download requests request.setAllowedOverMetered(false) } Loading app/src/main/java/foundation/e/apps/data/Stores.kt +13 −13 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ import foundation.e.apps.data.enums.Source.OPEN_SOURCE import foundation.e.apps.data.enums.Source.PLAY_STORE import foundation.e.apps.data.enums.Source.PWA import foundation.e.apps.data.playstore.PlayStoreRepository import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.domain.preferences.AppPreferencesRepository import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow Loading @@ -39,14 +39,14 @@ class Stores @Inject constructor( playStoreRepository: PlayStoreRepository, cleanApkAppsRepository: CleanApkAppsRepository, cleanApkPwaRepository: CleanApkPwaRepository, appLoungePreference: AppLoungePreference appPreferencesRepository: AppPreferencesRepository ) { private val storeConfigs: Map<Source, StoreConfig> = buildStoreConfigs( playStoreRepository, cleanApkAppsRepository, cleanApkPwaRepository, appLoungePreference appPreferencesRepository ) private val searchEligibleSources = storeConfigs.keys Loading Loading @@ -107,24 +107,24 @@ internal fun buildStoreConfigs( playStoreRepository: PlayStoreRepository, cleanApkAppsRepository: CleanApkAppsRepository, cleanApkPwaRepository: CleanApkPwaRepository, appLoungePreference: AppLoungePreference appPreferencesRepository: AppPreferencesRepository ): Map<Source, StoreConfig> = mapOf( PLAY_STORE to StoreConfig( repository = playStoreRepository, isEnabled = { appLoungePreference.isPlayStoreSelected() }, enable = { appLoungePreference.enablePlayStore() }, disable = { appLoungePreference.disablePlayStore() }, isEnabled = { appPreferencesRepository.isPlayStoreSelected() }, enable = { appPreferencesRepository.enablePlayStore() }, disable = { appPreferencesRepository.disablePlayStore() }, ), OPEN_SOURCE to StoreConfig( repository = cleanApkAppsRepository, isEnabled = { appLoungePreference.isOpenSourceSelected() }, enable = { appLoungePreference.enableOpenSource() }, disable = { appLoungePreference.disableOpenSource() }, isEnabled = { appPreferencesRepository.isOpenSourceSelected() }, enable = { appPreferencesRepository.enableOpenSource() }, disable = { appPreferencesRepository.disableOpenSource() }, ), PWA to StoreConfig( repository = cleanApkPwaRepository, isEnabled = { appLoungePreference.isPWASelected() }, enable = { appLoungePreference.enablePwa() }, disable = { appLoungePreference.disablePwa() }, isEnabled = { appPreferencesRepository.isPWASelected() }, enable = { appPreferencesRepository.enablePwa() }, disable = { appPreferencesRepository.disablePwa() }, ), ) Loading
.gitignore +1 −0 Original line number Diff line number Diff line Loading @@ -8,3 +8,4 @@ .externalNativeBuild .cxx local.properties **/build/
app/build.gradle +2 −0 Original line number Diff line number Diff line Loading @@ -195,6 +195,8 @@ dependencies { // Project dependencies implementation(project(":auth-data-lib")) implementation(project(":parental-control-data")) implementation(project(":domain")) implementation(project(":data")) // eFoundation libraries implementation(libs.telemetry) Loading
app/src/main/java/foundation/e/apps/AppLoungeApplication.kt +11 −12 Original line number Diff line number Diff line Loading @@ -34,10 +34,9 @@ import foundation.e.apps.data.install.AppInstallDAO import foundation.e.apps.data.install.pkg.AppLoungePackageManager import foundation.e.apps.data.install.pkg.PkgManagerBR import foundation.e.apps.data.install.updates.UpdatesWorkManager import foundation.e.apps.data.install.workmanager.InstallWorkManager import foundation.e.apps.data.preference.AppLoungeDataStore import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.data.system.CustomUncaughtExceptionHandler import foundation.e.apps.domain.preferences.AppPreferencesRepository import foundation.e.apps.domain.preferences.SessionRepository import foundation.e.apps.ui.setup.tos.TOS_VERSION import foundation.e.lib.telemetry.Telemetry import kotlinx.coroutines.CoroutineScope Loading @@ -62,10 +61,7 @@ class AppLoungeApplication : Application(), Configuration.Provider { lateinit var workerFactory: HiltWorkerFactory @Inject lateinit var appLoungeDataStore: AppLoungeDataStore @Inject lateinit var appLoungePreference: AppLoungePreference lateinit var appPreferencesRepository: AppPreferencesRepository @Inject lateinit var appInstallDao: AppInstallDAO Loading @@ -77,6 +73,9 @@ class AppLoungeApplication : Application(), Configuration.Provider { @IoCoroutineScope lateinit var coroutineScope: CoroutineScope @Inject lateinit var sessionRepository: SessionRepository @RequiresApi(Build.VERSION_CODES.TIRAMISU) override fun onCreate() { super.onCreate() Loading @@ -88,10 +87,10 @@ class AppLoungeApplication : Application(), Configuration.Provider { val pkgManagerBR = object : PkgManagerBR() {} registerReceiver(pkgManagerBR, appLoungePackageManager.getFilter(), RECEIVER_EXPORTED) val currentVersion = runBlocking { appLoungeDataStore.tosVersion.first() } val currentVersion = runBlocking { sessionRepository.tosVersion.first() } if (!currentVersion.contentEquals(TOS_VERSION)) { MainScope().launch { appLoungeDataStore.saveTOCStatus(false, "") coroutineScope.launch { sessionRepository.saveTocStatus(false, "") } } Loading @@ -114,10 +113,10 @@ class AppLoungeApplication : Application(), Configuration.Provider { }) } appLoungePreference.migrateAnonymousUserUpdateInterval() appPreferencesRepository.migrateAnonymousUserUpdateInterval() UpdatesWorkManager.enqueueWork( this, appLoungePreference.getUpdateInterval(), appPreferencesRepository.getUpdateInterval(), ExistingPeriodicWorkPolicy.KEEP ) Loading
app/src/main/java/foundation/e/apps/data/DownloadManager.kt +3 −3 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import androidx.core.net.toUri import dagger.hilt.android.qualifiers.ApplicationContext import foundation.e.apps.OpenForTesting import foundation.e.apps.R import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.domain.preferences.AppPreferencesRepository import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay Loading @@ -48,7 +48,7 @@ class DownloadManager @Inject constructor( private val downloadManager: DownloadManager, @Named("cacheDir") private val cacheDir: String, private val downloadManagerQuery: DownloadManager.Query, private val appLoungePreference: AppLoungePreference, private val appPreferencesRepository: AppPreferencesRepository, ) { private val downloadsMaps = HashMap<Long, Boolean>() Loading Loading @@ -82,7 +82,7 @@ class DownloadManager @Inject constructor( val request = DownloadManager.Request(url.toUri()) .setTitle(context.getString(R.string.downloading)) .setDestinationUri(Uri.fromFile(downloadFile)) if (appLoungePreference.isOnlyUnmeteredNetworkEnabled()) { if (appPreferencesRepository.isOnlyUnmeteredNetworkEnabled()) { // Set to true by default for Download requests request.setAllowedOverMetered(false) } Loading
app/src/main/java/foundation/e/apps/data/Stores.kt +13 −13 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ import foundation.e.apps.data.enums.Source.OPEN_SOURCE import foundation.e.apps.data.enums.Source.PLAY_STORE import foundation.e.apps.data.enums.Source.PWA import foundation.e.apps.data.playstore.PlayStoreRepository import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.domain.preferences.AppPreferencesRepository import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow Loading @@ -39,14 +39,14 @@ class Stores @Inject constructor( playStoreRepository: PlayStoreRepository, cleanApkAppsRepository: CleanApkAppsRepository, cleanApkPwaRepository: CleanApkPwaRepository, appLoungePreference: AppLoungePreference appPreferencesRepository: AppPreferencesRepository ) { private val storeConfigs: Map<Source, StoreConfig> = buildStoreConfigs( playStoreRepository, cleanApkAppsRepository, cleanApkPwaRepository, appLoungePreference appPreferencesRepository ) private val searchEligibleSources = storeConfigs.keys Loading Loading @@ -107,24 +107,24 @@ internal fun buildStoreConfigs( playStoreRepository: PlayStoreRepository, cleanApkAppsRepository: CleanApkAppsRepository, cleanApkPwaRepository: CleanApkPwaRepository, appLoungePreference: AppLoungePreference appPreferencesRepository: AppPreferencesRepository ): Map<Source, StoreConfig> = mapOf( PLAY_STORE to StoreConfig( repository = playStoreRepository, isEnabled = { appLoungePreference.isPlayStoreSelected() }, enable = { appLoungePreference.enablePlayStore() }, disable = { appLoungePreference.disablePlayStore() }, isEnabled = { appPreferencesRepository.isPlayStoreSelected() }, enable = { appPreferencesRepository.enablePlayStore() }, disable = { appPreferencesRepository.disablePlayStore() }, ), OPEN_SOURCE to StoreConfig( repository = cleanApkAppsRepository, isEnabled = { appLoungePreference.isOpenSourceSelected() }, enable = { appLoungePreference.enableOpenSource() }, disable = { appLoungePreference.disableOpenSource() }, isEnabled = { appPreferencesRepository.isOpenSourceSelected() }, enable = { appPreferencesRepository.enableOpenSource() }, disable = { appPreferencesRepository.disableOpenSource() }, ), PWA to StoreConfig( repository = cleanApkPwaRepository, isEnabled = { appLoungePreference.isPWASelected() }, enable = { appLoungePreference.enablePwa() }, disable = { appLoungePreference.disablePwa() }, isEnabled = { appPreferencesRepository.isPWASelected() }, enable = { appPreferencesRepository.enablePwa() }, disable = { appPreferencesRepository.disablePwa() }, ), )