diff --git a/app/src/main/java/foundation/e/apps/data/AppSourcesContainer.kt b/app/src/main/java/foundation/e/apps/data/AppSourcesContainer.kt
new file mode 100644
index 0000000000000000000000000000000000000000..f6735a11749f4014c82554c7e6d6d2d5995a6c12
--- /dev/null
+++ b/app/src/main/java/foundation/e/apps/data/AppSourcesContainer.kt
@@ -0,0 +1,33 @@
+/*
+ * Copyright MURENA SAS 2024
+ * Apps Quickly and easily install Android apps onto your device!
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
+package foundation.e.apps.data
+
+import foundation.e.apps.data.cleanapk.repositories.CleanApkRepository
+import foundation.e.apps.data.playstore.PlayStoreRepository
+import javax.inject.Inject
+import javax.inject.Named
+import javax.inject.Singleton
+
+@Singleton
+class AppSourcesContainer @Inject constructor(
+ @Named("gplayRepository") val gplayRepo: PlayStoreRepository,
+ @Named("cleanApkAppsRepository") val cleanApkAppsRepo: CleanApkRepository,
+ @Named("cleanApkPWARepository") val cleanApkPWARepo: CleanApkRepository
+)
diff --git a/app/src/main/java/foundation/e/apps/data/application/apps/AppsApiImpl.kt b/app/src/main/java/foundation/e/apps/data/application/apps/AppsApiImpl.kt
index 15ac3e6bfd00de930c179a6fe6becc33c5d90bfa..ebb9d311158a3920f9161c53b06b3305a051758d 100644
--- a/app/src/main/java/foundation/e/apps/data/application/apps/AppsApiImpl.kt
+++ b/app/src/main/java/foundation/e/apps/data/application/apps/AppsApiImpl.kt
@@ -22,30 +22,27 @@ import android.content.Context
import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.AuthData
import dagger.hilt.android.qualifiers.ApplicationContext
+import foundation.e.apps.data.AppSourcesContainer
import foundation.e.apps.data.application.ApplicationDataManager
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.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.Origin
import foundation.e.apps.data.enums.ResultStatus
import foundation.e.apps.data.enums.Status
import foundation.e.apps.data.enums.isUnFiltered
import foundation.e.apps.data.handleNetworkResult
-import foundation.e.apps.data.playstore.PlayStoreRepository
import foundation.e.apps.data.preference.AppLoungePreference
import foundation.e.apps.ui.applicationlist.ApplicationDiffUtil
import retrofit2.Response
import javax.inject.Inject
-import javax.inject.Named
+import foundation.e.apps.data.cleanapk.data.app.Application as CleanApkApplication
class AppsApiImpl @Inject constructor(
@ApplicationContext private val context: Context,
private val appLoungePreference: AppLoungePreference,
- @Named("gplayRepository") private val gplayRepository: PlayStoreRepository,
- @Named("cleanApkAppsRepository") private val cleanApkAppsRepository: CleanApkRepository,
+ private val appSources: AppSourcesContainer,
private val applicationDataManager: ApplicationDataManager
) : AppsApi {
@@ -56,15 +53,15 @@ class AppsApiImpl @Inject constructor(
override suspend fun getCleanapkAppDetails(packageName: String): Pair {
var application = Application()
val result = handleNetworkResult {
- val result = cleanApkAppsRepository.getSearchResult(
+ val result = appSources.cleanApkAppsRepo.getSearchResult(
packageName,
KEY_SEARCH_PACKAGE_NAME
).body()
if (result?.hasSingleResult() == true) {
application =
- (cleanApkAppsRepository.getAppDetails(result.apps[0]._id) as Response)
- .body()?.app ?: Application()
+ (appSources.cleanApkAppsRepo.getAppDetails(result.apps[0]._id)
+ as Response).body()?.app ?: Application()
}
application.updateFilterLevel(null)
@@ -135,7 +132,7 @@ class AppsApiImpl @Inject constructor(
val applicationList = mutableListOf()
val result = handleNetworkResult {
- gplayRepository.getAppsDetails(packageNameList).forEach { app ->
+ appSources.gplayRepo.getAppsDetails(packageNameList).forEach { app ->
handleFilteredApps(app, authData, applicationList)
}
}
@@ -168,7 +165,7 @@ class AppsApiImpl @Inject constructor(
packageName: String,
applicationList: MutableList
) = handleNetworkResult {
- cleanApkAppsRepository.getSearchResult(
+ appSources.cleanApkAppsRepo.getSearchResult(
packageName,
KEY_SEARCH_PACKAGE_NAME
).body()?.run {
@@ -201,9 +198,10 @@ class AppsApiImpl @Inject constructor(
val result = handleNetworkResult {
application = if (origin == Origin.CLEANAPK) {
- (cleanApkAppsRepository.getAppDetails(id) as Response).body()?.app
+ (appSources.cleanApkAppsRepo.getAppDetails(id)
+ as Response).body()?.app
} else {
- val app = gplayRepository.getAppDetails(packageName) as App?
+ val app = appSources.gplayRepo.getAppDetails(packageName) as App?
app?.toApplication(context)
}
diff --git a/app/src/main/java/foundation/e/apps/data/application/category/CategoryApiImpl.kt b/app/src/main/java/foundation/e/apps/data/application/category/CategoryApiImpl.kt
index c7062248745de2659fdce8997b214346ba341f20..07a84b5e9200b5954f17736478922e0ad7c8f972 100644
--- a/app/src/main/java/foundation/e/apps/data/application/category/CategoryApiImpl.kt
+++ b/app/src/main/java/foundation/e/apps/data/application/category/CategoryApiImpl.kt
@@ -24,6 +24,7 @@ import com.aurora.gplayapi.data.models.AuthData
import com.aurora.gplayapi.data.models.StreamCluster
import dagger.hilt.android.qualifiers.ApplicationContext
import foundation.e.apps.R
+import foundation.e.apps.data.AppSourcesContainer
import foundation.e.apps.data.ResultSupreme
import foundation.e.apps.data.application.ApplicationDataManager
import foundation.e.apps.data.application.data.Application
@@ -33,23 +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.toCategory
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.ResultStatus
import foundation.e.apps.data.enums.Source
import foundation.e.apps.data.enums.isUnFiltered
import foundation.e.apps.data.handleNetworkResult
-import foundation.e.apps.data.playstore.PlayStoreRepository
import foundation.e.apps.data.preference.AppLoungePreference
import javax.inject.Inject
-import javax.inject.Named
class CategoryApiImpl @Inject constructor(
@ApplicationContext private val context: Context,
private val appLoungePreference: AppLoungePreference,
- @Named("gplayRepository") private val gplayRepository: PlayStoreRepository,
- @Named("cleanApkAppsRepository") private val cleanApkAppsRepository: CleanApkRepository,
- @Named("cleanApkPWARepository") private val cleanApkPWARepository: CleanApkRepository,
+ private val appSources: AppSourcesContainer,
private val applicationDataManager: ApplicationDataManager
) : CategoryApi {
@@ -113,7 +109,7 @@ class CategoryApiImpl @Inject constructor(
): Pair, ResultStatus> {
val categoryList = mutableListOf()
val result = handleNetworkResult {
- val playResponse = gplayRepository.getCategories(type).map { gplayCategory ->
+ val playResponse = appSources.gplayRepo.getCategories(type).map { gplayCategory ->
val category = gplayCategory.toCategory()
category.drawable =
CategoryUtils.provideAppsCategoryIconResource(
@@ -140,12 +136,12 @@ class CategoryApiImpl @Inject constructor(
val categories = when (source) {
Source.OPEN -> {
tag = AppTag.OpenSource(context.getString(R.string.open_source))
- cleanApkAppsRepository.getCategories().body()
+ appSources.cleanApkAppsRepo.getCategories().body()
}
Source.PWA -> {
tag = AppTag.PWA(context.getString(R.string.pwa))
- cleanApkPWARepository.getCategories().body()
+ appSources.cleanApkPWARepo.getCategories().body()
}
else -> null
@@ -185,7 +181,7 @@ class CategoryApiImpl @Inject constructor(
return handleNetworkResult {
val streamCluster =
- gplayRepository.getAppsByCategory(category, pageUrl) as StreamCluster
+ appSources.gplayRepo.getAppsByCategory(category, pageUrl) as StreamCluster
val filteredAppList = filterRestrictedGPlayApps(authData, streamCluster.clusterAppList)
filteredAppList.data?.let {
@@ -258,11 +254,11 @@ class CategoryApiImpl @Inject constructor(
category: String
) = when (source) {
Source.OPEN -> {
- cleanApkAppsRepository.getAppsByCategory(category).body()
+ appSources.cleanApkAppsRepo.getAppsByCategory(category).body()
}
Source.PWA -> {
- cleanApkPWARepository.getAppsByCategory(category).body()
+ appSources.cleanApkPWARepo.getAppsByCategory(category).body()
}
else -> null
diff --git a/app/src/main/java/foundation/e/apps/data/application/downloadInfo/DownloadInfoApiImpl.kt b/app/src/main/java/foundation/e/apps/data/application/downloadInfo/DownloadInfoApiImpl.kt
index 06126cc3007ff9b932768b36508b722738c29ae2..29f06a99911bb1c6470fbd5ba5610518363aca09 100644
--- a/app/src/main/java/foundation/e/apps/data/application/downloadInfo/DownloadInfoApiImpl.kt
+++ b/app/src/main/java/foundation/e/apps/data/application/downloadInfo/DownloadInfoApiImpl.kt
@@ -18,17 +18,14 @@
package foundation.e.apps.data.application.downloadInfo
+import foundation.e.apps.data.AppSourcesContainer
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.fusedDownload.models.FusedDownload
-import foundation.e.apps.data.playstore.PlayStoreRepository
import javax.inject.Inject
-import javax.inject.Named
class DownloadInfoApiImpl @Inject constructor(
- @Named("gplayRepository") private val gplayRepository: PlayStoreRepository,
- @Named("cleanApkAppsRepository") private val cleanApkAppsRepository: CleanApkRepository
+ private val appSources: AppSourcesContainer
) : DownloadInfoApi {
override suspend fun getOnDemandModule(
@@ -37,7 +34,7 @@ class DownloadInfoApiImpl @Inject constructor(
versionCode: Int,
offerType: Int
): String? {
- val list = gplayRepository.getOnDemandModule(
+ val list = appSources.gplayRepo.getOnDemandModule(
packageName,
moduleName,
versionCode,
@@ -76,7 +73,7 @@ class DownloadInfoApiImpl @Inject constructor(
list: MutableList
) {
val downloadList =
- gplayRepository.getDownloadInfo(
+ appSources.gplayRepo.getDownloadInfo(
fusedDownload.packageName,
fusedDownload.versionCode,
fusedDownload.offerType
@@ -90,13 +87,13 @@ class DownloadInfoApiImpl @Inject constructor(
list: MutableList
) {
val downloadInfo =
- (cleanApkAppsRepository as CleanApkDownloadInfoFetcher).getDownloadInfo(
- fusedDownload.id
- ).body()
+ (appSources.cleanApkAppsRepo as CleanApkDownloadInfoFetcher)
+ .getDownloadInfo(fusedDownload.id).body()
downloadInfo?.download_data?.download_link?.let { list.add(it) }
fusedDownload.signature = downloadInfo?.download_data?.signature ?: ""
}
override suspend fun getOSSDownloadInfo(id: String, version: String?) =
- (cleanApkAppsRepository as CleanApkDownloadInfoFetcher).getDownloadInfo(id, version)
+ (appSources.cleanApkAppsRepo as CleanApkDownloadInfoFetcher)
+ .getDownloadInfo(id, version)
}
diff --git a/app/src/main/java/foundation/e/apps/data/application/home/HomeApiImpl.kt b/app/src/main/java/foundation/e/apps/data/application/home/HomeApiImpl.kt
index 7a262ab0d174a248df590d201c2f9387b8f1462d..d8b91b1734f2fbd610a89a1e01b087ae39fa71b5 100644
--- a/app/src/main/java/foundation/e/apps/data/application/home/HomeApiImpl.kt
+++ b/app/src/main/java/foundation/e/apps/data/application/home/HomeApiImpl.kt
@@ -25,6 +25,7 @@ import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.AuthData
import dagger.hilt.android.qualifiers.ApplicationContext
import foundation.e.apps.R
+import foundation.e.apps.data.AppSourcesContainer
import foundation.e.apps.data.ResultSupreme
import foundation.e.apps.data.application.ApplicationDataManager
import foundation.e.apps.data.application.data.Home
@@ -32,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.utils.toApplication
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.Source
import foundation.e.apps.data.handleNetworkResult
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.utils.eventBus.AppEvent
import foundation.e.apps.utils.eventBus.EventBus
@@ -48,15 +47,12 @@ import kotlinx.coroutines.launch
import retrofit2.Response
import timber.log.Timber
import javax.inject.Inject
-import javax.inject.Named
import foundation.e.apps.data.cleanapk.data.home.Home as CleanApkHome
class HomeApiImpl @Inject constructor(
@ApplicationContext private val context: Context,
private val appLoungePreference: AppLoungePreference,
- @Named("gplayRepository") private val gplayRepository: PlayStoreRepository,
- @Named("cleanApkAppsRepository") private val cleanApkAppsRepository: CleanApkRepository,
- @Named("cleanApkPWARepository") private val cleanApkPWARepository: CleanApkRepository,
+ private val appSources: AppSourcesContainer,
private val applicationDataManager: ApplicationDataManager
) : HomeApi {
@@ -143,9 +139,9 @@ class HomeApiImpl @Inject constructor(
appType: String
): MutableList {
val response = if (appType == SearchApi.APP_TYPE_OPEN) {
- (cleanApkAppsRepository.getHomeScreenData() as Response).body()
+ (appSources.cleanApkAppsRepo.getHomeScreenData() as Response).body()
} else {
- (cleanApkPWARepository.getHomeScreenData() as Response).body()
+ (appSources.cleanApkPWARepo.getHomeScreenData() as Response).body()
}
response?.home?.let {
@@ -182,11 +178,19 @@ class HomeApiImpl @Inject constructor(
}
"popular_apps_in_last_24_hours" -> {
- applicationDataManager.prepareApps(home.popular_apps_in_last_24_hours, list, value)
+ applicationDataManager.prepareApps(
+ home.popular_apps_in_last_24_hours,
+ list,
+ value
+ )
}
"popular_games_in_last_24_hours" -> {
- applicationDataManager.prepareApps(home.popular_games_in_last_24_hours, list, value)
+ applicationDataManager.prepareApps(
+ home.popular_games_in_last_24_hours,
+ list,
+ value
+ )
}
"discover" -> {
@@ -230,7 +234,8 @@ class HomeApiImpl @Inject constructor(
priorList: MutableList
): List {
val list = mutableListOf()
- val gplayHomeData = gplayRepository.getHomeScreenData() as Map>
+ val gplayHomeData =
+ appSources.gplayRepo.getHomeScreenData() as Map>
gplayHomeData.map {
val fusedApps = it.value.map { app ->
app.toApplication(context).apply {
diff --git a/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt b/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt
index be63b44e63468f6b0ef42c7a190bca0bcea1347a..0a64ad81c48cc35769014ae2626f20e84402aee0 100644
--- a/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt
+++ b/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt
@@ -24,6 +24,7 @@ import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.AuthData
import com.aurora.gplayapi.data.models.SearchBundle
import dagger.hilt.android.qualifiers.ApplicationContext
+import foundation.e.apps.data.AppSourcesContainer
import foundation.e.apps.data.ResultSupreme
import foundation.e.apps.data.application.ApplicationDataManager
import foundation.e.apps.data.application.apps.AppsApi
@@ -33,12 +34,10 @@ import foundation.e.apps.data.application.search.SearchApi.Companion.APP_TYPE_PW
import foundation.e.apps.data.application.data.Application
import foundation.e.apps.data.application.data.Home
import foundation.e.apps.data.application.utils.toApplication
-import foundation.e.apps.data.cleanapk.repositories.CleanApkRepository
import foundation.e.apps.data.enums.Origin
import foundation.e.apps.data.enums.ResultStatus
import foundation.e.apps.data.handleNetworkResult
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.utils.eventBus.AppEvent
import foundation.e.apps.utils.eventBus.EventBus
@@ -47,7 +46,6 @@ import kotlinx.coroutines.MainScope
import kotlinx.coroutines.launch
import timber.log.Timber
import javax.inject.Inject
-import javax.inject.Named
import javax.inject.Singleton
typealias FusedHomeDeferred = Deferred>>
@@ -56,9 +54,7 @@ typealias FusedHomeDeferred = Deferred>>
class SearchApiImpl @Inject constructor(
private val appsApi: AppsApi,
private val appLoungePreference: AppLoungePreference,
- @Named("gplayRepository") private val gplayRepository: PlayStoreRepository,
- @Named("cleanApkAppsRepository") private val cleanApkAppsRepository: CleanApkRepository,
- @Named("cleanApkPWARepository") private val cleanApkPWARepository: CleanApkRepository,
+ private val appSources: AppSourcesContainer,
private val applicationDataManager: ApplicationDataManager
) : SearchApi {
@@ -133,7 +129,7 @@ class SearchApiImpl @Inject constructor(
val pwaApps: MutableList = mutableListOf()
val result = handleNetworkResult {
val apps =
- cleanApkPWARepository.getSearchResult(query).body()?.apps
+ appSources.cleanApkPWARepo.getSearchResult(query).body()?.apps
apps?.forEach {
applicationDataManager.updateStatus(it)
it.updateType()
@@ -287,7 +283,7 @@ class SearchApiImpl @Inject constructor(
private suspend fun getCleanApkSearchResult(packageName: String): ResultSupreme {
var application = Application()
val result = handleNetworkResult {
- val result = cleanApkAppsRepository.getSearchResult(
+ val result = appSources.cleanApkAppsRepo.getSearchResult(
packageName,
"package_name"
).body()
@@ -303,7 +299,7 @@ class SearchApiImpl @Inject constructor(
override suspend fun getSearchSuggestions(query: String): List {
var searchSuggesions = listOf()
handleNetworkResult {
- searchSuggesions = gplayRepository.getSearchSuggestions(query)
+ searchSuggesions = appSources.gplayRepo.getSearchSuggestions(query)
}
return searchSuggesions
@@ -314,7 +310,7 @@ class SearchApiImpl @Inject constructor(
): List {
val list = mutableListOf()
val response =
- cleanApkAppsRepository.getSearchResult(keyword).body()?.apps
+ appSources.cleanApkAppsRepo.getSearchResult(keyword).body()?.apps
response?.forEach {
applicationDataManager.updateStatus(it)
@@ -332,7 +328,7 @@ class SearchApiImpl @Inject constructor(
): GplaySearchResult {
return handleNetworkResult {
val searchResults =
- gplayRepository.getSearchResult(query, nextPageSubBundle?.toMutableSet())
+ appSources.gplayRepo.getSearchResult(query, nextPageSubBundle?.toMutableSet())
if (!appLoungePreference.isGplaySelected()) {
return@handleNetworkResult Pair(
@@ -358,7 +354,7 @@ class SearchApiImpl @Inject constructor(
if (appList.isNullOrEmpty()) {
// Call search api with a common keyword (ex: facebook)
// to ensure Gplay is returning empty as search result for other keywords as well
- val searchResult = gplayRepository.getSearchResult(KEYWORD_TEST_SEARCH, null)
+ val searchResult = appSources.gplayRepo.getSearchResult(KEYWORD_TEST_SEARCH, null)
if (searchResult.first.isEmpty()) {
Timber.w("Limited result for search is found...")
refreshToken()
@@ -372,7 +368,7 @@ class SearchApiImpl @Inject constructor(
*/
private suspend fun replaceWithFDroid(gPlayApp: App): Application {
val gPlayFusedApp = gPlayApp.toApplication(context)
- val response = cleanApkAppsRepository.getAppDetails(gPlayApp.packageName)
+ val response = appSources.cleanApkAppsRepo.getAppDetails(gPlayApp.packageName)
if (response != null) {
val fdroidApp = getCleanApkPackageResult(gPlayFusedApp.package_name)?.apply {
this.updateSource(context)
diff --git a/app/src/test/java/foundation/e/apps/apps/AppsApiTest.kt b/app/src/test/java/foundation/e/apps/apps/AppsApiTest.kt
index 49eaaa2eda5ec3c3e4975a3a43a7954708485e7d..f86f01f6fbe39c229ea44ebe6a3834aa7978c4da 100644
--- a/app/src/test/java/foundation/e/apps/apps/AppsApiTest.kt
+++ b/app/src/test/java/foundation/e/apps/apps/AppsApiTest.kt
@@ -25,6 +25,7 @@ import com.aurora.gplayapi.Constants
import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.AuthData
import foundation.e.apps.FakeAppLoungePreference
+import foundation.e.apps.data.AppSourcesContainer
import foundation.e.apps.data.cleanapk.repositories.CleanApkRepository
import foundation.e.apps.data.enums.FilterLevel
import foundation.e.apps.data.enums.Origin
@@ -77,6 +78,9 @@ class AppsApiTest {
@Mock
private lateinit var cleanApkAppsRepository: CleanApkRepository
+ @Mock
+ private lateinit var cleanApkPWARepository: CleanApkRepository
+
@Mock
private lateinit var gPlayAPIRepository: PlayStoreRepository
@@ -99,13 +103,13 @@ class AppsApiTest {
preferenceManagerModule = FakeAppLoungePreference(context)
applicationDataManager =
ApplicationDataManager(gPlayAPIRepository, appLoungePackageManager, pwaManager)
-
+ val appSourcesContainer =
+ AppSourcesContainer(gPlayAPIRepository, cleanApkAppsRepository, cleanApkPWARepository)
appsApi = AppsApiImpl(
context,
preferenceManagerModule,
- gPlayAPIRepository,
- cleanApkAppsRepository,
- applicationDataManager,
+ appSourcesContainer,
+ applicationDataManager
)
}
@@ -222,15 +226,30 @@ class AppsApiTest {
)
)
- Mockito.`when`(appLoungePackageManager.getPackageStatus(eq("foundation.e.demoone"), eq(123)))
+ Mockito.`when`(
+ appLoungePackageManager.getPackageStatus(
+ eq("foundation.e.demoone"),
+ eq(123)
+ )
+ )
.thenReturn(
Status.UNAVAILABLE
)
- Mockito.`when`(appLoungePackageManager.getPackageStatus(eq("foundation.e.demotwo"), eq(123)))
+ Mockito.`when`(
+ appLoungePackageManager.getPackageStatus(
+ eq("foundation.e.demotwo"),
+ eq(123)
+ )
+ )
.thenReturn(
Status.UNAVAILABLE
)
- Mockito.`when`(appLoungePackageManager.getPackageStatus(eq("foundation.e.demothree"), eq(123)))
+ Mockito.`when`(
+ appLoungePackageManager.getPackageStatus(
+ eq("foundation.e.demothree"),
+ eq(123)
+ )
+ )
.thenReturn(
Status.UNAVAILABLE
)
@@ -265,15 +284,30 @@ class AppsApiTest {
)
)
- Mockito.`when`(appLoungePackageManager.getPackageStatus(eq("foundation.e.demoone"), eq(123)))
+ Mockito.`when`(
+ appLoungePackageManager.getPackageStatus(
+ eq("foundation.e.demoone"),
+ eq(123)
+ )
+ )
.thenReturn(
Status.UNAVAILABLE
)
- Mockito.`when`(appLoungePackageManager.getPackageStatus(eq("foundation.e.demotwo"), eq(123)))
+ Mockito.`when`(
+ appLoungePackageManager.getPackageStatus(
+ eq("foundation.e.demotwo"),
+ eq(123)
+ )
+ )
.thenReturn(
Status.INSTALLED
)
- Mockito.`when`(appLoungePackageManager.getPackageStatus(eq("foundation.e.demothree"), eq(123)))
+ Mockito.`when`(
+ appLoungePackageManager.getPackageStatus(
+ eq("foundation.e.demothree"),
+ eq(123)
+ )
+ )
.thenReturn(
Status.UNAVAILABLE
)
@@ -308,15 +342,30 @@ class AppsApiTest {
)
)
- Mockito.`when`(appLoungePackageManager.getPackageStatus(eq("foundation.e.demoone"), eq(123)))
+ Mockito.`when`(
+ appLoungePackageManager.getPackageStatus(
+ eq("foundation.e.demoone"),
+ eq(123)
+ )
+ )
.thenReturn(
Status.UNAVAILABLE
)
- Mockito.`when`(appLoungePackageManager.getPackageStatus(eq("foundation.e.demotwo"), eq(123)))
+ Mockito.`when`(
+ appLoungePackageManager.getPackageStatus(
+ eq("foundation.e.demotwo"),
+ eq(123)
+ )
+ )
.thenReturn(
Status.INSTALLED
)
- Mockito.`when`(appLoungePackageManager.getPackageStatus(eq("foundation.e.demothree"), eq(123)))
+ Mockito.`when`(
+ appLoungePackageManager.getPackageStatus(
+ eq("foundation.e.demothree"),
+ eq(123)
+ )
+ )
.thenReturn(
Status.UNAVAILABLE
)
diff --git a/app/src/test/java/foundation/e/apps/category/CategoryApiTest.kt b/app/src/test/java/foundation/e/apps/category/CategoryApiTest.kt
index 26451db61473a9c9d0a5d47d7eca80bec452c7d1..e6a96d7e2257c0e059a69b4d70b40ab335376c3b 100644
--- a/app/src/test/java/foundation/e/apps/category/CategoryApiTest.kt
+++ b/app/src/test/java/foundation/e/apps/category/CategoryApiTest.kt
@@ -23,6 +23,7 @@ import androidx.arch.core.executor.testing.InstantTaskExecutorRule
import com.aurora.gplayapi.data.models.Category
import foundation.e.apps.FakeAppLoungePreference
import foundation.e.apps.R
+import foundation.e.apps.data.AppSourcesContainer
import foundation.e.apps.data.application.ApplicationDataManager
import foundation.e.apps.data.application.category.CategoryApi
import foundation.e.apps.data.application.category.CategoryApiImpl
@@ -87,12 +88,12 @@ class CategoryApiTest {
preferenceManagerModule = FakeAppLoungePreference(context)
val applicationDataManager =
ApplicationDataManager(gPlayAPIRepository, appLoungePackageManager, pwaManager)
+ val appSourcesContainer =
+ AppSourcesContainer(gPlayAPIRepository, cleanApkAppsRepository, cleanApkPWARepository)
categoryApi = CategoryApiImpl(
context,
preferenceManagerModule,
- gPlayAPIRepository,
- cleanApkAppsRepository,
- cleanApkPWARepository,
+ appSourcesContainer,
applicationDataManager
)
}
diff --git a/app/src/test/java/foundation/e/apps/fused/SearchApiImplTest.kt b/app/src/test/java/foundation/e/apps/fused/SearchApiImplTest.kt
index c63435755f53695d4fc6b9ade94752cc869148a1..ffceefeccbf0c02681c873eebc04dd698beebf8b 100644
--- a/app/src/test/java/foundation/e/apps/fused/SearchApiImplTest.kt
+++ b/app/src/test/java/foundation/e/apps/fused/SearchApiImplTest.kt
@@ -24,6 +24,7 @@ import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.AuthData
import com.aurora.gplayapi.data.models.SearchBundle
import foundation.e.apps.FakeAppLoungePreference
+import foundation.e.apps.data.AppSourcesContainer
import foundation.e.apps.data.cleanapk.data.search.Search
import foundation.e.apps.data.cleanapk.repositories.CleanApkRepository
import foundation.e.apps.data.enums.Origin
@@ -111,21 +112,19 @@ class SearchApiImplTest {
preferenceManagerModule = FakeAppLoungePreference(context)
applicationDataManager =
ApplicationDataManager(gPlayAPIRepository, appLoungePackageManager, pwaManager)
-
+ val appSourcesContainer =
+ AppSourcesContainer(gPlayAPIRepository, cleanApkAppsRepository, cleanApkPWARepository)
appsApi = AppsApiImpl(
context,
preferenceManagerModule,
- gPlayAPIRepository,
- cleanApkAppsRepository,
+ appSourcesContainer,
applicationDataManager,
)
fusedAPIImpl = SearchApiImpl(
appsApi,
preferenceManagerModule,
- gPlayAPIRepository,
- cleanApkAppsRepository,
- cleanApkPWARepository,
+ appSourcesContainer,
applicationDataManager
)
}
diff --git a/app/src/test/java/foundation/e/apps/home/HomeApiTest.kt b/app/src/test/java/foundation/e/apps/home/HomeApiTest.kt
index 27ba23e72963aca476aa5a04640980cb40e54152..82e5595bf55d4fd7c9d3e2d79edbf3d0c2b7aa3c 100644
--- a/app/src/test/java/foundation/e/apps/home/HomeApiTest.kt
+++ b/app/src/test/java/foundation/e/apps/home/HomeApiTest.kt
@@ -24,6 +24,7 @@ import androidx.arch.core.executor.testing.InstantTaskExecutorRule
import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.AuthData
import foundation.e.apps.FakeAppLoungePreference
+import foundation.e.apps.data.AppSourcesContainer
import foundation.e.apps.data.application.ApplicationDataManager
import foundation.e.apps.data.application.home.HomeApi
import foundation.e.apps.data.application.home.HomeApiImpl
@@ -98,12 +99,12 @@ class HomeApiTest {
preferenceManagerModule = FakeAppLoungePreference(context)
applicationDataManager =
ApplicationDataManager(gPlayAPIRepository, appLoungePackageManager, pwaManager)
+ val appSourcesContainer =
+ AppSourcesContainer(gPlayAPIRepository, cleanApkAppsRepository, cleanApkPWARepository)
homeApi = HomeApiImpl(
context,
preferenceManagerModule,
- gPlayAPIRepository,
- cleanApkAppsRepository,
- cleanApkPWARepository,
+ appSourcesContainer,
applicationDataManager
)
}