HttpClient: Inject using hilt
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -24,17 +24,27 @@ import android.util.Log
|
||||
import com.aurora.store.data.model.ProxyInfo
|
||||
import com.aurora.store.util.Preferences
|
||||
import com.google.gson.Gson
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
object HttpClient {
|
||||
|
||||
private const val TAG = "HttpClient"
|
||||
|
||||
fun getPreferredClient(context: Context): IProxyHttpClient {
|
||||
@Provides
|
||||
@Singleton
|
||||
fun getPreferredClient(@ApplicationContext context: Context, gson: Gson): IProxyHttpClient {
|
||||
val proxyEnabled = Preferences.getBoolean(context, Preferences.PREFERENCE_PROXY_ENABLED)
|
||||
val proxyInfoString = Preferences.getString(context, Preferences.PREFERENCE_PROXY_INFO)
|
||||
|
||||
return if (proxyEnabled && proxyInfoString.isNotBlank() && proxyInfoString != "{}") {
|
||||
val proxyInfo = Gson().fromJson(proxyInfoString, ProxyInfo::class.java)
|
||||
val proxyInfo = gson.fromJson(proxyInfoString, ProxyInfo::class.java)
|
||||
|
||||
if (proxyInfo != null) {
|
||||
OkHttpClient.setProxy(proxyInfo)
|
||||
|
||||
@@ -29,7 +29,7 @@ import com.aurora.gplayapi.helpers.AuthValidator
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.data.model.AccountType
|
||||
import com.aurora.store.data.model.Auth
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import com.aurora.store.util.Preferences
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_AUTH_DATA
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_DISPENSER_URLS
|
||||
@@ -47,7 +47,8 @@ import javax.inject.Singleton
|
||||
class AuthProvider @Inject constructor(
|
||||
@ApplicationContext private val context: Context,
|
||||
private val gson: Gson,
|
||||
private val spoofProvider: SpoofProvider
|
||||
private val spoofProvider: SpoofProvider,
|
||||
private val httpClient: IProxyHttpClient
|
||||
) {
|
||||
|
||||
private val TAG = AuthProvider::class.java.simpleName
|
||||
@@ -104,7 +105,7 @@ class AuthProvider @Inject constructor(
|
||||
return withContext(Dispatchers.IO) {
|
||||
try {
|
||||
AuthValidator(authData ?: return@withContext false)
|
||||
.using(HttpClient.getPreferredClient(context))
|
||||
.using(httpClient)
|
||||
.isValid()
|
||||
} catch (exception: Exception) {
|
||||
false
|
||||
@@ -145,10 +146,7 @@ class AuthProvider @Inject constructor(
|
||||
private suspend fun buildAnonymousAuthData(): AuthData? {
|
||||
return withContext(Dispatchers.IO) {
|
||||
try {
|
||||
val playResponse = HttpClient
|
||||
.getPreferredClient(context)
|
||||
.getAuth(dispenserURL!!)
|
||||
|
||||
val playResponse = httpClient.getAuth(dispenserURL!!)
|
||||
val auth = gson.fromJson(String(playResponse.responseBytes), Auth::class.java)
|
||||
return@withContext AuthHelper.build(
|
||||
email = auth.email,
|
||||
|
||||
@@ -25,7 +25,7 @@ import com.aurora.store.data.model.DownloadInfo
|
||||
import com.aurora.store.data.model.DownloadStatus
|
||||
import com.aurora.store.data.model.ProxyInfo
|
||||
import com.aurora.store.data.model.Request
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import com.aurora.store.data.room.download.Download
|
||||
import com.aurora.store.data.room.download.DownloadDao
|
||||
@@ -67,6 +67,7 @@ class DownloadWorker @AssistedInject constructor(
|
||||
private val gson: Gson,
|
||||
private val appInstaller: AppInstaller,
|
||||
private val authProvider: AuthProvider,
|
||||
private val httpClient: IProxyHttpClient,
|
||||
@Assisted private val appContext: Context,
|
||||
@Assisted workerParams: WorkerParameters
|
||||
) : CoroutineWorker(appContext, workerParams) {
|
||||
@@ -113,7 +114,7 @@ class DownloadWorker @AssistedInject constructor(
|
||||
|
||||
// Purchase the app (free apps needs to be purchased too)
|
||||
purchaseHelper = PurchaseHelper(authProvider.authData!!)
|
||||
.using(HttpClient.getPreferredClient(appContext))
|
||||
.using(httpClient)
|
||||
|
||||
notificationManager =
|
||||
appContext.getSystemService(Service.NOTIFICATION_SERVICE) as NotificationManager
|
||||
|
||||
@@ -11,7 +11,7 @@ import com.aurora.gplayapi.helpers.AppDetailsHelper
|
||||
import com.aurora.store.AuroraApp
|
||||
import com.aurora.store.BuildConfig
|
||||
import com.aurora.store.data.model.SelfUpdate
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import com.aurora.store.data.providers.BlacklistProvider
|
||||
import com.aurora.store.data.room.update.Update
|
||||
@@ -30,6 +30,7 @@ class AppUtil @Inject constructor(
|
||||
private val authProvider: AuthProvider,
|
||||
private val updateDao: UpdateDao,
|
||||
private val blacklistProvider: BlacklistProvider,
|
||||
private val httpClient: IProxyHttpClient,
|
||||
@ApplicationContext private val context: Context
|
||||
) {
|
||||
|
||||
@@ -77,7 +78,7 @@ class AppUtil @Inject constructor(
|
||||
): List<App> {
|
||||
return withContext(Dispatchers.IO) {
|
||||
val appDetailsHelper = AppDetailsHelper(tmpAuthData?: authProvider.authData!!)
|
||||
.using(HttpClient.getPreferredClient(context))
|
||||
.using(httpClient)
|
||||
|
||||
(packageInfoMap ?: PackageUtil.getPackageInfoMap(context)).keys.let { packages ->
|
||||
val filtersPackages = packages.filter { !blacklistProvider.isBlacklisted(it) }
|
||||
@@ -103,8 +104,7 @@ class AppUtil @Inject constructor(
|
||||
}
|
||||
|
||||
try {
|
||||
val response =
|
||||
HttpClient.getPreferredClient(context).get(Constants.UPDATE_URL, mapOf())
|
||||
val response = httpClient.get(Constants.UPDATE_URL, mapOf())
|
||||
val selfUpdate =
|
||||
gson.fromJson(String(response.responseBytes), SelfUpdate::class.java)
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ import androidx.lifecycle.viewModelScope
|
||||
import com.aurora.extensions.isApp
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.gplayapi.helpers.AppDetailsHelper
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import com.aurora.store.data.providers.BlacklistProvider
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
@@ -44,10 +44,11 @@ import javax.inject.Inject
|
||||
class BlacklistViewModel @Inject constructor(
|
||||
val blacklistProvider: BlacklistProvider,
|
||||
@ApplicationContext private val context: Context,
|
||||
private val httpClient: IProxyHttpClient,
|
||||
authProvider: AuthProvider
|
||||
) : ViewModel() {
|
||||
private val appDetailsHelper = AppDetailsHelper(authProvider.authData!!)
|
||||
.using(HttpClient.getPreferredClient(context))
|
||||
.using(httpClient)
|
||||
|
||||
private val _blacklistedApps = MutableStateFlow<List<App>?>(null)
|
||||
val blackListedApps = _blacklistedApps.asStateFlow()
|
||||
|
||||
@@ -36,7 +36,7 @@ import com.aurora.store.data.event.AuthEvent
|
||||
import com.aurora.store.data.model.AccountType
|
||||
import com.aurora.store.data.model.Auth
|
||||
import com.aurora.store.data.model.AuthState
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import com.aurora.store.data.providers.AccountProvider
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import com.aurora.store.data.work.UpdateWorker
|
||||
@@ -60,7 +60,8 @@ import javax.inject.Inject
|
||||
class AuthViewModel @Inject constructor(
|
||||
val authProvider: AuthProvider,
|
||||
@ApplicationContext private val context: Context,
|
||||
private val gson: Gson
|
||||
private val gson: Gson,
|
||||
private val httpClient: IProxyHttpClient
|
||||
) : ViewModel() {
|
||||
|
||||
private val TAG = AuthViewModel::class.java.simpleName
|
||||
@@ -104,10 +105,7 @@ class AuthViewModel @Inject constructor(
|
||||
liveData.postValue(AuthState.Fetching)
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
try {
|
||||
val playResponse = HttpClient
|
||||
.getPreferredClient(context)
|
||||
.getAuth(authProvider.dispenserURL!!)
|
||||
|
||||
val playResponse = httpClient.getAuth(authProvider.dispenserURL!!)
|
||||
if (playResponse.isSuccessful) {
|
||||
val tmpAuthData = gson.fromJson(
|
||||
String(playResponse.responseBytes),
|
||||
|
||||
@@ -27,7 +27,7 @@ import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.aurora.gplayapi.data.models.StreamCluster
|
||||
import com.aurora.gplayapi.helpers.ExpandedBrowseHelper
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
@@ -40,13 +40,14 @@ import javax.inject.Inject
|
||||
@SuppressLint("StaticFieldLeak") // false positive, see https://github.com/google/dagger/issues/3253
|
||||
class ExpandedStreamBrowseViewModel @Inject constructor(
|
||||
@ApplicationContext private val context: Context,
|
||||
private val authProvider: AuthProvider
|
||||
private val authProvider: AuthProvider,
|
||||
private val httpClient: IProxyHttpClient
|
||||
) : ViewModel() {
|
||||
|
||||
private val TAG = ExpandedStreamBrowseViewModel::class.java.simpleName
|
||||
|
||||
private val streamHelper: ExpandedBrowseHelper = ExpandedBrowseHelper(authProvider.authData!!)
|
||||
.using(HttpClient.getPreferredClient(context))
|
||||
.using(httpClient)
|
||||
|
||||
val liveData: MutableLiveData<StreamCluster> = MutableLiveData()
|
||||
var streamCluster: StreamCluster = StreamCluster()
|
||||
|
||||
@@ -28,7 +28,7 @@ import androidx.lifecycle.viewModelScope
|
||||
import com.aurora.gplayapi.data.models.StreamCluster
|
||||
import com.aurora.gplayapi.helpers.contracts.StreamContract
|
||||
import com.aurora.gplayapi.helpers.web.WebStreamHelper
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
@@ -41,13 +41,14 @@ import javax.inject.Inject
|
||||
@SuppressLint("StaticFieldLeak") // false positive, see https://github.com/google/dagger/issues/3253
|
||||
class StreamBrowseViewModel @Inject constructor(
|
||||
@ApplicationContext private val context: Context,
|
||||
private val authProvider: AuthProvider
|
||||
private val authProvider: AuthProvider,
|
||||
private val httpClient: IProxyHttpClient
|
||||
) : ViewModel() {
|
||||
|
||||
private val TAG = StreamBrowseViewModel::class.java.simpleName
|
||||
|
||||
private val streamHelper: StreamContract = WebStreamHelper()
|
||||
.using(HttpClient.getPreferredClient(context))
|
||||
.using(httpClient)
|
||||
|
||||
val liveData: MutableLiveData<StreamCluster> = MutableLiveData()
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import com.aurora.gplayapi.helpers.CategoryHelper
|
||||
import com.aurora.gplayapi.helpers.contracts.CategoryContract
|
||||
import com.aurora.store.CategoryStash
|
||||
import com.aurora.store.data.model.ViewState
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
@@ -42,12 +42,13 @@ import javax.inject.Inject
|
||||
@SuppressLint("StaticFieldLeak") // false positive, see https://github.com/google/dagger/issues/3253
|
||||
class CategoryViewModel @Inject constructor(
|
||||
@ApplicationContext private val context: Context,
|
||||
private val authProvider: AuthProvider
|
||||
private val authProvider: AuthProvider,
|
||||
private val httpClient: IProxyHttpClient
|
||||
) : ViewModel() {
|
||||
private val TAG = CategoryViewModel::class.java.simpleName
|
||||
|
||||
private val categoryHelper: CategoryHelper = CategoryHelper(authProvider.authData!!)
|
||||
.using(HttpClient.getPreferredClient(context))
|
||||
.using(httpClient)
|
||||
|
||||
private var stash: CategoryStash = mutableMapOf(
|
||||
Category.Type.APPLICATION to emptyList(),
|
||||
|
||||
@@ -12,7 +12,7 @@ import com.aurora.gplayapi.helpers.ReviewsHelper
|
||||
import com.aurora.gplayapi.helpers.web.WebDataSafetyHelper
|
||||
import com.aurora.store.data.model.ExodusReport
|
||||
import com.aurora.store.data.model.Report
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import com.aurora.store.data.room.favourites.Favourite
|
||||
import com.aurora.store.data.room.favourites.FavouriteDao
|
||||
@@ -36,7 +36,8 @@ class AppDetailsViewModel @Inject constructor(
|
||||
@ApplicationContext private val context: Context,
|
||||
private val downloadWorkerUtil: DownloadWorkerUtil,
|
||||
private val authProvider: AuthProvider,
|
||||
private val favouriteDao: FavouriteDao
|
||||
private val favouriteDao: FavouriteDao,
|
||||
private val httpClient: IProxyHttpClient
|
||||
) : ViewModel() {
|
||||
|
||||
private val TAG = AppDetailsViewModel::class.java.simpleName
|
||||
@@ -44,7 +45,6 @@ class AppDetailsViewModel @Inject constructor(
|
||||
private val exodusBaseUrl = "https://reports.exodus-privacy.eu.org/api/search/"
|
||||
private val exodusApiKey = "Token bbe6ebae4ad45a9cbacb17d69739799b8df2c7ae"
|
||||
|
||||
private val httpClient = HttpClient.getPreferredClient(context)
|
||||
private val appDetailsHelper = AppDetailsHelper(authProvider.authData!!).using(httpClient)
|
||||
private val reviewsHelper = ReviewsHelper(authProvider.authData!!).using(httpClient)
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ import com.aurora.gplayapi.helpers.StreamHelper
|
||||
import com.aurora.gplayapi.helpers.contracts.StreamContract
|
||||
import com.aurora.store.AppStreamStash
|
||||
import com.aurora.store.data.model.ViewState
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
@@ -43,13 +43,14 @@ import javax.inject.Inject
|
||||
@HiltViewModel
|
||||
class DetailsClusterViewModel @Inject constructor(
|
||||
@ApplicationContext private val context: Context,
|
||||
authProvider: AuthProvider
|
||||
authProvider: AuthProvider,
|
||||
private val httpClient: IProxyHttpClient
|
||||
) : ViewModel() {
|
||||
|
||||
private val TAG = DetailsClusterViewModel::class.java.simpleName
|
||||
|
||||
private var appDetailsHelper = AppDetailsHelper(authProvider.authData!!)
|
||||
.using(HttpClient.getPreferredClient(context))
|
||||
.using(httpClient)
|
||||
private var streamHelper = StreamHelper(authProvider.authData!!)
|
||||
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.gplayapi.helpers.AppDetailsHelper
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
@@ -19,13 +19,14 @@ import javax.inject.Inject
|
||||
@HiltViewModel
|
||||
class DetailsMoreViewModel @Inject constructor(
|
||||
@ApplicationContext private val context: Context,
|
||||
private val authProvider: AuthProvider
|
||||
private val authProvider: AuthProvider,
|
||||
private val httpClient: IProxyHttpClient
|
||||
) : ViewModel() {
|
||||
|
||||
private val TAG = DetailsMoreViewModel::class.java.simpleName
|
||||
|
||||
private val appDetailsHelper = AppDetailsHelper(authProvider.authData!!)
|
||||
.using(HttpClient.getPreferredClient(context))
|
||||
.using(httpClient)
|
||||
|
||||
private val dependantAppsStash = mutableMapOf<String, List<App>>()
|
||||
private val _dependentApps = MutableSharedFlow<List<App>>()
|
||||
|
||||
@@ -32,7 +32,7 @@ import com.aurora.gplayapi.helpers.AppDetailsHelper
|
||||
import com.aurora.gplayapi.helpers.StreamHelper
|
||||
import com.aurora.gplayapi.helpers.contracts.StreamContract
|
||||
import com.aurora.store.data.model.ViewState
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
@@ -45,13 +45,14 @@ import javax.inject.Inject
|
||||
@SuppressLint("StaticFieldLeak") // false positive, see https://github.com/google/dagger/issues/3253
|
||||
class DevProfileViewModel @Inject constructor(
|
||||
@ApplicationContext private val context: Context,
|
||||
private val authProvider: AuthProvider
|
||||
private val authProvider: AuthProvider,
|
||||
private val httpClient: IProxyHttpClient
|
||||
) : ViewModel() {
|
||||
|
||||
private val TAG = DevProfileViewModel::class.java.simpleName
|
||||
|
||||
private var appDetailsHelper = AppDetailsHelper(authProvider.authData!!)
|
||||
.using(HttpClient.getPreferredClient(context))
|
||||
.using(httpClient)
|
||||
private var streamHelper = StreamHelper(authProvider.authData!!)
|
||||
|
||||
val liveData: MutableLiveData<ViewState> = MutableLiveData()
|
||||
|
||||
@@ -31,7 +31,7 @@ import com.aurora.gplayapi.helpers.contracts.StreamContract
|
||||
import com.aurora.gplayapi.helpers.web.WebStreamHelper
|
||||
import com.aurora.store.HomeStash
|
||||
import com.aurora.store.data.model.ViewState
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
@@ -42,13 +42,14 @@ import javax.inject.Inject
|
||||
@HiltViewModel
|
||||
@SuppressLint("StaticFieldLeak") // false positive, see https://github.com/google/dagger/issues/3253
|
||||
class StreamViewModel @Inject constructor(
|
||||
@ApplicationContext private val context: Context
|
||||
@ApplicationContext private val context: Context,
|
||||
private val httpClient: IProxyHttpClient
|
||||
) : ViewModel() {
|
||||
|
||||
private val TAG = StreamViewModel::class.java.simpleName
|
||||
|
||||
private var webStreamHelper = WebStreamHelper()
|
||||
.using(HttpClient.getPreferredClient(context))
|
||||
.using(httpClient)
|
||||
|
||||
val liveData: MutableLiveData<ViewState> = MutableLiveData()
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ import androidx.lifecycle.viewModelScope
|
||||
import com.aurora.gplayapi.data.models.Review
|
||||
import com.aurora.gplayapi.data.models.ReviewCluster
|
||||
import com.aurora.gplayapi.helpers.ReviewsHelper
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
@@ -40,11 +40,12 @@ import javax.inject.Inject
|
||||
@SuppressLint("StaticFieldLeak") // false positive, see https://github.com/google/dagger/issues/3253
|
||||
class ReviewViewModel @Inject constructor(
|
||||
@ApplicationContext private val context: Context,
|
||||
private val authProvider: AuthProvider
|
||||
private val authProvider: AuthProvider,
|
||||
private val httpClient: IProxyHttpClient
|
||||
) : ViewModel() {
|
||||
|
||||
var reviewsHelper: ReviewsHelper = ReviewsHelper(authProvider.authData!!)
|
||||
.using(HttpClient.getPreferredClient(context))
|
||||
.using(httpClient)
|
||||
|
||||
val liveData: MutableLiveData<ReviewCluster> = MutableLiveData()
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import com.aurora.gplayapi.data.models.SearchBundle
|
||||
import com.aurora.gplayapi.helpers.SearchHelper
|
||||
import com.aurora.gplayapi.helpers.contracts.SearchContract
|
||||
import com.aurora.gplayapi.helpers.web.WebSearchHelper
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import com.aurora.store.data.providers.FilterProvider
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
@@ -45,14 +45,15 @@ import javax.inject.Inject
|
||||
class SearchResultViewModel @Inject constructor(
|
||||
val filterProvider: FilterProvider,
|
||||
@ApplicationContext private val context: Context,
|
||||
private val authProvider: AuthProvider
|
||||
private val authProvider: AuthProvider,
|
||||
private val httpClient: IProxyHttpClient
|
||||
) : ViewModel() {
|
||||
|
||||
private val TAG = SearchResultViewModel::class.java.simpleName
|
||||
|
||||
private val webSearchHelper: WebSearchHelper = WebSearchHelper()
|
||||
private val searchHelper: SearchHelper = SearchHelper(authProvider.authData!!)
|
||||
.using(HttpClient.getPreferredClient(context))
|
||||
.using(httpClient)
|
||||
|
||||
val liveData: MutableLiveData<SearchBundle> = MutableLiveData()
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ import com.aurora.gplayapi.SearchSuggestEntry
|
||||
import com.aurora.gplayapi.helpers.SearchHelper
|
||||
import com.aurora.gplayapi.helpers.contracts.SearchContract
|
||||
import com.aurora.gplayapi.helpers.web.WebSearchHelper
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
@@ -40,12 +40,13 @@ import javax.inject.Inject
|
||||
@SuppressLint("StaticFieldLeak") // false positive, see https://github.com/google/dagger/issues/3253
|
||||
class SearchSuggestionViewModel @Inject constructor(
|
||||
@ApplicationContext private val context: Context,
|
||||
private val authProvider: AuthProvider
|
||||
private val authProvider: AuthProvider,
|
||||
private val httpClient: IProxyHttpClient
|
||||
) : ViewModel() {
|
||||
|
||||
private val webSearchHelper: WebSearchHelper = WebSearchHelper()
|
||||
private val searchHelper: SearchHelper = SearchHelper(authProvider.authData!!)
|
||||
.using(HttpClient.getPreferredClient(context))
|
||||
.using(httpClient)
|
||||
|
||||
val liveSearchSuggestions: MutableLiveData<List<SearchSuggestEntry>> = MutableLiveData()
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ import com.aurora.gplayapi.helpers.contracts.CategoryStreamContract
|
||||
import com.aurora.gplayapi.helpers.contracts.StreamContract
|
||||
import com.aurora.gplayapi.helpers.web.WebCategoryStreamHelper
|
||||
import com.aurora.store.data.model.ViewState
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
@@ -42,13 +42,14 @@ import javax.inject.Inject
|
||||
@HiltViewModel
|
||||
@SuppressLint("StaticFieldLeak") // false positive, see https://github.com/google/dagger/issues/3253
|
||||
class CategoryStreamViewModel @Inject constructor(
|
||||
@ApplicationContext private val context: Context
|
||||
@ApplicationContext private val context: Context,
|
||||
private val httpClient: IProxyHttpClient
|
||||
) : ViewModel() {
|
||||
|
||||
private val TAG = CategoryStreamViewModel::class.java.simpleName
|
||||
|
||||
private var webCategoryStreamHelper = WebCategoryStreamHelper()
|
||||
.using(HttpClient.getPreferredClient(context))
|
||||
.using(httpClient)
|
||||
|
||||
val liveData: MutableLiveData<ViewState> = MutableLiveData()
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ import com.aurora.gplayapi.helpers.contracts.TopChartsContract
|
||||
import com.aurora.gplayapi.helpers.web.WebTopChartsHelper
|
||||
import com.aurora.store.TopChartStash
|
||||
import com.aurora.store.data.model.ViewState
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.network.IProxyHttpClient
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
@@ -39,11 +39,13 @@ import javax.inject.Inject
|
||||
|
||||
@HiltViewModel
|
||||
@SuppressLint("StaticFieldLeak") // false positive, see https://github.com/google/dagger/issues/3253
|
||||
class TopChartViewModel @Inject constructor(@ApplicationContext private val context: Context) :
|
||||
ViewModel() {
|
||||
class TopChartViewModel @Inject constructor(
|
||||
@ApplicationContext private val context: Context,
|
||||
private val httpClient: IProxyHttpClient
|
||||
): ViewModel() {
|
||||
|
||||
private val webTopChartsHelper: TopChartsContract = WebTopChartsHelper()
|
||||
.using(HttpClient.getPreferredClient(context))
|
||||
.using(httpClient)
|
||||
|
||||
private var stash: TopChartStash = mutableMapOf()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user