package Ġcom . example . todo app . di . module Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room . Room Ċ import Ġcom . example . todo app . data . Task Data Base Ċ import Ġcom . example . todo app . data . dao . Task Dao Ċ import Ġcom . example . weather info . di . qual ifier . ApplicationContext Ċ import Ġcom . example . weather info . di . scope . Application Scope Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ Ċ @ Module ( includes Ġ= Ġ[ ViewModel Module :: class ]) Ċ class ĠDatabase Module (@ ApplicationContext Ġcontext : ĠContext ) Ġ{ ĊĠĠĠ Ġ@ ApplicationContext ĊĠĠĠ Ġprivate Ġval ĠmContext : ĠContext Ġ= Ġcontext ĊĊĠĠĠ Ġ@ Application Scope ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Data Base (): ĠTask Data Base Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRoom . database Builder < Task Data Base >( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmContext , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTask Data Base :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" task Database . db " ĊĠĠĠĠĠĠĠ Ġ). fallback To Dest ruct ive Migration (). build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Application Scope ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Task Dao ( db : ĠTask Data Base ): ĠTask Dao Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdb . task Dao () ĊĠĠĠ Ġ} Ċ }