package Ġcom . github . bed 7 2 . bed hub . di Ċ Ċ import Ġandroid . app . Application Ċ import Ġcom . github . bed 7 2 . bed hub . data . auth . Auth DataSource Ċ import Ġcom . github . bed 7 2 . bed hub . data . auth . Auth Repository Ċ import Ġcom . github . bed 7 2 . bed hub . data . auth . Remote Auth DataSource Ċ import Ġcom . github . bed 7 2 . bed hub . data . collabor ators . Collabor ators DataSource Ċ import Ġcom . github . bed 7 2 . bed hub . data . collabor ators . Collabor ators Repository Ċ import Ġcom . github . bed 7 2 . bed hub . data . collabor ators . Remote Collabor ators DataSource Ċ import Ġcom . github . bed 7 2 . bed hub . data . error . General ErrorHandler Implements Ċ import Ġcom . github . bed 7 2 . bed hub . data . repositories . Remote Repositories DataSource Ċ import Ġcom . github . bed 7 2 . bed hub . data . repositories . Repositories DataSource Ċ import Ġcom . github . bed 7 2 . bed hub . data . repositories . Repositories Repository Ċ import Ġcom . github . bed 7 2 . bed hub . domain . ErrorHandler Ċ import Ġcom . github . bed 7 2 . bed hub . domain . use cases . auth . Auth Implements UseCase Ċ import Ġcom . github . bed 7 2 . bed hub . domain . use cases . auth . Auth UseCase Ċ import Ġcom . github . bed 7 2 . bed hub . domain . use cases . collabor ators . Collabor ators Implements UseCase Ċ import Ġcom . github . bed 7 2 . bed hub . domain . use cases . collabor ators . Collabor ators UseCase Ċ import Ġcom . github . bed 7 2 . bed hub . domain . use cases . repositories . Repositories Implements UseCase Ċ import Ġcom . github . bed 7 2 . bed hub . domain . use cases . repositories . Repositories UseCase Ċ import Ġcom . github . bed 7 2 . bed hub . infrastructure . adapters . GitHub Adapter Ċ import Ġcom . github . bed 7 2 . bed hub . presentation . ui . auth . Auth ViewModel Ċ import Ġcom . github . bed 7 2 . bed hub . presentation . ui . home . Home ViewModel Ċ import Ġorg . k oin . android . ext . k oin . android Application Ċ import Ġorg . k oin . android x . view model . dsl . viewModel Ċ import Ġorg . k oin . dsl . module Ċ Ċ private Ġconst Ġval ĠSHARE D _ PREFER ENCE _ NAME Ġ= Ġ" git _ hub _ key " Ċ Ċ val Ġauth Module Ġ= Ġmodule Ġ{ ĊĠĠĠ Ġsingle < ErrorHandler > Ġ{ ĊĠĠĠĠĠĠĠ ĠGeneral ErrorHandler Implements () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsingle Ġ{ ĠGitHub Adapter . git Hub Api Ġ} ĊĊĠĠĠ Ġsingle < Auth DataSource > Ġ{ ĊĠĠĠĠĠĠĠ ĠRemote Auth DataSource ( error Handler Ġ= Ġget (), Ġgit Hub ApiClient Ġ= Ġget ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġsingle Ġ{ ĠAuth Repository ( dataSource Ġ= Ġget ()) Ġ} ĊĠĠĠ Ġsingle < Auth UseCase > Ġ{ ĊĠĠĠĠĠĠĠ ĠAuth Implements UseCase ( error Handler Ġ= Ġget (), Ġauth Repository Ġ= Ġget ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsingle Ġ{ Ġprovide Shared Pref ( android Application ()) Ġ} ĊĊĠĠĠ ĠviewModel Ġ{ ĊĠĠĠĠĠĠĠ ĠAuth ViewModel ( shared Preferences Ġ= Ġget (), Ġauth UseCase Ġ= Ġget ()) ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġhome Module Ġ= Ġmodule Ġ{ ĊĠĠĠ Ġsingle < ErrorHandler > Ġ{ ĊĠĠĠĠĠĠĠ ĠGeneral ErrorHandler Implements () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsingle Ġ{ ĠGitHub Adapter . git Hub Api Ġ} ĊĊĠĠĠ Ġ// ĠRe pos ĊĠĠĠ Ġsingle < Repositories DataSource > Ġ{ ĊĠĠĠĠĠĠĠ ĠRemote Repositories DataSource ( error Handler Ġ= Ġget (), Ġgit Hub ApiClient Ġ= Ġget ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġsingle Ġ{ ĠRe positories Repository ( dataSource Ġ= Ġget ()) Ġ} ĊĠĠĠ Ġsingle < Repositories UseCase > Ġ{ ĊĠĠĠĠĠĠĠ ĠRe positories Implements UseCase ( error Handler Ġ= Ġget (), Ġrepositories Repository Ġ= Ġget ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠCol labs ĊĠĠĠ Ġsingle < Collabor ators DataSource > Ġ{ ĊĠĠĠĠĠĠĠ ĠRemote Collabor ators DataSource ( error Handler Ġ= Ġget (), Ġgit Hub ApiClient Ġ= Ġget ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġsingle Ġ{ ĠCol labor ators Repository ( dataSource Ġ= Ġget ()) Ġ} ĊĠĠĠ Ġsingle < Collabor ators UseCase > Ġ{ ĊĠĠĠĠĠĠĠ ĠCol labor ators Implements UseCase ( error Handler Ġ= Ġget (), Ġcollabor ators Repository Ġ= Ġget ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsingle Ġ{ Ġprovide Shared Pref ( android Application ()) Ġ} ĊĊĠĠĠ ĠviewModel Ġ{ ĊĠĠĠĠĠĠĠ ĠHome ViewModel ( shared Preferences Ġ= Ġget (), Ġrepositories UseCase Ġ= Ġget (), Ġcollabor ators UseCase Ġ= Ġget ()) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġprovide Shared Pref ( app : ĠApplication ) Ġ= ĊĠĠĠĠ Ġapp . application Context . get SharedPreferences ( ĊĠĠĠĠĠĠĠ ĠSHARE D _ PREFER ENCE _ NAME , ĊĠĠĠĠĠĠĠĠ 0 ĊĠĠĠ Ġ)