SpoofDeviceProvider: Migrate to hilt

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-08-05 10:12:42 +08:00
parent 7d083e3749
commit 825b160a65
3 changed files with 18 additions and 14 deletions

View File

@@ -21,9 +21,9 @@ package com.aurora.store.data.providers
import android.content.Context
import com.aurora.store.BuildConfig
import com.aurora.store.data.SingletonHolder
import com.aurora.store.util.Log
import com.aurora.store.util.PathUtil
import dagger.hilt.android.qualifiers.ApplicationContext
import java.io.BufferedInputStream
import java.io.File
import java.io.FileInputStream
@@ -31,16 +31,13 @@ import java.io.IOException
import java.util.Properties
import java.util.jar.JarEntry
import java.util.jar.JarFile
import javax.inject.Inject
import javax.inject.Singleton
class SpoofDeviceProvider private constructor(var context: Context) {
@Singleton
class SpoofDeviceProvider @Inject constructor(@ApplicationContext val context: Context) {
companion object : SingletonHolder<SpoofDeviceProvider, Context>(::SpoofDeviceProvider) {
private const val SUFFIX = ".properties"
fun filenameValid(filename: String): Boolean {
return filename.endsWith(SUFFIX)
}
}
private val SUFFIX = ".properties"
val availableDevice: List<Properties>
get() {
@@ -139,4 +136,7 @@ class SpoofDeviceProvider private constructor(var context: Context) {
return null
}
private fun filenameValid(filename: String): Boolean {
return filename.endsWith(SUFFIX)
}
}

View File

@@ -68,7 +68,7 @@ class DeviceSpoofFragment : BaseFragment<FragmentGenericRecyclerBinding>() {
viewModel.availableDevices.collect { updateController(it) }
}
}
viewModel.fetchAvailableDevices(view.context)
viewModel.fetchAvailableDevices()
}
private fun updateController(locales: List<Properties>) {

View File

@@ -1,23 +1,27 @@
package com.aurora.store.viewmodel.spoof
import android.content.Context
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.aurora.store.data.providers.SpoofDeviceProvider
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.launch
import java.util.Properties
import javax.inject.Inject
class SpoofViewModel: ViewModel() {
@HiltViewModel
class SpoofViewModel @Inject constructor(
private val spoofDeviceProvider: SpoofDeviceProvider
): ViewModel() {
private val _availableDevices: MutableStateFlow<List<Properties>> = MutableStateFlow(emptyList())
val availableDevices = _availableDevices.asStateFlow()
fun fetchAvailableDevices(context: Context) {
fun fetchAvailableDevices() {
viewModelScope.launch(Dispatchers.IO) {
_availableDevices.value = SpoofDeviceProvider.with(context).availableDevice
_availableDevices.value = spoofDeviceProvider.availableDevice
}
}
}