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

Commit 8cc21339 authored by Hasib Prince's avatar Hasib Prince
Browse files

renamed appSource components

parent 384a1888
Loading
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -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
)
)
+8 −11
Original line number Original line Diff line number Diff line
@@ -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 {


@@ -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()
            }
            }


@@ -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)
            }
            }
        }
        }
@@ -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 {
@@ -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)
            }
            }


+7 −10
Original line number Original line Diff line number Diff line
@@ -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 {


@@ -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(
@@ -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
@@ -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 {
@@ -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
+5 −8
Original line number Original line Diff line number Diff line
@@ -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(
@@ -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,
@@ -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
@@ -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)
}
}
+4 −7
Original line number Original line Diff line number Diff line
@@ -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
@@ -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 {


@@ -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 {
@@ -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