package Ġbe . hog ent . fa ith . fa ith . di Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Build Ċ import Ġbe . hog ent . fa ith . fa ith . models . Tre asure Chest Ċ import Ġbe . hog ent . fa ith . fa ith . I UserRepository Ċ import Ġbe . hog ent . fa ith . fa ith . UserRepository Ċ import Ġbe . hog ent . fa ith . fa ith . User ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . back pack . Back pack Repository Ċ import Ġbe . hog ent . fa ith . fa ith . back pack . Back pack ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . cin ema . C in ema Create Video ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . cin ema . C in ema Overview ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . cin ema . C in ema Repository Ċ import Ġbe . hog ent . fa ith . fa ith . city Screen . City Screen Repository Ċ import Ġbe . hog ent . fa ith . fa ith . city Screen . City Screen ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . city Screen . IC ity Screen Repository Ċ import Ġbe . hog ent . fa ith . fa ith . details . Back pack Details MetaData ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . details . C in ema Details MetaData ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . details . Tre asure Chest Details MetaData ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . details . audio . Audio Detail Repository Ċ import Ġbe . hog ent . fa ith . fa ith . details . audio . Audio Detail ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . details . audio . I Audio Detail Repository Ċ import Ġbe . hog ent . fa ith . fa ith . details . drawing . create . Draw ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . details . drawing . create . Drawing Detail Repository Ċ import Ġbe . hog ent . fa ith . fa ith . details . drawing . create . Drawing Detail ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . details . drawing . create . ID raw ing Detail Repository Ċ import Ġbe . hog ent . fa ith . fa ith . details . drawing . create . draggable Images . Pre made Images Provider Ċ import Ġbe . hog ent . fa ith . fa ith . details . drawing . create . draggable Images . Pre made Images Provider From Resources Ċ import Ġbe . hog ent . fa ith . fa ith . details . drawing . view . View Drawing Detail ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . details . external File . External File ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . details . photo . create . Create Photo Repository Ċ import Ġbe . hog ent . fa ith . fa ith . details . photo . create . IC reate Photo Repository Ċ import Ġbe . hog ent . fa ith . fa ith . details . photo . create . Take Photo ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . details . photo . view . View Photo Detail ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . details . text . create . IT ext Detail Repository Ċ import Ġbe . hog ent . fa ith . fa ith . details . text . create . Text Detail Repository Ċ import Ġbe . hog ent . fa ith . fa ith . details . text . create . Text Detail ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . details . text . view . View Text Detail ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . details . video . view . View Video ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . details . youtube Video . create . Y outube Video Detail ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . detail sc ont ainer . ID et ails Container Repository Ċ import Ġbe . hog ent . fa ith . fa ith . di . K oin Modules . DRAW ING _ SCOPE _ NAME Ċ import Ġbe . hog ent . fa ith . fa ith . di . K oin Modules . USER _ SCOPE _ NAME Ċ import Ġbe . hog ent . fa ith . fa ith . emotion Capture . edit Detail . Edit Detail ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . emotion Capture . enter Event Details . Event ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . library . event Details . Event Details ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . library . event List . Event List ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . login Or Register . Auth Manager Ċ import Ġbe . hog ent . fa ith . fa ith . login Or Register . Firebase Auth Manager Ċ import Ġbe . hog ent . fa ith . fa ith . login Or Register . I Auth Manager Ċ import Ġbe . hog ent . fa ith . fa ith . login Or Register . Login User UseCase Ċ import Ġbe . hog ent . fa ith . fa ith . login Or Register . Welcome ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . login Or Register . register Avatar . Avatar Provider Ċ import Ġbe . hog ent . fa ith . fa ith . login Or Register . register Avatar . I Register Avatar Repository Ċ import Ġbe . hog ent . fa ith . fa ith . login Or Register . register Avatar . Register Avatar ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . login Or Register . register Avatar . Resource Avatar Provider Ċ import Ġbe . hog ent . fa ith . fa ith . models . Back pack Ċ import Ġbe . hog ent . fa ith . fa ith . models . C in ema Ċ import Ġbe . hog ent . fa ith . fa ith . models . Event Ċ import Ġbe . hog ent . fa ith . fa ith . models . User Ċ import Ġbe . hog ent . fa ith . fa ith . models . goals . Goal Ċ import Ġbe . hog ent . fa ith . fa ith . sky sc raper . goal . Goal ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . sky sc raper . start screen . Sky sc raper Overview ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . tre asure Chest . Tre asure Chest ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . util . Android TempFile Provider Ċ import Ġbe . hog ent . fa ith . fa ith . util . TempFile Provider Ċ import Ġbe . hog ent . fa ith . fa ith . vide op layer . Current Video ViewModel Ċ import Ġbe . hog ent . fa ith . fa ith . login Or Register . register Avatar . Register Avatar Repository Ċ import Ġbe . hog ent . fa ith . fa ith . tre asure Chest . Tre asure Chest Repository Ċ import Ġcom . auth 0 . android . Auth 0 Ċ import Ġcom . auth 0 . android . authentication . Authentication APIClient Ċ import Ġcom . auth 0 . android . authentication . storage . Secure Credentials Manager Ċ import Ġcom . auth 0 . android . authentication . storage . SharedPreferences Storage Ċ import Ġcom . google . firebase . auth . Firebase Auth Ċ import Ġio . reactivex . rx java 3 . android . schedul ers . Android Schedulers Ċ import Ġorg . k oin . android . ext . k oin . android Context Ċ import Ġorg . k oin . android . view model . dsl . viewModel Ċ import Ġorg . k oin . core . qual ifier . named Ċ import Ġorg . k oin . dsl . module Ċ Ċ object ĠK oin Modules Ġ{ ĊĠĠĠ Ġconst Ġval ĠUSER _ SCOPE _ NAME Ġ= Ġ" USER _ SCOPE _ NAME " ĊĠĠĠ Ġconst Ġval ĠUSER _ SCOPE _ ID Ġ= Ġ" USER _ SCOPE _ ID " ĊĊĠĠĠ Ġconst Ġval ĠD RAW ING _ SCOPE _ NAME Ġ= Ġ" DRAW ING _ SCOPE _ NAME " ĊĠĠĠ Ġconst Ġval ĠD RAW ING _ SCOPE _ ID Ġ= Ġ" DRAW ING _ SCOPE _ ID " Ċ } Ċ Ċ val Ġapp Module Ġ= Ġmodule ( override Ġ= Ġtrue ) Ġ{ ĊĊĠĠĠ Ġ// ĠOb serving Ġscheduler Ġfor Ġuse Ġcases ĊĠĠĠ Ġsingle Ġ{ ĠAndroid Schedulers . main Thread () Ġ} ĊĠĠĠ Ġsingle Ġ{ ĠAuth Manager ( get ()) Ġas ĠI Auth Manager Ġ} ĊĠĠĠ Ġsingle Ġ{ ĠFirebase Auth Manager ( construct Firebase Auth Instance ()) Ġ} ĊĠĠĠ Ġsingle < I UserRepository > Ġ{ ĠUser Repository ( construct Firebase Auth Instance ()) Ġ} ĊĠĠĠ Ġsingle < I Register Avatar Repository > Ġ{ ĠRegister Avatar Repository () Ġ} ĊĠĠĠ Ġsingle Ġ{ ĠBack pack Repository ( construct Firebase Auth Instance ()) Ġ} ĊĠĠĠ Ġsingle Ġ{ ĠC in ema Repository () Ġ} ĊĠĠĠ Ġsingle Ġ{ ĠTre asure Chest Repository () Ġ} ĊĠĠĠ Ġsingle < I Audio Detail Repository >{ ĠAudio Detail Repository () Ġ} ĊĠĠĠ Ġsingle < ID raw ing Detail Repository >{ ĠDraw ing Detail Repository () Ġ} ĊĠĠĠ Ġsingle < IC reate Photo Repository >{ ĠCreate Photo Repository () Ġ} ĊĠĠĠ Ġsingle < IT ext Detail Repository >{ ĠText Detail Repository () Ġ} ĊĠĠĠ Ġsingle { ĠCity Screen Repository ( construct Firebase Auth Instance ()) Ġ} ĊĠĠĠ Ġfactory Ġ{ ĠLogin User UseCase ( get (), Ġget ()) Ġ} ĊĊĊĠĠĠ Ġ// ĠView Models ĊĠĠĠ ĠviewModel Ġ{ ĠCity Screen ViewModel ( get ()) Ġ} ĊĠĠĠ ĠviewModel Ġ{ Ġ( event : ĠEvent ) Ġ-> ĠEvent ViewModel ( event ) Ġ} ĊĠĠĠ ĠviewModel Ġ{ Ġ( user : ĠUser ) Ġ-> ĠSky sc raper Overview ViewModel ( user ) Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠEvent ViewModel ( get ()) Ġ} ĊĠĠĠ ĠviewModel Ġ{ Ġ( back pack : ĠBack pack , Ġcontext : ĠContext ) Ġ-> ĊĠĠĠĠĠĠĠ ĠBack pack ViewModel ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġback pack Ġ= Ġback pack , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġback pack Repository Ġ= Ġget (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ ĠviewModel Ġ{ Ġ( tre asure che st : ĠTre asure Chest , Ġcontext : ĠContext ) Ġ-> ĊĠĠĠĠĠĠĠ ĠTre asure Chest ViewModel ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtre asure Chest Ġ= Ġtre asure che st , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtre asure Chest Repository Ġ= Ġget (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ ĠviewModel Ġ{ Ġ( cin ema : ĠC in ema , Ġcontext : ĠContext ) Ġ-> ĊĠĠĠĠĠĠĠ ĠC in ema Overview ViewModel ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcin ema Ġ= Ġcin ema , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcin ema Repository Ġ= Ġget (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠDraw ViewModel () Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠDraw ing Detail ViewModel ( get ()) Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠEdit Detail ViewModel () Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠText Detail ViewModel ( get ()) Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠRegister Avatar ViewModel ( get (), get ()) Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠWelcome ViewModel ( get ()) Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠAudio Detail ViewModel ( get (), get ()) Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠWelcome ViewModel ( get ()) Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠTake Photo ViewModel ( get ()) Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠY outube Video Detail ViewModel () Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠCurrent Video ViewModel () Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠExternal File ViewModel () Ġ} ĊĠĠĠ ĠviewModel Ġ{ Ġ( user : ĠUser ) Ġ-> ĠEvent List ViewModel ( user ) Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠEvent Details ViewModel () Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠView Photo Detail ViewModel () Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠView Drawing Detail ViewModel () Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠC in ema Create Video ViewModel () Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠC in ema Details MetaData ViewModel () Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠBack pack Details MetaData ViewModel () Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠTre asure Chest Details MetaData ViewModel () Ġ} ĊĠĠĠ ĠviewModel Ġ{ Ġ( goal : ĠGoal , Ġuser : ĠUser ) Ġ-> ĠGoal ViewModel ( goal , Ġuser ) Ġ} ĊĠĠĠ ĠviewModel Ġ{ ĠView Text Detail ViewModel ( get ()) Ġ} ĊĊĠĠĠ ĠviewModel Ġ{ ĠView Video ViewModel () Ġ} ĊĊĠĠĠ Ġ// ĠUser ViewModel Ġis Ġscoped Ġand Ġnot Ġjust Ġshared Ġbecause Ġit Ġis Ġused Ġover Ġmultiple Ġactivities . ĊĠĠĠ Ġ// ĠScope Ġis Ġopened Ġwhen Ġlogging Ġin Ġa Ġnew Ġuser Ġand Ġclosed Ġwhen Ġlogging Ġout . ĊĠĠĠ Ġscope ( named ( USER _ SCOPE _ NAME )) Ġ{ ĊĠĠĠĠĠĠĠ Ġscoped Ġ{ ĠUser ViewModel ( get ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠBoth Ġthe Ġnormal ĠDraw ing Fragment Ġand Ġthe ĠDraw Avatar Fragment Ġneed Ġa ĠDraw ViewModel . ĊĠĠĠ Ġ// ĠThe ĠDraw Avatar Fragment Ġuses Ġa Ġshared ĠVM Ġfrom Ġthe ĠEm otion Capt ury Activity Ġbecause ĊĠĠĠ Ġ// Ġthere 's Ġonly Ġone ĠEm otion Avatar Ġper ĠEm otion Capture . ĊĠĠĠ Ġ// ĠThe ĠDraw ing Fragment Ġshould Ġretain Ġits ĠVM Ġuntil Ġthe Ġdrawing Ġis Ġsaved ĊĠĠĠ Ġscope ( named ( DRAW ING _ SCOPE _ NAME )) Ġ{ ĊĠĠĠĠĠĠĠ Ġscoped Ġ{ ĠDraw ViewModel () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsingle Ġ{ ĠAndroid TempFile Provider ( android Context ()) Ġas ĠTemp File Provider Ġ} ĊĊĠĠĠ Ġsingle Ġ{ ĠResource Avatar Provider ( android Context ()) Ġas ĠAvatar Provider Ġ} ĊĊĠĠĠ Ġsingle Ġ{ ĠPre made Images Provider From Resources () Ġas ĠPre made Images Provider Ġ} ĊĊĠĠĠ Ġ// ĠDependency Ġinjection Ġfor Ġthe Ġlogin , Ġauthentication ĊĠĠĠ Ġsingle Ġ{ ĠAuth 0 ( android Context ()) Ġ} ĊĠĠĠ Ġsingle Ġ{ ĠAuthentication APIClient ( get () Ġas ĠAuth 0 ) Ġ} ĊĠĠĠ Ġ// ĠWe Ġare Ġusing ĠShared Prefs Ġto Ġstore Ġtokens , Ġin ĠPRIVATE Ġmode ĊĠĠĠ Ġsingle Ġ{ ĊĠĠĠĠĠĠĠ ĠSecure Credentials Manager ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġas ĠAuthentication APIClient , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġas ĠSharedPreferences Storage ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġsingle Ġ{ ĠSharedPreferences Storage ( android Context ()) Ġ} Ċ } Ċ fun Ġconstruct Firebase Auth Instance (): ĠFirebase Auth Ġ{ ĊĠĠĠ Ġreturn ĠFirebase Auth . getInstance () Ċ }