From 41cf4d56ff1de3cebf812b92d42e4b7dc19594dc Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Wed, 18 Dec 2024 21:35:30 +0700 Subject: [PATCH] InstalledViewModel: Inject WebAppDetailsHelper using hilt Signed-off-by: Aayush Gupta --- .../java/com/aurora/store/module/HelperModule.kt | 12 ++++++++++++ .../aurora/store/viewmodel/all/InstalledViewModel.kt | 5 +++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/aurora/store/module/HelperModule.kt b/app/src/main/java/com/aurora/store/module/HelperModule.kt index 457afe326..f4d7195fd 100644 --- a/app/src/main/java/com/aurora/store/module/HelperModule.kt +++ b/app/src/main/java/com/aurora/store/module/HelperModule.kt @@ -7,6 +7,7 @@ import com.aurora.gplayapi.helpers.PurchaseHelper import com.aurora.gplayapi.helpers.ReviewsHelper import com.aurora.gplayapi.helpers.SearchHelper import com.aurora.gplayapi.helpers.StreamHelper +import com.aurora.gplayapi.helpers.web.WebAppDetailsHelper import com.aurora.gplayapi.helpers.web.WebCategoryStreamHelper import com.aurora.gplayapi.helpers.web.WebDataSafetyHelper import com.aurora.gplayapi.helpers.web.WebSearchHelper @@ -152,4 +153,15 @@ object HelperModule { .using(httpClient) .with(spoofProvider.locale) } + + @Singleton + @Provides + fun providesWebAppDetailsHelperInstance( + spoofProvider: SpoofProvider, + httpClient: IHttpClient + ): WebAppDetailsHelper { + return WebAppDetailsHelper() + .using(httpClient) + .with(spoofProvider.locale) + } } diff --git a/app/src/main/java/com/aurora/store/viewmodel/all/InstalledViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/all/InstalledViewModel.kt index 73353fee6..85373fe7a 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/all/InstalledViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/all/InstalledViewModel.kt @@ -43,7 +43,8 @@ import javax.inject.Inject class InstalledViewModel @Inject constructor( @ApplicationContext private val context: Context, private val blacklistProvider: BlacklistProvider, - private val gson: Gson + private val gson: Gson, + private val webAppDetailsHelper: WebAppDetailsHelper ) : ViewModel() { private val TAG = InstalledViewModel::class.java.simpleName @@ -65,7 +66,7 @@ class InstalledViewModel @Inject constructor( // 50 is a safe number to avoid hitting the rate limit or package size limit val chunkedPackages = packages.chunked(50) val allApps = chunkedPackages.flatMap { chunk -> - WebAppDetailsHelper().getAppDetails(chunk.map { it.packageName }) + webAppDetailsHelper.getAppDetails(chunk.map { it.packageName }) } _apps.emit(allApps)