diff --git a/app/src/main/java/com/aurora/store/module/CommonModule.kt b/app/src/main/java/com/aurora/store/module/CommonModule.kt new file mode 100644 index 000000000..f3b89a7ff --- /dev/null +++ b/app/src/main/java/com/aurora/store/module/CommonModule.kt @@ -0,0 +1,23 @@ +package com.aurora.store.module + +import com.google.gson.Gson +import com.google.gson.GsonBuilder +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import java.lang.reflect.Modifier +import javax.inject.Singleton + +@Module +@InstallIn(SingletonComponent::class) +object CommonModule { + + @Singleton + @Provides + fun providesGsonInstance(): Gson { + return GsonBuilder() + .excludeFieldsWithModifiers(Modifier.TRANSIENT) + .create() + } +} diff --git a/app/src/main/java/com/aurora/store/view/ui/commons/BaseFragment.kt b/app/src/main/java/com/aurora/store/view/ui/commons/BaseFragment.kt index 58992acdf..f7f1163f1 100644 --- a/app/src/main/java/com/aurora/store/view/ui/commons/BaseFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/commons/BaseFragment.kt @@ -26,18 +26,16 @@ import com.aurora.gplayapi.data.models.App import com.aurora.gplayapi.data.models.Category import com.aurora.store.MobileNavigationDirections import com.google.gson.Gson -import com.google.gson.GsonBuilder -import java.lang.reflect.Modifier +import javax.inject.Inject -open class BaseFragment : Fragment { +abstract class BaseFragment : Fragment { constructor(): super() constructor(@LayoutRes contentLayoutId: Int) : super(contentLayoutId) - var gson: Gson = GsonBuilder().excludeFieldsWithModifiers( - Modifier.TRANSIENT - ).create() + @Inject + lateinit var gson: Gson fun openDetailsFragment(packageName: String, app: App? = null) { findNavController().navigate( diff --git a/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt b/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt index 8e0936c09..045a17a9c 100644 --- a/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt +++ b/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt @@ -39,10 +39,14 @@ import com.aurora.store.view.custom.preference.ListPreferenceMaterialDialogFragm import com.aurora.store.view.custom.preference.ListPreferenceMaterialDialogFragmentCompat.Companion.PREFERENCE_DIALOG_FRAGMENT_TAG import com.google.gson.Gson import dagger.hilt.android.AndroidEntryPoint +import javax.inject.Inject @AndroidEntryPoint class NetworkPreference : PreferenceFragmentCompat() { + @Inject + lateinit var gson: Gson + override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.preferences_network, rootKey) @@ -81,7 +85,7 @@ class NetworkPreference : PreferenceFragmentCompat() { save(Preferences.PREFERENCE_PROXY_URL, newProxyUrl) save( Preferences.PREFERENCE_PROXY_INFO, - Gson().toJson(newProxyInfo) + gson.toJson(newProxyInfo) ) preference.summary = newProxyUrl