Я хочу установить обои на моем экране телефона из приложения .Вот что я хочу сделать изнутри ViewModel (MVVM) .
Проблема:
Я попытался получить контекст в ViewModel с провайдером , но я получаю null error
Вот что я попробовал в ViewModel :
fun setWallpaper() {
val myWallpaperManager = WallpaperManager.getInstance(mResourceProvider!!.getContext())
try {
myWallpaperManager.setBitmap(mResourceProvider.getBitmap())
}catch (e: IOException){
e.printStackTrace()
}
}
ResourceProvider, откуда я хочу получить контекст:
class ResourceProvider(mContext: Context) {
private var mContext: Context? = null
fun getContext(): Context {
return mContext!!.applicationContext
}
}
А вот фрагмент , где я получаю доступ к ViewModel:
viewModel.setWallpaper()
Надеюсь, вы понимаете. Если есть способ сделать это, вероятно, с dagger2, потому что я использую dagger2 и в этом приложении, но я не знаю, как это сделать точно.