package Ġcom . f aren as . challenge ml . di Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . room . Room Ċ import Ġcom . f aren as . challenge ml . data . db . Address Dao Ċ import Ġcom . f aren as . challenge ml . data . db . AppData Base Ċ import Ġcom . f aren as . challenge ml . data . db . Attribute Dao Ċ import Ġcom . f aren as . challenge ml . data . db . Product Dao Ċ import Ġcom . f aren as . challenge ml . utils . Constants Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . h ilt . Install In Ċ import Ġdagger . h ilt . components . Singleton Component Ċ import Ġjavax . inject . Singleton ĊĊ Ċ @ Module Ċ @ Install In ( Singleton Component :: class ) Ċ class ĠData Base Module Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide AppData Base ( application : ĠApplication ): ĠApp Data Base Ġ= ĊĠĠĠĠĠĠĠ ĠRoom . database Builder ( application , ĠApp Data Base :: class . java , ĠConstants . DATABASE _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fallback To Dest ruct ive Migration () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Product Dao ( app Data Base : ĠApp Data Base ): ĠProduct Dao Ġ= Ġapp Data Base . product Dao () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Address Dao ( app Data Base : ĠApp Data Base ): ĠAddress Dao Ġ= Ġapp Data Base . address Dao () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Attribute Dao ( app Data Base : ĠApp Data Base ): ĠAttribute Dao Ġ= Ġapp Data Base . att i but e Dao () Ċ } Ċ