package Ġcom . gms . app . di Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room . Room Ċ import Ġcom . gms . app . data . storage . local . db . App DB Ċ import Ġcom . gms . app . data . storage . local . db . App Dao Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . h ilt . Install In Ċ import Ġdagger . h ilt . android . components . Application Component Ċ import Ġdagger . h ilt . android . qual ifiers . ApplicationContext Ċ import Ġjavax . inject . Singleton ĊĊ Ċ @ Install In ( Application Component :: class ) Ċ @ Module Ċ object ĠDatabase Module Ġ{ ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Channel Dao ( app Database : ĠApp DB ): ĠApp Dao Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapp Database . dao () ĊĠĠĠ Ġ} ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide App Database (@ ApplicationContext Ġapp Context : ĠContext ): ĠApp DB Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRoom . database Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Context , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp DB :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" G MS DB " ĊĠĠĠĠĠĠĠ Ġ). allow MainThread Queries () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fallback To Dest ruct ive Migration () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} Ċ }