package Ġcom . example . mov ied b . di Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room . Room Ċ import Ġcom . example . mov ied b . data . local . db . App Database Ċ import Ġcom . example . mov ied b . data . local . pref . App Prefs Ċ import Ġcom . example . mov ied b . data . local . pref . Pref Helper Ċ import Ġcom . example . mov ied b . data . repository . Movie Repository Ċ import Ġcom . example . mov ied b . data . repository . Movie Repository Impl Ċ import Ġcom . example . mov ied b . utils . Constants Ċ import Ġorg . k oin . dsl . module . module Ċ import Ġorg . k oin . experimental . builder . create Ċ Ċ val Ġrepository Module Ġ= Ġmodule Ġ{ ĊĠĠĠ Ġsingle Ġ{ Ġcreate App Database ( get (), Ġget ()) Ġ} ĊĠĠĠ Ġsingle < Pref Helper > Ġ{ Ġcreate < App Prefs >() Ġ} ĊĠĠĠ Ġsingle < Movie Repository > Ġ{ Ġcreate < Movie Repository Impl >() Ġ} ĊĠĠĠ Ġsingle Ġ{ Ġcreate Database Name () Ġ} ĊĠĠĠ Ġsingle Ġ{ Ġcreate Movie Dao ( get ()) Ġ} Ċ } Ċ Ċ fun Ġcreate App Database ( context : ĠContext , Ġdb Name : ĠString ) Ġ= ĊĠĠĠ ĠRoom . database Builder ( context , ĠApp Database :: class . java , Ġdb Name ). build () Ċ Ċ fun Ġcreate Database Name () Ġ= ĠConstants . DATABASE _ NAME Ċ Ċ fun Ġcreate Movie Dao ( app Database : ĠApp Database ) Ġ= Ġapp Database . movie Dao () Ċ