SpoofDeviceProvider: Migrate to hilt
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>) {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user