package Ġz lc . season . rx download . demo . list Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . annotation . Requires Api Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . t br uy elle . rx permissions 3 . Rx Permissions Ċ import Ġkotlinx . android . synt hetic . main . activity _ demo _ list .* Ċ import Ġkotlinx . android . synt hetic . main . demo _ list _ item .* Ċ import Ġz lc . season . rx download . demo . R Ċ import Ġz lc . season . rx download . demo . manager . Demo Manager Activity Ċ import Ġz lc . season . rx download . demo . utils . click Ċ import Ġz lc . season . rx download . demo . utils . load Ċ import Ġz lc . season . rx download . demo . utils . start Ċ import Ġz lc . season . y ash a . linear ĊĊ Ċ class ĠDemo List Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠdataSource Ġby Ġlazy Ġ{ ĠDemo List DataSource () Ġ} ĊĊĠĠĠ Ġval Ġrx Permissions Ġ= ĠRx Permissions ( this ) Ġ// Ġwhere Ġthis Ġis Ġan ĠActivity Ġor ĠFragment Ġinstance ĊĊĠĠĠ Ġ@ Requires Api ( Build . VERSION _ CODES . LO L LI POP ) ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ demo _ list ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĊĠĠĠĠĠĠĠ Ġrender List () ĊĠĠĠĠĠĠĠ Ġrx Permissions ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠManifest . permission . CAMERA , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠManifest . permission . READ _ PHONE _ STATE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġgranted : ĠBoolean Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( gr anted ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAll Ġrequested Ġpermissions Ġare Ġgranted ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAt Ġleast Ġone Ġpermission Ġis Ġdenied ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrx Permissions ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. request ( Manifest . permission . CAMERA ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġgranted Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( Companion . TAG , Ġ" onCreate : Ġ$ gr anted ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( gr anted ) Ġ{ Ġ// ĠAlways Ġtrue Ġpre - M ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠI Ġcan Ġcontrol Ġthe Ġcamera Ġnow ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠO ups Ġpermission Ġdenied ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġsuper . onCreate Options Menu ( menu ) ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . task _ manager , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ download _ manager Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart ( Demo Manager Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrender List () Ġ{ ĊĠĠĠĠĠĠĠ Ġre cycler _ view . linear ( dataSource ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrender Item < Demo ListItem > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres ( R . layout . demo _ list _ item ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Bind Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ name . text Ġ= Ġdata . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ size . text Ġ= Ġdata . size ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ icon . load ( data . icon ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn _ pause . click Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . action ( container View . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Attach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . subscribe ( btn _ pause , Ġcontainer View . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Detach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . dispose () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" wd n md " ĊĠĠĠ Ġ} Ċ } Ċ