package Ġcom . mt jin . data . di Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room . Room Ċ import Ġcom . mt jin . data . db . Movie Dao Ċ import Ġcom . mt jin . data . db . Movie Database Ċ import Ġcom . mt jin . data . repository . login . local . Login Local DataSource Ċ import Ġcom . mt jin . data . repository . login . local . Login Local DataSource Impl Ċ import Ġcom . mt jin . data . repository . search . local . Movie Local DataSource Ċ import Ġcom . mt jin . data . repository . search . local . Movie Local DataSource Impl Ċ import Ġcom . mt jin . data . utils . Preference Manager Ċ 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 Ċ Ċ @ Install In ( Singleton Component :: class ) Ċ @ Module Ċ class ĠLocal Data Module Ġ{ ĊĊĠĠĠ Ġ// local Repo ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Login Local DataSource ( preference Manager : ĠPreference Manager ): ĠLogin Local DataSource Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLogin Local DataSource Impl ( preference Manager ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Movie Local DataSource ( movie Dao : ĠMovie Dao ): ĠMovie Local DataSource Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMovie Local DataSource Impl ( movie Dao ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// room ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Database (@ ApplicationContext Ġcontext : ĠContext ): ĠMovie Database Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRoom . database Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMovie Database :: class . java , Ġ" Movie . db " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. allow MainThread Queries () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Movie Dao ( movie Database : ĠMovie Database ): ĠMovie Dao Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmovie Database . movie Dao () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġshared Pref ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Preference Manager (@ ApplicationContext Ġcontext : ĠContext ): ĠPreference Manager Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPreference Manager ( context ) ĊĠĠĠ Ġ} Ċ Ċ }