SpoofProvider: Switch to hilt for injection

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-08-19 17:16:37 +05:30
parent e5d2c66405
commit 1e98baea3e
4 changed files with 20 additions and 16 deletions

View File

@@ -46,12 +46,12 @@ import javax.inject.Singleton
@Singleton
class AuthProvider @Inject constructor(
@ApplicationContext private val context: Context,
private val gson: Gson
private val gson: Gson,
private val spoofProvider: SpoofProvider
) {
private val TAG = AuthProvider::class.java.simpleName
private val spoofProvider: SpoofProvider get() = SpoofProvider(context)
val properties: Properties
get() {
val currentProperties = if (spoofProvider.isDeviceSpoofEnabled()) {

View File

@@ -22,12 +22,17 @@ package com.aurora.store.data.providers
import android.content.Context
import com.aurora.store.util.Preferences
import com.google.gson.Gson
import com.google.gson.GsonBuilder
import java.lang.reflect.Modifier
import dagger.hilt.android.qualifiers.ApplicationContext
import java.util.Locale
import java.util.Properties
import javax.inject.Inject
import javax.inject.Singleton
class SpoofProvider(var context: Context) {
@Singleton
class SpoofProvider @Inject constructor(
@ApplicationContext val context: Context,
private val gson: Gson
) {
companion object {
const val LOCALE_SPOOF_ENABLED = "LOCALE_SPOOF_ENABLED"
@@ -59,9 +64,6 @@ class SpoofProvider(var context: Context) {
fun getSpoofDeviceProperties(): Properties {
return if (isDeviceSpoofEnabled()) {
val gson: Gson =
GsonBuilder().excludeFieldsWithModifiers(Modifier.STATIC, Modifier.TRANSIENT)
.create()
return gson.fromJson(
Preferences.getString(context, DEVICE_SPOOF_PROPERTIES),
Properties::class.java
@@ -78,10 +80,7 @@ class SpoofProvider(var context: Context) {
}
fun setSpoofDeviceProperties(properties: Properties) {
val gson: Gson =
GsonBuilder().excludeFieldsWithModifiers(Modifier.STATIC, Modifier.TRANSIENT)
.create()
Preferences.putBoolean(context, DEVICE_SPOOF_ENABLED, true)
Preferences.putString(context, DEVICE_SPOOF_PROPERTIES, gson.toJson(properties))
}
}
}

View File

@@ -36,12 +36,15 @@ import com.aurora.store.viewmodel.spoof.SpoofViewModel
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch
import java.util.Properties
import javax.inject.Inject
@AndroidEntryPoint
class DeviceSpoofFragment : BaseFragment<FragmentGenericRecyclerBinding>() {
private val viewModel: SpoofViewModel by viewModels()
private lateinit var spoofProvider: SpoofProvider
@Inject
lateinit var spoofProvider: SpoofProvider
private lateinit var properties: Properties
companion object {
@@ -56,7 +59,6 @@ class DeviceSpoofFragment : BaseFragment<FragmentGenericRecyclerBinding>() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
spoofProvider = SpoofProvider(requireContext())
properties = if (spoofProvider.isDeviceSpoofEnabled()) {
spoofProvider.getSpoofDeviceProperties()
} else {

View File

@@ -30,12 +30,16 @@ import com.aurora.store.view.epoxy.views.preference.LocaleViewModel_
import com.aurora.store.view.ui.commons.BaseFragment
import dagger.hilt.android.AndroidEntryPoint
import java.util.Locale
import javax.inject.Inject
@AndroidEntryPoint
class LocaleSpoofFragment : BaseFragment<FragmentGenericRecyclerBinding>() {
private val TAG = LocaleSpoofFragment::class.java.simpleName
private lateinit var spoofProvider: SpoofProvider
@Inject
lateinit var spoofProvider: SpoofProvider
private lateinit var locale: Locale
companion object {
@@ -50,7 +54,6 @@ class LocaleSpoofFragment : BaseFragment<FragmentGenericRecyclerBinding>() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
spoofProvider = SpoofProvider(requireContext())
locale = if (spoofProvider.isLocaleSpoofEnabled()) {
spoofProvider.getSpoofLocale()
} else {