package Ġinfo . mars ic . kotlin plate . ui . base Ċ Ċ import Ġandroid . annotation . Target Api Ċ import Ġandroid . app . Progress Dialog Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . annotation . Layout Res Ċ import Ġandroid . support . design . widget . Snackbar Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 4 . app . Fragment Transaction Ċ import Ġandroid . support . v 4 . content . Context Compat Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . widget . TextView Ċ import Ġinfo . mars ic . kotlin plate . R Ċ import Ġinfo . mars ic . kotlin plate . app . Kotlin Plate App Ċ import Ġinfo . mars ic . kotlin plate . di . component . Activity Component Ċ import Ġinfo . mars ic . kotlin plate . di . component . D agger Activity Component Ċ import Ġinfo . mars ic . kotlin plate . di . module . Activity Module Ċ import Ġinfo . mars ic . kotlin plate . ui . login . Login Activity Ċ import Ġinfo . mars ic . kotlin plate . utils . show Transparent Loading Dialog Ċ Ċ abstract Ġclass ĠBase Activity Ġ: ĠAppCompatActivity (), ĠM vp View , ĠBase Fragment . Callback Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġprogress Dialog : ĠProgress Dialog ĊĊĠĠĠ Ġlateinit Ġvar Ġactivity Component : ĠActivity Component ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġ@ get : Layout Res ĊĠĠĠ Ġprotected Ġabstract Ġval Ġlayout Resource : ĠInt ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( layout Resource ) ĊĊĠĠĠĠĠĠĠ Ġactivity Component Ġ= ĠD agger Activity Component . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. activity Module ( Activity Module ( this )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. application Component (( application Ġas ĠKotlin Plate App ). component ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Target Api ( Build . VERSION _ CODES . M ) ĊĠĠĠ Ġfun Ġrequest Permissions S af ely ( permissions : ĠArray < String >, Ġrequest Code : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Permissions ( permissions , Ġrequest Code ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Target Api ( Build . VERSION _ CODES . M ) ĊĠĠĠ Ġfun Ġhas Permission ( permission : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBuild . VERSION . SDK _ INT Ġ< ĠBuild . VERSION _ CODES . M Ġ|| Ġcheck Self Permission ( permission ) Ġ== ĠPackage Manager . PERMISSION _ GRAN TED ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġhide Loading () ĊĠĠĠĠĠĠĠ Ġprogress Dialog Ġ= Ġshow Transparent Loading Dialog () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( progress Dialog . is Showing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog . cancel () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonError ( message : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmsg Text Ġ= Ġmessage Ġ?: ĠgetString ( R . string . error _ general _ title ) ĊĠĠĠĠĠĠĠ Ġshow Sn ackBar ( msg Text ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Sn ackBar ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsn ackbar Ġ= ĠSn ackbar . make ( findViewById ( android . R . id . content ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage , ĠSn ackbar . LENGTH _ SHORT ) ĊĠĠĠĠĠĠĠ Ġval Ġsb View Ġ= Ġsn ackbar . view ĊĠĠĠĠĠĠĠ Ġval ĠtextView Ġ= Ġsb View ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. findViewById ( android . support . design . R . id . sn ackbar _ text ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ ĠtextView . setTextColor ( Context Compat . getColor ( this , Ġandroid . R . color . white )) ĊĠĠĠĠĠĠĠ Ġsn ackbar . show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Fragment Attached () Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġon Fragment Detached ( tag : ĠString ) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġopen Activity On Token Expire () Ġ{ ĊĠĠĠĠĠĠĠ ĠLogin Activity . start ( this ) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġactive Fragment : ĠFragment ? ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Manager Ġ= Ġsupport FragmentManager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( fragment Manager . back Stack Entry Count Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtag Ġ= Ġfragment Manager ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Back Stack Entry At ( fragment Manager . back Stack Entry Count Ġ- Ġ 1 ). name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment Manager . find Fragment By Tag ( tag ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġabstract Ġfun Ġsetup Views () ĊĊĠĠĠ Ġprotected Ġfun Ġreplace Fragment ( fragment Container : ĠInt , Ġfragment : ĠFragment , ĠaddTo Back Stack : ĠBoolean Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfragment Tag Ġ= Ġfragment . java Class . name ĊĊĠĠĠĠĠĠĠ Ġval Ġfragment Transaction Ġ= Ġsupport FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠ Ġfragment Transaction . replace ( fragment Container , Ġfragment , Ġfragment Tag ) ĊĠĠĠĠĠĠĠ Ġfragment Transaction . set Transition ( Fragment Transaction . TRANS IT _ FRAGMENT _ FA DE ) ĊĠĠĠĠĠĠĠ Ġif Ġ( addTo Back Stack ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Transaction . addTo Back Stack ( fragment . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfragment Transaction . commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġfind Fragment By Tag ( tag : ĠString ): ĠFragment Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsupport FragmentManager ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. find Fragment By Tag ( tag ) ĊĠĠĠ Ġ} Ċ } Ċ