From 1e98baea3e6f9e78cfb33a9dfaa565322345ff56 Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Mon, 19 Aug 2024 17:16:37 +0530 Subject: [PATCH] SpoofProvider: Switch to hilt for injection Signed-off-by: Aayush Gupta --- .../store/data/providers/AuthProvider.kt | 4 ++-- .../store/data/providers/SpoofProvider.kt | 19 +++++++++---------- .../view/ui/spoof/DeviceSpoofFragment.kt | 6 ++++-- .../view/ui/spoof/LocaleSpoofFragment.kt | 7 +++++-- 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/aurora/store/data/providers/AuthProvider.kt b/app/src/main/java/com/aurora/store/data/providers/AuthProvider.kt index 20c88d395..3a21eacec 100644 --- a/app/src/main/java/com/aurora/store/data/providers/AuthProvider.kt +++ b/app/src/main/java/com/aurora/store/data/providers/AuthProvider.kt @@ -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()) { diff --git a/app/src/main/java/com/aurora/store/data/providers/SpoofProvider.kt b/app/src/main/java/com/aurora/store/data/providers/SpoofProvider.kt index 0c7047129..b378aea41 100644 --- a/app/src/main/java/com/aurora/store/data/providers/SpoofProvider.kt +++ b/app/src/main/java/com/aurora/store/data/providers/SpoofProvider.kt @@ -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)) } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/aurora/store/view/ui/spoof/DeviceSpoofFragment.kt b/app/src/main/java/com/aurora/store/view/ui/spoof/DeviceSpoofFragment.kt index f9bd6ba01..9c991f86e 100644 --- a/app/src/main/java/com/aurora/store/view/ui/spoof/DeviceSpoofFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/spoof/DeviceSpoofFragment.kt @@ -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() { 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() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - spoofProvider = SpoofProvider(requireContext()) properties = if (spoofProvider.isDeviceSpoofEnabled()) { spoofProvider.getSpoofDeviceProperties() } else { diff --git a/app/src/main/java/com/aurora/store/view/ui/spoof/LocaleSpoofFragment.kt b/app/src/main/java/com/aurora/store/view/ui/spoof/LocaleSpoofFragment.kt index d31ad1783..b3755a7f4 100644 --- a/app/src/main/java/com/aurora/store/view/ui/spoof/LocaleSpoofFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/spoof/LocaleSpoofFragment.kt @@ -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() { 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() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - spoofProvider = SpoofProvider(requireContext()) locale = if (spoofProvider.isLocaleSpoofEnabled()) { spoofProvider.getSpoofLocale() } else {