package Ġcom . rav n ner der y . data . di Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room . Room Ċ import Ġcom . rav n ner der y . data . database . Database Dao Ċ import Ġcom . rav n ner der y . data . database . Db Wrapper Ċ import Ġcom . rav n ner der y . data . database . Db Wrapper Impl Ċ import Ġcom . rav n ner der y . data . database . Messages Database Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . h ilt . Install In Ċ import Ġdagger . h ilt . android . qual ifiers . ApplicationContext Ċ import Ġdagger . h ilt . components . Singleton Component Ċ import Ġjavax . inject . Singleton Ċ Ċ private Ġconst Ġval ĠCH AT _ CH ALL EN GE _ DATABASE Ġ= Ġ" Chat _ challenge _ db " Ċ Ċ @ Install In ( Singleton Component :: class ) Ċ @ Module Ċ class ĠDatabase Module Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Database Dao ( articles Database : ĠMessages Database ): ĠDatabase Dao Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġarticles Database . database Dao () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Messages Database (@ ApplicationContext Ġapp Context : ĠContext ): ĠMessages Database Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRoom . database Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Context , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMessages Database :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCH AT _ CH ALL EN GE _ DATABASE ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fallback To Dest ruct ive Migration () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Db Wrapper ( ĊĠĠĠĠĠĠĠ Ġdb Wrapper Impl : ĠDb Wrapper Impl ĊĠĠĠ Ġ): ĠDb Wrapper Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdb Wrapper Impl ĊĠĠĠ Ġ} Ċ Ċ }