package Ġro . dob re sc u and rei . dob d roid misc utils Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Environment Ċ import Ġandroid . os . Handler Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . input method . Editor Info Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġokhttp 3 . ResponseBody Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ import Ġro . dob re sc u and rei . utils .* Ċ import Ġjava . io . File Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ċ { ĊĠĠĠ Ġval Ġpermissions Handler Ġ= ĠPermissions Handler () ĊĊĠĠĠ Ġfun Ġfind Files In ( directory Ġ: ĠFile ) Ġ: ĠList < File > Ġ= Ġyield ListOf < File > Ġ{ ĊĠĠĠĠĠĠĠ Ġdirectory . list Files ()?. forEach Ġ{ Ġfile Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( file . isDirectory ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġyield All ( find Files In ( directory Ġ= Ġfile )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġyield ( file ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġtoolbar . title =" Title " ĊĠĠĠĠĠĠĠ Ġtoolbar . subtitle =" Subtitle " Ċ // ĠĠĠĠĠĠĠ Ġtoolbar . setup Back Icon () ĊĊĠĠĠĠĠĠĠ Ġtoolbar . set Menu ( R . menu . menu _ main ) ĊĠĠĠĠĠĠĠ Ġtoolbar [ R . id . add ] Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" a ", Ġ" add Ġlogic ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtoolbar . setup H amburger Menu () ĊĠĠĠĠĠĠĠ Ġtoolbar . setOn H amburger Menu Clicked Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" a ", Ġ" toggle Ġdrawer ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠScreen Size . init ( with Context Ġ= Ġthis ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Screen Size . width < Screen Size . height ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Screen Size . density >= 2 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" a ", Ġ" a ") ĊĊĠĠĠĠĠĠĠ Ġpermissions Handler . ask For ( array Of ( Manifest . permission . WRITE _ EXTERNAL _ STORAGE )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. on Granted Ġ{ ĠLog . e (" a ", Ġ" Y AY ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. on Denied Ġ{ ĠLog . e (" a ", Ġ" NA Y ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Context ( context Ġ= Ġthis ) ĊĊĠĠĠĠĠĠĠ ĠHandler (). post Delayed ({ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKeyboard . open ( on Ġ= Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHandler (). post Delayed ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKeyboard . close ( on Ġ= Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġ}, Ġ 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġedit Text . setOn TextChanged Listener Ġ{ Ġnew Text Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" a ", Ġnew Text ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġedit Text . setOn Editor ActionListener Ġ{ Ġaction Id Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( action Id == Editor Info . IME _ ACTION _ DONE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" a ", Ġ" enter Ġpressed ") ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ // ĠĠĠĠĠĠĠ Ġval Ġview Pager = ViewPager ( this ) Ċ // ĠĠĠĠĠĠĠ Ġview Pager . setOn Page Changed Listener Ġ{ Ġpage Ġ-> Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" a ", Ġ" You 're Ġon Ġpage Ġ$ page ") Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval Ġbottom Navigation View = Bottom Navigation View ( this ) Ċ // ĠĠĠĠĠĠĠ Ġbottom Navigation View . setup With ViewPager ( view Pager ) Ċ // ĠĠĠĠĠĠĠ Ġbottom Navigation View . setup With ViewPager ( view Pager , Ġinitial Tab Ġ= Ġ 0 ) ĊĊĠĠĠĠĠĠĠ ĠApi Client . Instance . download Pdf (). enqueue ( object Ġ: ĠCallback < ResponseBody > ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < ResponseBody >, Ġt : ĠThrowable ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" a ", Ġ" fail ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < ResponseBody >, Ġresponse : ĠResponse < ResponseBody >) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRet rofit Utils . download File ( response . body () !! , Ġoutput Path Ġ= ĠApp FileManager . get Sample FilePath ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" a ", Ġ" success ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcatch Ġ( ex Ġ: ĠException ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" a ", Ġ" fail ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠApi Client . Instance . upload Pdf ( Ret rofit Utils . file Upload ( context Ġ= Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= ĠApp FileManager . get Sample FilePath ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. enqueue ( object Ġ: ĠCallback < Unit ?> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Unit ? >, Ġt : ĠThrowable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" a ", Ġ" fail ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < Unit ? >, Ġresponse : ĠResponse < Unit ?> ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" a ", Ġ" success ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġval Ġfiles = find Files In ( directory Ġ= ĠFile ( Environment . get External Storage Directory (). absolute Path )) ĊĠĠĠĠĠĠĠ Ġfor Ġ( file Ġin Ġfiles ) Ġprintln ( file ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlist = listOf ( 1 , Ġ 2 , Ġ 3 , Ġnull , Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġval Ġset = list . map To Set Ġ{ Ġit Ġ} Ġ// set Of ( 1 , 2 , 3 ) ĊĠĠĠĠĠĠĠ Ġprintln ( set ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Request Permissions Result ( request Code : ĠInt , Ġpermissions : ĠArray < out ĠString >, Ġgrant Results : ĠInt Array ) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Request Permissions Result ( request Code , Ġpermissions , Ġgrant Results ) ĊĠĠĠĠĠĠĠ Ġpermissions Handler . on Request Permissions Result ( request Code , Ġpermissions , Ġgrant Results ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġtoolbar . onCreate Options Menu ( menu Inflater , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . onCreate Options Menu ( menu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ?) Ġ: ĠBoolean ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġtoolbar . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} Ċ } Ċ