Loading app/src/main/java/foundation/e/apps/data/AppSourcesContainer.kt +3 −3 Original line number Original line Diff line number Diff line Loading @@ -27,7 +27,7 @@ import javax.inject.Singleton @Singleton @Singleton class AppSourcesContainer @Inject constructor( class AppSourcesContainer @Inject constructor( @Named("gplayRepository") val gplayRepository: PlayStoreRepository, @Named("gplayRepository") val gplayRepo: PlayStoreRepository, @Named("cleanApkAppsRepository") val cleanApkAppsRepository: CleanApkRepository, @Named("cleanApkAppsRepository") val cleanApkAppsRepo: CleanApkRepository, @Named("cleanApkPWARepository") val cleanApkPWARepository: CleanApkRepository @Named("cleanApkPWARepository") val cleanApkPWARepo: CleanApkRepository ) ) app/src/main/java/foundation/e/apps/data/application/apps/AppsApiImpl.kt +8 −11 Original line number Original line Diff line number Diff line Loading @@ -25,27 +25,24 @@ import dagger.hilt.android.qualifiers.ApplicationContext import foundation.e.apps.data.AppSourcesContainer import foundation.e.apps.data.AppSourcesContainer import foundation.e.apps.data.application.ApplicationDataManager import foundation.e.apps.data.application.ApplicationDataManager import foundation.e.apps.data.application.data.Application import foundation.e.apps.data.application.data.Application import foundation.e.apps.data.cleanapk.data.app.Application as CleanApkApplication import foundation.e.apps.data.application.utils.toApplication import foundation.e.apps.data.application.utils.toApplication import foundation.e.apps.data.cleanapk.data.search.Search import foundation.e.apps.data.cleanapk.data.search.Search import foundation.e.apps.data.cleanapk.repositories.CleanApkRepository import foundation.e.apps.data.enums.FilterLevel import foundation.e.apps.data.enums.FilterLevel import foundation.e.apps.data.enums.Origin import foundation.e.apps.data.enums.Origin import foundation.e.apps.data.enums.ResultStatus import foundation.e.apps.data.enums.ResultStatus import foundation.e.apps.data.enums.Status import foundation.e.apps.data.enums.Status import foundation.e.apps.data.enums.isUnFiltered import foundation.e.apps.data.enums.isUnFiltered import foundation.e.apps.data.handleNetworkResult import foundation.e.apps.data.handleNetworkResult import foundation.e.apps.data.playstore.PlayStoreRepository import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.ui.applicationlist.ApplicationDiffUtil import foundation.e.apps.ui.applicationlist.ApplicationDiffUtil import retrofit2.Response import retrofit2.Response import javax.inject.Inject import javax.inject.Inject import javax.inject.Named import foundation.e.apps.data.cleanapk.data.app.Application as CleanApkApplication class AppsApiImpl @Inject constructor( class AppsApiImpl @Inject constructor( @ApplicationContext private val context: Context, @ApplicationContext private val context: Context, private val appLoungePreference: AppLoungePreference, private val appLoungePreference: AppLoungePreference, private val appSourcesContainer: AppSourcesContainer, private val appSources: AppSourcesContainer, private val applicationDataManager: ApplicationDataManager private val applicationDataManager: ApplicationDataManager ) : AppsApi { ) : AppsApi { Loading @@ -56,14 +53,14 @@ class AppsApiImpl @Inject constructor( override suspend fun getCleanapkAppDetails(packageName: String): Pair<Application, ResultStatus> { override suspend fun getCleanapkAppDetails(packageName: String): Pair<Application, ResultStatus> { var application = Application() var application = Application() val result = handleNetworkResult { val result = handleNetworkResult { val result = appSourcesContainer.cleanApkAppsRepository.getSearchResult( val result = appSources.cleanApkAppsRepo.getSearchResult( packageName, packageName, KEY_SEARCH_PACKAGE_NAME KEY_SEARCH_PACKAGE_NAME ).body() ).body() if (result?.hasSingleResult() == true) { if (result?.hasSingleResult() == true) { application = application = (appSourcesContainer.cleanApkAppsRepository.getAppDetails(result.apps[0]._id) (appSources.cleanApkAppsRepo.getAppDetails(result.apps[0]._id) as Response<CleanApkApplication>).body()?.app ?: Application() as Response<CleanApkApplication>).body()?.app ?: Application() } } Loading Loading @@ -135,7 +132,7 @@ class AppsApiImpl @Inject constructor( val applicationList = mutableListOf<Application>() val applicationList = mutableListOf<Application>() val result = handleNetworkResult { val result = handleNetworkResult { appSourcesContainer.gplayRepository.getAppsDetails(packageNameList).forEach { app -> appSources.gplayRepo.getAppsDetails(packageNameList).forEach { app -> handleFilteredApps(app, authData, applicationList) handleFilteredApps(app, authData, applicationList) } } } } Loading Loading @@ -168,7 +165,7 @@ class AppsApiImpl @Inject constructor( packageName: String, packageName: String, applicationList: MutableList<Application> applicationList: MutableList<Application> ) = handleNetworkResult { ) = handleNetworkResult { appSourcesContainer.cleanApkAppsRepository.getSearchResult( appSources.cleanApkAppsRepo.getSearchResult( packageName, packageName, KEY_SEARCH_PACKAGE_NAME KEY_SEARCH_PACKAGE_NAME ).body()?.run { ).body()?.run { Loading Loading @@ -201,10 +198,10 @@ class AppsApiImpl @Inject constructor( val result = handleNetworkResult { val result = handleNetworkResult { application = if (origin == Origin.CLEANAPK) { application = if (origin == Origin.CLEANAPK) { (appSourcesContainer.cleanApkAppsRepository.getAppDetails(id) (appSources.cleanApkAppsRepo.getAppDetails(id) as Response<CleanApkApplication>).body()?.app as Response<CleanApkApplication>).body()?.app } else { } else { val app = appSourcesContainer.gplayRepository.getAppDetails(packageName) as App? val app = appSources.gplayRepo.getAppDetails(packageName) as App? app?.toApplication(context) app?.toApplication(context) } } Loading app/src/main/java/foundation/e/apps/data/application/category/CategoryApiImpl.kt +7 −10 Original line number Original line Diff line number Diff line Loading @@ -34,21 +34,18 @@ import foundation.e.apps.data.application.utils.CategoryUtils import foundation.e.apps.data.application.utils.toApplication import foundation.e.apps.data.application.utils.toApplication import foundation.e.apps.data.application.utils.toCategory import foundation.e.apps.data.application.utils.toCategory import foundation.e.apps.data.cleanapk.data.categories.Categories import foundation.e.apps.data.cleanapk.data.categories.Categories import foundation.e.apps.data.cleanapk.repositories.CleanApkRepository import foundation.e.apps.data.enums.AppTag import foundation.e.apps.data.enums.AppTag import foundation.e.apps.data.enums.ResultStatus import foundation.e.apps.data.enums.ResultStatus import foundation.e.apps.data.enums.Source import foundation.e.apps.data.enums.Source import foundation.e.apps.data.enums.isUnFiltered import foundation.e.apps.data.enums.isUnFiltered import foundation.e.apps.data.handleNetworkResult import foundation.e.apps.data.handleNetworkResult import foundation.e.apps.data.playstore.PlayStoreRepository import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.data.preference.AppLoungePreference import javax.inject.Inject import javax.inject.Inject import javax.inject.Named class CategoryApiImpl @Inject constructor( class CategoryApiImpl @Inject constructor( @ApplicationContext private val context: Context, @ApplicationContext private val context: Context, private val appLoungePreference: AppLoungePreference, private val appLoungePreference: AppLoungePreference, private val appSourcesContainer: AppSourcesContainer, private val appSources: AppSourcesContainer, private val applicationDataManager: ApplicationDataManager private val applicationDataManager: ApplicationDataManager ) : CategoryApi { ) : CategoryApi { Loading Loading @@ -112,7 +109,7 @@ class CategoryApiImpl @Inject constructor( ): Pair<List<Category>, ResultStatus> { ): Pair<List<Category>, ResultStatus> { val categoryList = mutableListOf<Category>() val categoryList = mutableListOf<Category>() val result = handleNetworkResult { val result = handleNetworkResult { val playResponse = appSourcesContainer.gplayRepository.getCategories(type).map { gplayCategory -> val playResponse = appSources.gplayRepo.getCategories(type).map { gplayCategory -> val category = gplayCategory.toCategory() val category = gplayCategory.toCategory() category.drawable = category.drawable = CategoryUtils.provideAppsCategoryIconResource( CategoryUtils.provideAppsCategoryIconResource( Loading @@ -139,12 +136,12 @@ class CategoryApiImpl @Inject constructor( val categories = when (source) { val categories = when (source) { Source.OPEN -> { Source.OPEN -> { tag = AppTag.OpenSource(context.getString(R.string.open_source)) tag = AppTag.OpenSource(context.getString(R.string.open_source)) appSourcesContainer.cleanApkAppsRepository.getCategories().body() appSources.cleanApkAppsRepo.getCategories().body() } } Source.PWA -> { Source.PWA -> { tag = AppTag.PWA(context.getString(R.string.pwa)) tag = AppTag.PWA(context.getString(R.string.pwa)) appSourcesContainer.cleanApkPWARepository.getCategories().body() appSources.cleanApkPWARepo.getCategories().body() } } else -> null else -> null Loading Loading @@ -184,7 +181,7 @@ class CategoryApiImpl @Inject constructor( return handleNetworkResult { return handleNetworkResult { val streamCluster = val streamCluster = appSourcesContainer.gplayRepository.getAppsByCategory(category, pageUrl) as StreamCluster appSources.gplayRepo.getAppsByCategory(category, pageUrl) as StreamCluster val filteredAppList = filterRestrictedGPlayApps(authData, streamCluster.clusterAppList) val filteredAppList = filterRestrictedGPlayApps(authData, streamCluster.clusterAppList) filteredAppList.data?.let { filteredAppList.data?.let { Loading Loading @@ -257,11 +254,11 @@ class CategoryApiImpl @Inject constructor( category: String category: String ) = when (source) { ) = when (source) { Source.OPEN -> { Source.OPEN -> { appSourcesContainer.cleanApkAppsRepository.getAppsByCategory(category).body() appSources.cleanApkAppsRepo.getAppsByCategory(category).body() } } Source.PWA -> { Source.PWA -> { appSourcesContainer.cleanApkPWARepository.getAppsByCategory(category).body() appSources.cleanApkPWARepo.getAppsByCategory(category).body() } } else -> null else -> null Loading app/src/main/java/foundation/e/apps/data/application/downloadInfo/DownloadInfoApiImpl.kt +5 −8 Original line number Original line Diff line number Diff line Loading @@ -20,15 +20,12 @@ package foundation.e.apps.data.application.downloadInfo import foundation.e.apps.data.AppSourcesContainer import foundation.e.apps.data.AppSourcesContainer import foundation.e.apps.data.cleanapk.CleanApkDownloadInfoFetcher import foundation.e.apps.data.cleanapk.CleanApkDownloadInfoFetcher import foundation.e.apps.data.cleanapk.repositories.CleanApkRepository import foundation.e.apps.data.enums.Origin import foundation.e.apps.data.enums.Origin import foundation.e.apps.data.fusedDownload.models.FusedDownload import foundation.e.apps.data.fusedDownload.models.FusedDownload import foundation.e.apps.data.playstore.PlayStoreRepository import javax.inject.Inject import javax.inject.Inject import javax.inject.Named class DownloadInfoApiImpl @Inject constructor( class DownloadInfoApiImpl @Inject constructor( private val appSourcesContainer: AppSourcesContainer private val appSources: AppSourcesContainer ) : DownloadInfoApi { ) : DownloadInfoApi { override suspend fun getOnDemandModule( override suspend fun getOnDemandModule( Loading @@ -37,7 +34,7 @@ class DownloadInfoApiImpl @Inject constructor( versionCode: Int, versionCode: Int, offerType: Int offerType: Int ): String? { ): String? { val list = appSourcesContainer.gplayRepository.getOnDemandModule( val list = appSources.gplayRepo.getOnDemandModule( packageName, packageName, moduleName, moduleName, versionCode, versionCode, Loading Loading @@ -76,7 +73,7 @@ class DownloadInfoApiImpl @Inject constructor( list: MutableList<String> list: MutableList<String> ) { ) { val downloadList = val downloadList = appSourcesContainer.gplayRepository.getDownloadInfo( appSources.gplayRepo.getDownloadInfo( fusedDownload.packageName, fusedDownload.packageName, fusedDownload.versionCode, fusedDownload.versionCode, fusedDownload.offerType fusedDownload.offerType Loading @@ -90,13 +87,13 @@ class DownloadInfoApiImpl @Inject constructor( list: MutableList<String> list: MutableList<String> ) { ) { val downloadInfo = val downloadInfo = (appSourcesContainer.cleanApkAppsRepository as CleanApkDownloadInfoFetcher) (appSources.cleanApkAppsRepo as CleanApkDownloadInfoFetcher) .getDownloadInfo(fusedDownload.id).body() .getDownloadInfo(fusedDownload.id).body() downloadInfo?.download_data?.download_link?.let { list.add(it) } downloadInfo?.download_data?.download_link?.let { list.add(it) } fusedDownload.signature = downloadInfo?.download_data?.signature ?: "" fusedDownload.signature = downloadInfo?.download_data?.signature ?: "" } } override suspend fun getOSSDownloadInfo(id: String, version: String?) = override suspend fun getOSSDownloadInfo(id: String, version: String?) = (appSourcesContainer.cleanApkAppsRepository as CleanApkDownloadInfoFetcher) (appSources.cleanApkAppsRepo as CleanApkDownloadInfoFetcher) .getDownloadInfo(id, version) .getDownloadInfo(id, version) } } app/src/main/java/foundation/e/apps/data/application/home/HomeApiImpl.kt +4 −7 Original line number Original line Diff line number Diff line Loading @@ -33,12 +33,10 @@ import foundation.e.apps.data.application.search.FusedHomeDeferred import foundation.e.apps.data.application.search.SearchApi import foundation.e.apps.data.application.search.SearchApi import foundation.e.apps.data.application.utils.toApplication import foundation.e.apps.data.application.utils.toApplication import foundation.e.apps.data.cleanapk.data.home.HomeScreen import foundation.e.apps.data.cleanapk.data.home.HomeScreen import foundation.e.apps.data.cleanapk.repositories.CleanApkRepository import foundation.e.apps.data.enums.ResultStatus import foundation.e.apps.data.enums.ResultStatus import foundation.e.apps.data.enums.Source import foundation.e.apps.data.enums.Source import foundation.e.apps.data.handleNetworkResult import foundation.e.apps.data.handleNetworkResult import foundation.e.apps.data.login.AuthObject import foundation.e.apps.data.login.AuthObject import foundation.e.apps.data.playstore.PlayStoreRepository import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.utils.eventBus.AppEvent import foundation.e.apps.utils.eventBus.AppEvent import foundation.e.apps.utils.eventBus.EventBus import foundation.e.apps.utils.eventBus.EventBus Loading @@ -49,13 +47,12 @@ import kotlinx.coroutines.launch import retrofit2.Response import retrofit2.Response import timber.log.Timber import timber.log.Timber import javax.inject.Inject import javax.inject.Inject import javax.inject.Named import foundation.e.apps.data.cleanapk.data.home.Home as CleanApkHome import foundation.e.apps.data.cleanapk.data.home.Home as CleanApkHome class HomeApiImpl @Inject constructor( class HomeApiImpl @Inject constructor( @ApplicationContext private val context: Context, @ApplicationContext private val context: Context, private val appLoungePreference: AppLoungePreference, private val appLoungePreference: AppLoungePreference, private val appSourcesContainer: AppSourcesContainer, private val appSources: AppSourcesContainer, private val applicationDataManager: ApplicationDataManager private val applicationDataManager: ApplicationDataManager ) : HomeApi { ) : HomeApi { Loading Loading @@ -142,9 +139,9 @@ class HomeApiImpl @Inject constructor( appType: String appType: String ): MutableList<Home> { ): MutableList<Home> { val response = if (appType == SearchApi.APP_TYPE_OPEN) { val response = if (appType == SearchApi.APP_TYPE_OPEN) { (appSourcesContainer.cleanApkAppsRepository.getHomeScreenData() as Response<HomeScreen>).body() (appSources.cleanApkAppsRepo.getHomeScreenData() as Response<HomeScreen>).body() } else { } else { (appSourcesContainer.cleanApkPWARepository.getHomeScreenData() as Response<HomeScreen>).body() (appSources.cleanApkPWARepo.getHomeScreenData() as Response<HomeScreen>).body() } } response?.home?.let { response?.home?.let { Loading Loading @@ -238,7 +235,7 @@ class HomeApiImpl @Inject constructor( ): List<Home> { ): List<Home> { val list = mutableListOf<Home>() val list = mutableListOf<Home>() val gplayHomeData = val gplayHomeData = appSourcesContainer.gplayRepository.getHomeScreenData() as Map<String, List<App>> appSources.gplayRepo.getHomeScreenData() as Map<String, List<App>> gplayHomeData.map { gplayHomeData.map { val fusedApps = it.value.map { app -> val fusedApps = it.value.map { app -> app.toApplication(context).apply { app.toApplication(context).apply { Loading Loading
app/src/main/java/foundation/e/apps/data/AppSourcesContainer.kt +3 −3 Original line number Original line Diff line number Diff line Loading @@ -27,7 +27,7 @@ import javax.inject.Singleton @Singleton @Singleton class AppSourcesContainer @Inject constructor( class AppSourcesContainer @Inject constructor( @Named("gplayRepository") val gplayRepository: PlayStoreRepository, @Named("gplayRepository") val gplayRepo: PlayStoreRepository, @Named("cleanApkAppsRepository") val cleanApkAppsRepository: CleanApkRepository, @Named("cleanApkAppsRepository") val cleanApkAppsRepo: CleanApkRepository, @Named("cleanApkPWARepository") val cleanApkPWARepository: CleanApkRepository @Named("cleanApkPWARepository") val cleanApkPWARepo: CleanApkRepository ) )
app/src/main/java/foundation/e/apps/data/application/apps/AppsApiImpl.kt +8 −11 Original line number Original line Diff line number Diff line Loading @@ -25,27 +25,24 @@ import dagger.hilt.android.qualifiers.ApplicationContext import foundation.e.apps.data.AppSourcesContainer import foundation.e.apps.data.AppSourcesContainer import foundation.e.apps.data.application.ApplicationDataManager import foundation.e.apps.data.application.ApplicationDataManager import foundation.e.apps.data.application.data.Application import foundation.e.apps.data.application.data.Application import foundation.e.apps.data.cleanapk.data.app.Application as CleanApkApplication import foundation.e.apps.data.application.utils.toApplication import foundation.e.apps.data.application.utils.toApplication import foundation.e.apps.data.cleanapk.data.search.Search import foundation.e.apps.data.cleanapk.data.search.Search import foundation.e.apps.data.cleanapk.repositories.CleanApkRepository import foundation.e.apps.data.enums.FilterLevel import foundation.e.apps.data.enums.FilterLevel import foundation.e.apps.data.enums.Origin import foundation.e.apps.data.enums.Origin import foundation.e.apps.data.enums.ResultStatus import foundation.e.apps.data.enums.ResultStatus import foundation.e.apps.data.enums.Status import foundation.e.apps.data.enums.Status import foundation.e.apps.data.enums.isUnFiltered import foundation.e.apps.data.enums.isUnFiltered import foundation.e.apps.data.handleNetworkResult import foundation.e.apps.data.handleNetworkResult import foundation.e.apps.data.playstore.PlayStoreRepository import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.ui.applicationlist.ApplicationDiffUtil import foundation.e.apps.ui.applicationlist.ApplicationDiffUtil import retrofit2.Response import retrofit2.Response import javax.inject.Inject import javax.inject.Inject import javax.inject.Named import foundation.e.apps.data.cleanapk.data.app.Application as CleanApkApplication class AppsApiImpl @Inject constructor( class AppsApiImpl @Inject constructor( @ApplicationContext private val context: Context, @ApplicationContext private val context: Context, private val appLoungePreference: AppLoungePreference, private val appLoungePreference: AppLoungePreference, private val appSourcesContainer: AppSourcesContainer, private val appSources: AppSourcesContainer, private val applicationDataManager: ApplicationDataManager private val applicationDataManager: ApplicationDataManager ) : AppsApi { ) : AppsApi { Loading @@ -56,14 +53,14 @@ class AppsApiImpl @Inject constructor( override suspend fun getCleanapkAppDetails(packageName: String): Pair<Application, ResultStatus> { override suspend fun getCleanapkAppDetails(packageName: String): Pair<Application, ResultStatus> { var application = Application() var application = Application() val result = handleNetworkResult { val result = handleNetworkResult { val result = appSourcesContainer.cleanApkAppsRepository.getSearchResult( val result = appSources.cleanApkAppsRepo.getSearchResult( packageName, packageName, KEY_SEARCH_PACKAGE_NAME KEY_SEARCH_PACKAGE_NAME ).body() ).body() if (result?.hasSingleResult() == true) { if (result?.hasSingleResult() == true) { application = application = (appSourcesContainer.cleanApkAppsRepository.getAppDetails(result.apps[0]._id) (appSources.cleanApkAppsRepo.getAppDetails(result.apps[0]._id) as Response<CleanApkApplication>).body()?.app ?: Application() as Response<CleanApkApplication>).body()?.app ?: Application() } } Loading Loading @@ -135,7 +132,7 @@ class AppsApiImpl @Inject constructor( val applicationList = mutableListOf<Application>() val applicationList = mutableListOf<Application>() val result = handleNetworkResult { val result = handleNetworkResult { appSourcesContainer.gplayRepository.getAppsDetails(packageNameList).forEach { app -> appSources.gplayRepo.getAppsDetails(packageNameList).forEach { app -> handleFilteredApps(app, authData, applicationList) handleFilteredApps(app, authData, applicationList) } } } } Loading Loading @@ -168,7 +165,7 @@ class AppsApiImpl @Inject constructor( packageName: String, packageName: String, applicationList: MutableList<Application> applicationList: MutableList<Application> ) = handleNetworkResult { ) = handleNetworkResult { appSourcesContainer.cleanApkAppsRepository.getSearchResult( appSources.cleanApkAppsRepo.getSearchResult( packageName, packageName, KEY_SEARCH_PACKAGE_NAME KEY_SEARCH_PACKAGE_NAME ).body()?.run { ).body()?.run { Loading Loading @@ -201,10 +198,10 @@ class AppsApiImpl @Inject constructor( val result = handleNetworkResult { val result = handleNetworkResult { application = if (origin == Origin.CLEANAPK) { application = if (origin == Origin.CLEANAPK) { (appSourcesContainer.cleanApkAppsRepository.getAppDetails(id) (appSources.cleanApkAppsRepo.getAppDetails(id) as Response<CleanApkApplication>).body()?.app as Response<CleanApkApplication>).body()?.app } else { } else { val app = appSourcesContainer.gplayRepository.getAppDetails(packageName) as App? val app = appSources.gplayRepo.getAppDetails(packageName) as App? app?.toApplication(context) app?.toApplication(context) } } Loading
app/src/main/java/foundation/e/apps/data/application/category/CategoryApiImpl.kt +7 −10 Original line number Original line Diff line number Diff line Loading @@ -34,21 +34,18 @@ import foundation.e.apps.data.application.utils.CategoryUtils import foundation.e.apps.data.application.utils.toApplication import foundation.e.apps.data.application.utils.toApplication import foundation.e.apps.data.application.utils.toCategory import foundation.e.apps.data.application.utils.toCategory import foundation.e.apps.data.cleanapk.data.categories.Categories import foundation.e.apps.data.cleanapk.data.categories.Categories import foundation.e.apps.data.cleanapk.repositories.CleanApkRepository import foundation.e.apps.data.enums.AppTag import foundation.e.apps.data.enums.AppTag import foundation.e.apps.data.enums.ResultStatus import foundation.e.apps.data.enums.ResultStatus import foundation.e.apps.data.enums.Source import foundation.e.apps.data.enums.Source import foundation.e.apps.data.enums.isUnFiltered import foundation.e.apps.data.enums.isUnFiltered import foundation.e.apps.data.handleNetworkResult import foundation.e.apps.data.handleNetworkResult import foundation.e.apps.data.playstore.PlayStoreRepository import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.data.preference.AppLoungePreference import javax.inject.Inject import javax.inject.Inject import javax.inject.Named class CategoryApiImpl @Inject constructor( class CategoryApiImpl @Inject constructor( @ApplicationContext private val context: Context, @ApplicationContext private val context: Context, private val appLoungePreference: AppLoungePreference, private val appLoungePreference: AppLoungePreference, private val appSourcesContainer: AppSourcesContainer, private val appSources: AppSourcesContainer, private val applicationDataManager: ApplicationDataManager private val applicationDataManager: ApplicationDataManager ) : CategoryApi { ) : CategoryApi { Loading Loading @@ -112,7 +109,7 @@ class CategoryApiImpl @Inject constructor( ): Pair<List<Category>, ResultStatus> { ): Pair<List<Category>, ResultStatus> { val categoryList = mutableListOf<Category>() val categoryList = mutableListOf<Category>() val result = handleNetworkResult { val result = handleNetworkResult { val playResponse = appSourcesContainer.gplayRepository.getCategories(type).map { gplayCategory -> val playResponse = appSources.gplayRepo.getCategories(type).map { gplayCategory -> val category = gplayCategory.toCategory() val category = gplayCategory.toCategory() category.drawable = category.drawable = CategoryUtils.provideAppsCategoryIconResource( CategoryUtils.provideAppsCategoryIconResource( Loading @@ -139,12 +136,12 @@ class CategoryApiImpl @Inject constructor( val categories = when (source) { val categories = when (source) { Source.OPEN -> { Source.OPEN -> { tag = AppTag.OpenSource(context.getString(R.string.open_source)) tag = AppTag.OpenSource(context.getString(R.string.open_source)) appSourcesContainer.cleanApkAppsRepository.getCategories().body() appSources.cleanApkAppsRepo.getCategories().body() } } Source.PWA -> { Source.PWA -> { tag = AppTag.PWA(context.getString(R.string.pwa)) tag = AppTag.PWA(context.getString(R.string.pwa)) appSourcesContainer.cleanApkPWARepository.getCategories().body() appSources.cleanApkPWARepo.getCategories().body() } } else -> null else -> null Loading Loading @@ -184,7 +181,7 @@ class CategoryApiImpl @Inject constructor( return handleNetworkResult { return handleNetworkResult { val streamCluster = val streamCluster = appSourcesContainer.gplayRepository.getAppsByCategory(category, pageUrl) as StreamCluster appSources.gplayRepo.getAppsByCategory(category, pageUrl) as StreamCluster val filteredAppList = filterRestrictedGPlayApps(authData, streamCluster.clusterAppList) val filteredAppList = filterRestrictedGPlayApps(authData, streamCluster.clusterAppList) filteredAppList.data?.let { filteredAppList.data?.let { Loading Loading @@ -257,11 +254,11 @@ class CategoryApiImpl @Inject constructor( category: String category: String ) = when (source) { ) = when (source) { Source.OPEN -> { Source.OPEN -> { appSourcesContainer.cleanApkAppsRepository.getAppsByCategory(category).body() appSources.cleanApkAppsRepo.getAppsByCategory(category).body() } } Source.PWA -> { Source.PWA -> { appSourcesContainer.cleanApkPWARepository.getAppsByCategory(category).body() appSources.cleanApkPWARepo.getAppsByCategory(category).body() } } else -> null else -> null Loading
app/src/main/java/foundation/e/apps/data/application/downloadInfo/DownloadInfoApiImpl.kt +5 −8 Original line number Original line Diff line number Diff line Loading @@ -20,15 +20,12 @@ package foundation.e.apps.data.application.downloadInfo import foundation.e.apps.data.AppSourcesContainer import foundation.e.apps.data.AppSourcesContainer import foundation.e.apps.data.cleanapk.CleanApkDownloadInfoFetcher import foundation.e.apps.data.cleanapk.CleanApkDownloadInfoFetcher import foundation.e.apps.data.cleanapk.repositories.CleanApkRepository import foundation.e.apps.data.enums.Origin import foundation.e.apps.data.enums.Origin import foundation.e.apps.data.fusedDownload.models.FusedDownload import foundation.e.apps.data.fusedDownload.models.FusedDownload import foundation.e.apps.data.playstore.PlayStoreRepository import javax.inject.Inject import javax.inject.Inject import javax.inject.Named class DownloadInfoApiImpl @Inject constructor( class DownloadInfoApiImpl @Inject constructor( private val appSourcesContainer: AppSourcesContainer private val appSources: AppSourcesContainer ) : DownloadInfoApi { ) : DownloadInfoApi { override suspend fun getOnDemandModule( override suspend fun getOnDemandModule( Loading @@ -37,7 +34,7 @@ class DownloadInfoApiImpl @Inject constructor( versionCode: Int, versionCode: Int, offerType: Int offerType: Int ): String? { ): String? { val list = appSourcesContainer.gplayRepository.getOnDemandModule( val list = appSources.gplayRepo.getOnDemandModule( packageName, packageName, moduleName, moduleName, versionCode, versionCode, Loading Loading @@ -76,7 +73,7 @@ class DownloadInfoApiImpl @Inject constructor( list: MutableList<String> list: MutableList<String> ) { ) { val downloadList = val downloadList = appSourcesContainer.gplayRepository.getDownloadInfo( appSources.gplayRepo.getDownloadInfo( fusedDownload.packageName, fusedDownload.packageName, fusedDownload.versionCode, fusedDownload.versionCode, fusedDownload.offerType fusedDownload.offerType Loading @@ -90,13 +87,13 @@ class DownloadInfoApiImpl @Inject constructor( list: MutableList<String> list: MutableList<String> ) { ) { val downloadInfo = val downloadInfo = (appSourcesContainer.cleanApkAppsRepository as CleanApkDownloadInfoFetcher) (appSources.cleanApkAppsRepo as CleanApkDownloadInfoFetcher) .getDownloadInfo(fusedDownload.id).body() .getDownloadInfo(fusedDownload.id).body() downloadInfo?.download_data?.download_link?.let { list.add(it) } downloadInfo?.download_data?.download_link?.let { list.add(it) } fusedDownload.signature = downloadInfo?.download_data?.signature ?: "" fusedDownload.signature = downloadInfo?.download_data?.signature ?: "" } } override suspend fun getOSSDownloadInfo(id: String, version: String?) = override suspend fun getOSSDownloadInfo(id: String, version: String?) = (appSourcesContainer.cleanApkAppsRepository as CleanApkDownloadInfoFetcher) (appSources.cleanApkAppsRepo as CleanApkDownloadInfoFetcher) .getDownloadInfo(id, version) .getDownloadInfo(id, version) } }
app/src/main/java/foundation/e/apps/data/application/home/HomeApiImpl.kt +4 −7 Original line number Original line Diff line number Diff line Loading @@ -33,12 +33,10 @@ import foundation.e.apps.data.application.search.FusedHomeDeferred import foundation.e.apps.data.application.search.SearchApi import foundation.e.apps.data.application.search.SearchApi import foundation.e.apps.data.application.utils.toApplication import foundation.e.apps.data.application.utils.toApplication import foundation.e.apps.data.cleanapk.data.home.HomeScreen import foundation.e.apps.data.cleanapk.data.home.HomeScreen import foundation.e.apps.data.cleanapk.repositories.CleanApkRepository import foundation.e.apps.data.enums.ResultStatus import foundation.e.apps.data.enums.ResultStatus import foundation.e.apps.data.enums.Source import foundation.e.apps.data.enums.Source import foundation.e.apps.data.handleNetworkResult import foundation.e.apps.data.handleNetworkResult import foundation.e.apps.data.login.AuthObject import foundation.e.apps.data.login.AuthObject import foundation.e.apps.data.playstore.PlayStoreRepository import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.utils.eventBus.AppEvent import foundation.e.apps.utils.eventBus.AppEvent import foundation.e.apps.utils.eventBus.EventBus import foundation.e.apps.utils.eventBus.EventBus Loading @@ -49,13 +47,12 @@ import kotlinx.coroutines.launch import retrofit2.Response import retrofit2.Response import timber.log.Timber import timber.log.Timber import javax.inject.Inject import javax.inject.Inject import javax.inject.Named import foundation.e.apps.data.cleanapk.data.home.Home as CleanApkHome import foundation.e.apps.data.cleanapk.data.home.Home as CleanApkHome class HomeApiImpl @Inject constructor( class HomeApiImpl @Inject constructor( @ApplicationContext private val context: Context, @ApplicationContext private val context: Context, private val appLoungePreference: AppLoungePreference, private val appLoungePreference: AppLoungePreference, private val appSourcesContainer: AppSourcesContainer, private val appSources: AppSourcesContainer, private val applicationDataManager: ApplicationDataManager private val applicationDataManager: ApplicationDataManager ) : HomeApi { ) : HomeApi { Loading Loading @@ -142,9 +139,9 @@ class HomeApiImpl @Inject constructor( appType: String appType: String ): MutableList<Home> { ): MutableList<Home> { val response = if (appType == SearchApi.APP_TYPE_OPEN) { val response = if (appType == SearchApi.APP_TYPE_OPEN) { (appSourcesContainer.cleanApkAppsRepository.getHomeScreenData() as Response<HomeScreen>).body() (appSources.cleanApkAppsRepo.getHomeScreenData() as Response<HomeScreen>).body() } else { } else { (appSourcesContainer.cleanApkPWARepository.getHomeScreenData() as Response<HomeScreen>).body() (appSources.cleanApkPWARepo.getHomeScreenData() as Response<HomeScreen>).body() } } response?.home?.let { response?.home?.let { Loading Loading @@ -238,7 +235,7 @@ class HomeApiImpl @Inject constructor( ): List<Home> { ): List<Home> { val list = mutableListOf<Home>() val list = mutableListOf<Home>() val gplayHomeData = val gplayHomeData = appSourcesContainer.gplayRepository.getHomeScreenData() as Map<String, List<App>> appSources.gplayRepo.getHomeScreenData() as Map<String, List<App>> gplayHomeData.map { gplayHomeData.map { val fusedApps = it.value.map { app -> val fusedApps = it.value.map { app -> app.toApplication(context).apply { app.toApplication(context).apply { Loading