package Ġcom . s ah ar w . my music player . presentation . activities . main Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . os . Build Ċ import Ġandroid . util . Log Ċ import Ġcom . s ah ar w . my music player . R Ċ import Ġcom . s ah ar w . my music player . presentation . activities . main . d agger . D agger MainActivity Component Ċ import Ġcom . s ah ar w . my music player . presentation . activities . main . d agger . MainActivity Component Ċ import Ġcom . s ah ar w . my music player . presentation . base . Base Activity Ċ import Ġcom . s ah ar w . my music player . presentation . base . IP res enter Ċ import Ġcom . s ah ar w . my music player . presentation . fragments . albums . Fragment Album s Ċ import Ġcom . s ah ar w . my music player . presentation . fragments . artists . Fragment Art ists Ċ import Ġcom . s ah ar w . my music player . presentation . fragments . play lists . Fragment Play lists Ċ import Ġcom . t br uy elle . rx permissions 2 . Rx Permissions Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠMainActivity Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" MainActivity " ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġm Presenter Ġ: ĠIP res enter ĊĊĠĠĠ Ġoverride Ġfun Ġinit Activity () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" init Activity ") ĊĠĠĠĠĠĠĠ ĠD agger MainActivity Component . builder (). main Activity Module ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMainActivity Component . MainActivity Module ( this , ĠR . layout . fragment _ main , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Art ists . newInstance (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Album s . newInstance (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Play lists . newInstance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (). inject ( this ) ĊĠĠĠĠĠĠĠ Ġif ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" init Activity : Ġrunning Ġon Ġdevice Ġwith ĠSDK _ INT Ġ> Ġ${ Build . VERSION _ CODES . M } Ġ(${ Build . VERSION . SDK _ INT }), Ġrequesting Ġruntime Ġpermissions ...") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġrx Permissions Ġ= ĠRx Permissions ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrx Permissions ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. request ( Manifest . permission . READ _ EXTERNAL _ STORAGE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġgranted Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( gr anted ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" permission Ġgranted ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Presenter . on Presenter Create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" permission ĠNOT Ġgranted !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" onStart ") ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" on Resume ") ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġm Presenter . on Presenter Resume () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" on Pause ") ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġm Presenter . on Presenter Pause () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" on Destroy ") ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġm Presenter . on Presenter Destroy () ĊĠĠĠ Ġ} Ċ } Ċ