Проблема с использованием WallpaperManager в MVVM с контекстом - PullRequest
0 голосов
/ 31 января 2019

Я хочу установить обои на моем экране телефона из приложения .Вот что я хочу сделать изнутри 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 и в этом приложении, но я не знаю, как это сделать точно.

...