Loading app/src/main/java/foundation/e/apps/data/StoreRepository.kt +2 −1 Original line number Diff line number Diff line Loading @@ -19,8 +19,9 @@ package foundation.e.apps.data import foundation.e.apps.data.application.data.Application import foundation.e.apps.data.application.data.Home interface StoreRepository { suspend fun getHomeScreenData(): Map<String, List<Application>> suspend fun getHomeScreenData(list: MutableList<Home>): List<Home> suspend fun getAppDetails(packageNameOrId: String): Application } app/src/main/java/foundation/e/apps/data/Stores.kt 0 → 100644 +27 −0 Original line number Diff line number Diff line package foundation.e.apps.data import foundation.e.apps.data.cleanapk.repositories.CleanApkAppsRepository import foundation.e.apps.data.cleanapk.repositories.CleanApkPwaRepository import foundation.e.apps.data.enums.Source import foundation.e.apps.data.playstore.PlayStoreRepository import javax.inject.Inject import javax.inject.Singleton @Singleton class Stores @Inject constructor( playStoreRepository: PlayStoreRepository, cleanApkAppsRepository: CleanApkAppsRepository, cleanApkPwaRepository: CleanApkPwaRepository, ) { private val stores = mutableMapOf<Source, StoreRepository>() fun getStores(): Map<Source, StoreRepository> { return stores } init { stores[Source.OPEN] = cleanApkAppsRepository stores[Source.PWA] = cleanApkPwaRepository stores[Source.GPLAY] = playStoreRepository } } No newline at end of file app/src/main/java/foundation/e/apps/data/application/ApplicationDataManager.kt +3 −28 Original line number Diff line number Diff line Loading @@ -32,15 +32,14 @@ import javax.inject.Singleton @Singleton class ApplicationDataManager @Inject constructor( private val gPlayRepository: PlayStoreRepository, private val appLoungePackageManager: AppLoungePackageManager, private val pwaManager: PwaManager ) { suspend fun updateFilterLevel(application: Application) { fun updateFilterLevel(application: Application) { application.filterLevel = getAppFilterLevel(application) } suspend fun prepareApps( fun prepareApps( appList: List<Application>, list: MutableList<Home>, value: String Loading @@ -55,16 +54,14 @@ class ApplicationDataManager @Inject constructor( } } suspend fun getAppFilterLevel(application: Application): FilterLevel { fun getAppFilterLevel(application: Application): FilterLevel { return when { application.package_name.isBlank() -> FilterLevel.UNKNOWN !application.isFree && application.price.isBlank() -> FilterLevel.UI application.origin == Origin.CLEANAPK -> FilterLevel.NONE application.origin == Origin.GITLAB_RELEASES -> FilterLevel.NONE !isRestricted(application) -> FilterLevel.NONE !isApplicationVisible(application) -> FilterLevel.DATA application.originalSize == 0L -> FilterLevel.UI !isDownloadable(application) -> FilterLevel.UI else -> FilterLevel.NONE } } Loading @@ -73,28 +70,6 @@ class ApplicationDataManager @Inject constructor( return application.restriction != Constants.Restriction.NOT_RESTRICTED } /* * Some apps are simply not visible. * Example: com.skype.m2 */ private suspend fun isApplicationVisible(application: Application): Boolean { return kotlin.runCatching { gPlayRepository.getAppDetails(application.package_name) }.isSuccess } /* * Some apps are visible but not downloadable. * Example: com.riotgames.league.wildrift */ private suspend fun isDownloadable(application: Application): Boolean { return kotlin.runCatching { gPlayRepository.getDownloadInfo( application.package_name, application.latest_version_code, application.offer_type, ) }.isSuccess } fun updateStatus(application: Application) { if (application.status != Status.INSTALLATION_ISSUE) { application.status = getFusedAppInstallationStatus(application) Loading app/src/main/java/foundation/e/apps/data/application/ApplicationRepository.kt +2 −2 Original line number Diff line number Diff line Loading @@ -52,8 +52,8 @@ class ApplicationRepository @Inject constructor( private val downloadInfoApi: DownloadInfoApi ) { suspend fun getHomeScreenData(authData: AuthData): LiveData<ResultSupreme<List<Home>>> { return homeApi.fetchHomeScreenData(authData) suspend fun getHomeScreenData(): LiveData<ResultSupreme<List<Home>>> { return homeApi.fetchHomeScreenData() } fun getSelectedAppTypes(): List<String> { Loading app/src/main/java/foundation/e/apps/data/application/home/HomeApi.kt +1 −3 Original line number Diff line number Diff line Loading @@ -24,7 +24,5 @@ import foundation.e.apps.data.ResultSupreme import foundation.e.apps.data.application.data.Home interface HomeApi { suspend fun fetchHomeScreenData( authData: AuthData, ): LiveData<ResultSupreme<List<Home>>> suspend fun fetchHomeScreenData(): LiveData<ResultSupreme<List<Home>>> } Loading
app/src/main/java/foundation/e/apps/data/StoreRepository.kt +2 −1 Original line number Diff line number Diff line Loading @@ -19,8 +19,9 @@ package foundation.e.apps.data import foundation.e.apps.data.application.data.Application import foundation.e.apps.data.application.data.Home interface StoreRepository { suspend fun getHomeScreenData(): Map<String, List<Application>> suspend fun getHomeScreenData(list: MutableList<Home>): List<Home> suspend fun getAppDetails(packageNameOrId: String): Application }
app/src/main/java/foundation/e/apps/data/Stores.kt 0 → 100644 +27 −0 Original line number Diff line number Diff line package foundation.e.apps.data import foundation.e.apps.data.cleanapk.repositories.CleanApkAppsRepository import foundation.e.apps.data.cleanapk.repositories.CleanApkPwaRepository import foundation.e.apps.data.enums.Source import foundation.e.apps.data.playstore.PlayStoreRepository import javax.inject.Inject import javax.inject.Singleton @Singleton class Stores @Inject constructor( playStoreRepository: PlayStoreRepository, cleanApkAppsRepository: CleanApkAppsRepository, cleanApkPwaRepository: CleanApkPwaRepository, ) { private val stores = mutableMapOf<Source, StoreRepository>() fun getStores(): Map<Source, StoreRepository> { return stores } init { stores[Source.OPEN] = cleanApkAppsRepository stores[Source.PWA] = cleanApkPwaRepository stores[Source.GPLAY] = playStoreRepository } } No newline at end of file
app/src/main/java/foundation/e/apps/data/application/ApplicationDataManager.kt +3 −28 Original line number Diff line number Diff line Loading @@ -32,15 +32,14 @@ import javax.inject.Singleton @Singleton class ApplicationDataManager @Inject constructor( private val gPlayRepository: PlayStoreRepository, private val appLoungePackageManager: AppLoungePackageManager, private val pwaManager: PwaManager ) { suspend fun updateFilterLevel(application: Application) { fun updateFilterLevel(application: Application) { application.filterLevel = getAppFilterLevel(application) } suspend fun prepareApps( fun prepareApps( appList: List<Application>, list: MutableList<Home>, value: String Loading @@ -55,16 +54,14 @@ class ApplicationDataManager @Inject constructor( } } suspend fun getAppFilterLevel(application: Application): FilterLevel { fun getAppFilterLevel(application: Application): FilterLevel { return when { application.package_name.isBlank() -> FilterLevel.UNKNOWN !application.isFree && application.price.isBlank() -> FilterLevel.UI application.origin == Origin.CLEANAPK -> FilterLevel.NONE application.origin == Origin.GITLAB_RELEASES -> FilterLevel.NONE !isRestricted(application) -> FilterLevel.NONE !isApplicationVisible(application) -> FilterLevel.DATA application.originalSize == 0L -> FilterLevel.UI !isDownloadable(application) -> FilterLevel.UI else -> FilterLevel.NONE } } Loading @@ -73,28 +70,6 @@ class ApplicationDataManager @Inject constructor( return application.restriction != Constants.Restriction.NOT_RESTRICTED } /* * Some apps are simply not visible. * Example: com.skype.m2 */ private suspend fun isApplicationVisible(application: Application): Boolean { return kotlin.runCatching { gPlayRepository.getAppDetails(application.package_name) }.isSuccess } /* * Some apps are visible but not downloadable. * Example: com.riotgames.league.wildrift */ private suspend fun isDownloadable(application: Application): Boolean { return kotlin.runCatching { gPlayRepository.getDownloadInfo( application.package_name, application.latest_version_code, application.offer_type, ) }.isSuccess } fun updateStatus(application: Application) { if (application.status != Status.INSTALLATION_ISSUE) { application.status = getFusedAppInstallationStatus(application) Loading
app/src/main/java/foundation/e/apps/data/application/ApplicationRepository.kt +2 −2 Original line number Diff line number Diff line Loading @@ -52,8 +52,8 @@ class ApplicationRepository @Inject constructor( private val downloadInfoApi: DownloadInfoApi ) { suspend fun getHomeScreenData(authData: AuthData): LiveData<ResultSupreme<List<Home>>> { return homeApi.fetchHomeScreenData(authData) suspend fun getHomeScreenData(): LiveData<ResultSupreme<List<Home>>> { return homeApi.fetchHomeScreenData() } fun getSelectedAppTypes(): List<String> { Loading
app/src/main/java/foundation/e/apps/data/application/home/HomeApi.kt +1 −3 Original line number Diff line number Diff line Loading @@ -24,7 +24,5 @@ import foundation.e.apps.data.ResultSupreme import foundation.e.apps.data.application.data.Home interface HomeApi { suspend fun fetchHomeScreenData( authData: AuthData, ): LiveData<ResultSupreme<List<Home>>> suspend fun fetchHomeScreenData(): LiveData<ResultSupreme<List<Home>>> }