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 @Singleton
class AuthProvider @Inject constructor( class AuthProvider @Inject constructor(
@ApplicationContext private val context: Context, @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 TAG = AuthProvider::class.java.simpleName
private val spoofProvider: SpoofProvider get() = SpoofProvider(context)
val properties: Properties val properties: Properties
get() { get() {
val currentProperties = if (spoofProvider.isDeviceSpoofEnabled()) { val currentProperties = if (spoofProvider.isDeviceSpoofEnabled()) {

View File

@@ -22,12 +22,17 @@ package com.aurora.store.data.providers
import android.content.Context import android.content.Context
import com.aurora.store.util.Preferences import com.aurora.store.util.Preferences
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.GsonBuilder import dagger.hilt.android.qualifiers.ApplicationContext
import java.lang.reflect.Modifier
import java.util.Locale import java.util.Locale
import java.util.Properties 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 { companion object {
const val LOCALE_SPOOF_ENABLED = "LOCALE_SPOOF_ENABLED" const val LOCALE_SPOOF_ENABLED = "LOCALE_SPOOF_ENABLED"
@@ -59,9 +64,6 @@ class SpoofProvider(var context: Context) {
fun getSpoofDeviceProperties(): Properties { fun getSpoofDeviceProperties(): Properties {
return if (isDeviceSpoofEnabled()) { return if (isDeviceSpoofEnabled()) {
val gson: Gson =
GsonBuilder().excludeFieldsWithModifiers(Modifier.STATIC, Modifier.TRANSIENT)
.create()
return gson.fromJson( return gson.fromJson(
Preferences.getString(context, DEVICE_SPOOF_PROPERTIES), Preferences.getString(context, DEVICE_SPOOF_PROPERTIES),
Properties::class.java Properties::class.java
@@ -78,9 +80,6 @@ class SpoofProvider(var context: Context) {
} }
fun setSpoofDeviceProperties(properties: Properties) { fun setSpoofDeviceProperties(properties: Properties) {
val gson: Gson =
GsonBuilder().excludeFieldsWithModifiers(Modifier.STATIC, Modifier.TRANSIENT)
.create()
Preferences.putBoolean(context, DEVICE_SPOOF_ENABLED, true) Preferences.putBoolean(context, DEVICE_SPOOF_ENABLED, true)
Preferences.putString(context, DEVICE_SPOOF_PROPERTIES, gson.toJson(properties)) 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 dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import java.util.Properties import java.util.Properties
import javax.inject.Inject
@AndroidEntryPoint @AndroidEntryPoint
class DeviceSpoofFragment : BaseFragment<FragmentGenericRecyclerBinding>() { class DeviceSpoofFragment : BaseFragment<FragmentGenericRecyclerBinding>() {
private val viewModel: SpoofViewModel by viewModels() private val viewModel: SpoofViewModel by viewModels()
private lateinit var spoofProvider: SpoofProvider @Inject
lateinit var spoofProvider: SpoofProvider
private lateinit var properties: Properties private lateinit var properties: Properties
companion object { companion object {
@@ -56,7 +59,6 @@ class DeviceSpoofFragment : BaseFragment<FragmentGenericRecyclerBinding>() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
spoofProvider = SpoofProvider(requireContext())
properties = if (spoofProvider.isDeviceSpoofEnabled()) { properties = if (spoofProvider.isDeviceSpoofEnabled()) {
spoofProvider.getSpoofDeviceProperties() spoofProvider.getSpoofDeviceProperties()
} else { } 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 com.aurora.store.view.ui.commons.BaseFragment
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import java.util.Locale import java.util.Locale
import javax.inject.Inject
@AndroidEntryPoint @AndroidEntryPoint
class LocaleSpoofFragment : BaseFragment<FragmentGenericRecyclerBinding>() { class LocaleSpoofFragment : BaseFragment<FragmentGenericRecyclerBinding>() {
private val TAG = LocaleSpoofFragment::class.java.simpleName private val TAG = LocaleSpoofFragment::class.java.simpleName
private lateinit var spoofProvider: SpoofProvider
@Inject
lateinit var spoofProvider: SpoofProvider
private lateinit var locale: Locale private lateinit var locale: Locale
companion object { companion object {
@@ -50,7 +54,6 @@ class LocaleSpoofFragment : BaseFragment<FragmentGenericRecyclerBinding>() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
spoofProvider = SpoofProvider(requireContext())
locale = if (spoofProvider.isLocaleSpoofEnabled()) { locale = if (spoofProvider.isLocaleSpoofEnabled()) {
spoofProvider.getSpoofLocale() spoofProvider.getSpoofLocale()
} else { } else {