/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 Ġstan wood ĠG mb h Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġio . stan wood . bit rise . di Ċ Ċ import Ġandroid . preference . Preference Manager Ċ import Ġandroidx . navigation . Navigation Ċ import Ġcom . google . gson . Gson Builder Ċ import Ġcom . jak ew h art on . ret rofit 2 . adapter . kotlin . coroutines . Coroutine Call Adapter Factory Ċ import Ġio . stan wood . bit rise . Build Config Ċ import Ġio . stan wood . bit rise . R Ċ import Ġio . stan wood . bit rise . data . net . Bit rise Service Ċ import Ġio . stan wood . bit rise . util . Sn acker Ċ import Ġio . stan wood . bit rise . util . gson . Gson DateFormat Adapter Ċ import Ġkotlinx . coroutines . Main Scope Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ import Ġorg . k oin . android . ext . k oin . android Application Ċ import Ġorg . k oin . dsl . module . module Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġjava . util . Date Ċ Ċ val Ġapplication Module Ġ= Ġmodule Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGson ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsingle Ġ{ ĊĠĠĠĠĠĠĠ ĠGson Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. register Type Adapter ( Date :: class . java , ĠGson DateFormat Adapter ( Build Config . API _ DATE _ TIME _ FORMAT )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOk HttpClient ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsingle Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinterceptor Ġ= ĠHttp Logging Interceptor () ĊĠĠĠĠĠĠĠ Ġinterceptor . level Ġ= ĠHttp Logging Interceptor . Level . BODY ĊĠĠĠĠĠĠĠ ĠOk HttpClient ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( interceptor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRet rofit ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsingle Ġ{ ĊĠĠĠĠĠĠĠ ĠRet rofit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( Build Config . BIT RI SE _ API _ BASE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( get ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Coroutine Call Adapter Factory ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ( get ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠBit rise Service ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsingle Ġ{ Ġget < Ret rofit >(). create ( Bit rise Service :: class . java ) Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠC icer one ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsingle Ġ{ ĠNavigation . find Nav Controller ( getProperty ( Properties . ACTIVITY ), ĠR . id . root ) Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSharedPreferences ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsingle Ġ{ ĠPreference Manager . getDefault SharedPreferences ( android Application ()) Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSn acker ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsingle Ġ{ ĊĠĠĠĠĠĠĠ ĠSn acker ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity Ġ= ĠgetProperty ( Properties . ACTIVITY ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Res Id Ġ= ĠR . id . root ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠCor outine Ġscope Ġwhich Ġoper ates Ġon Ġthe Ġmain Ġthread ĊĠĠĠ Ġsingle (" main ") Ġ{ ĠMain Scope () Ġ} Ċ } Ċ