package Ġcom . orbit al sonic . base project Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . content . Context Ċ import Ġandroid . net . Connectivity Manager Ċ import Ġandroidx . appcompat . app . AppCompat Delegate Ċ import Ġcom . orbit al sonic . base project . helpers . utils . Internet Handler Ċ import Ġcom . orbit al sonic . base project . helpers . utils . Shared Prefs Utils Ċ import Ġorg . k oin . android . ext . k oin . android Context Ċ import Ġorg . k oin . core . context . start K oin Ċ import Ġorg . k oin . dsl . module Ċ Ċ class ĠMain Application : Application () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġapplication Instance : ĠContext ? Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĠĠĠĠĠĠĠ ĠAppCompat Delegate . setDefault Night Mode ( AppCompat Delegate . MODE _ N IGHT _ NO ) ĊĊĠĠĠĠĠĠĠ Ġapplication Instance Ġ= Ġapplication Context ĊĊĠĠĠĠĠĠĠ Ġstart K oin { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Context ( this @ Main Application ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodules ( listOf ( app Module )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġapp Module Ġ= Ġmodule { ĊĊĠĠĠĠĠĠĠ Ġsingle Ġ{ ĠShared Prefs Utils ( get SharedPreferences (" App Shared Prefs ", ĠMODE _ PRIVATE )) Ġ} ĊĠĠĠĠĠĠĠ Ġsingle Ġ{ ĠInternet Handler ( Ġget System Service ( CONNECT IVITY _ SERVICE ) Ġas ĠConnect ivity Manager ) Ġ} ĊĠĠĠ Ġ} Ċ Ċ // ĠĠĠ Ġprivate Ġval ĠviewModel Module Ġ= Ġmodule { Ċ // ĠĠĠĠĠĠĠ Ġsingle Ġ{ ĠHome ViewModel () Ġ} Ċ // ĠĠĠ Ġ} Ċ Ċ // Ċ // ĠĠĠ Ġprivate Ġval Ġdb Module Ġ= Ġmodule Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġsingle Ġ{ Ġdatabase . translator Dao () Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠ Ġsingle Ġ{ ĠTrans lator Repository ( get ()) Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠ Ġsingle Ġ{ ĠTrans lator ViewModel ( get ()) Ġ} Ċ // ĠĠĠ Ġ} Ċ Ċ }