package Ġcom . jt . gallery Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . view . View Ċ import Ġandroid . view . WindowManager . LayoutParams . BR IGHT NESS _ OVERRIDE _ FULL Ċ import Ġkotlinx . android . synt hetic . main . activity _ gallery .* Ċ import Ġkotlin . collections . ArrayList Ċ Ċ private Ġconst Ġval ĠP AGER _ OFF SCREEN _ LIMIT Ġ= Ġ 1 0 Ċ Ċ private Ġconst Ġval ĠPOSITION Ġ= Ġ" position " Ċ private Ġconst Ġval ĠFULL _ BR IGHT NESS Ġ= Ġ" full Brightness " Ċ private Ġconst Ġval ĠALLOW _ DELETE Ġ= Ġ" allow Delete " Ċ Ċ class ĠGallery Activity Ġ: ĠAppCompatActivity (), ĠFull Screen View Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠIMAGE _ LIST Ġ= Ġ" image List " ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠĠĠĠĠ Ġfun Ġnew Intent ( context : ĠContext , Ġimage List : ĠList < String >, Ġcurrent Image : ĠInt Ġ= Ġ 0 , Ġuse Full Brightness : ĠBoolean Ġ= Ġfalse , Ġallow Delete : ĠBoolean Ġ= Ġfalse ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( context , ĠGallery Activity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( IMAGE _ LIST , ĠArrayList ( image List )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( POSITION , Ġcurrent Image ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( FULL _ BR IGHT NESS , Ġuse Full Brightness ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( ALLOW _ DELETE , Ġallow Delete ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġimage List : ĠArrayList < String > ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Theme ( R . style . FullScreen Imm ers ive ) ĊĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ gallery ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcurrent Image : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġadjust Brightness Ġ= Ġintent . getBoolean Extra ( FULL _ BR IGHT NESS , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġallow Delete Ġ= Ġintent . getBoolean Extra ( ALLOW _ DELETE , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( savedInstanceState Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage List Ġ= ĠsavedInstanceState . getString ArrayList ( IMAGE _ LIST ) Ġ?: Ġarray ListOf () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Image Ġ= ĠsavedInstanceState . getInt ( POSITION ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage List Ġ= Ġintent . getString ArrayList Extra ( IMAGE _ LIST ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Image Ġ= Ġintent . getInt Extra ( POSITION , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġgallery Adapter Ġ= ĠGallery Adapter ( this , Ġimage List , Ġallow Delete ) ĊĊĠĠĠĠĠĠĠ Ġgallery ViewPager . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoff screen Page Limit Ġ= ĠP AGER _ OFF SCREEN _ LIMIT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġgallery Adapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Item Ġ= Ġcurrent Image ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( adjust Brightness ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Screen Brightness To ( BR IGHT NESS _ OVERRIDE _ FULL ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( out State : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( out State ) ĊĠĠĠĠĠĠĠ Ġout State ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ArrayList ( IMAGE _ LIST , Ġimage List ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( POSITION , Ġgallery ViewPager . currentItem ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Window Focus Changed ( has Focus : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠEnsure Ġthat Ġwe Ġcome Ġout Ġof Ġimm ers ive Ġview Ġif Ġthe Ġactivity Ġno Ġlonger Ġhas Ġfocus ĊĠĠĠĠĠĠĠ Ġif Ġ(! has Focus ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow System UI () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow System UI () Ġ{ ĊĠĠĠĠĠĠĠ Ġwindow . decor View . system Ui Visibility Ġ= Ġ( View . SYSTEM _ UI _ FLAG _ LAYOUT _ ST ABLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġor ĠView . SYSTEM _ UI _ FLAG _ LAYOUT _ HIDE _ NAV IG ATION ĊĠĠĠĠĠĠĠĠĠĠĠ Ġor ĠView . SYSTEM _ UI _ FLAG _ LAYOUT _ FULL SCREEN ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide System UI () Ġ{ ĊĠĠĠĠĠĠĠ Ġwindow . decor View . system Ui Visibility Ġ= Ġ( View . SYSTEM _ UI _ FLAG _ LAYOUT _ ST ABLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġor ĠView . SYSTEM _ UI _ FLAG _ LAYOUT _ HIDE _ NAV IG ATION ĊĠĠĠĠĠĠĠĠĠĠĠ Ġor ĠView . SYSTEM _ UI _ FLAG _ LAYOUT _ FULL SCREEN ĊĠĠĠĠĠĠĠĠĠĠĠ Ġor ĠView . SYSTEM _ UI _ FLAG _ HIDE _ NAV IG ATION ĊĠĠĠĠĠĠĠĠĠĠĠ Ġor ĠView . SYSTEM _ UI _ FLAG _ FULL SCREEN ĊĠĠĠĠĠĠĠĠĠĠĠ Ġor ĠView . SYSTEM _ UI _ FLAG _ IM MER SIVE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Navigation Visible (): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġwindow . decor View . system Ui Visibility Ġand ĠView . SYSTEM _ UI _ FLAG _ HIDE _ NAV IG ATION Ġ== Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Result ( RESULT _ OK , ĠIntent (). putString ArrayList Extra ( IMAGE _ LIST , Ġimage List )) ĊĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Screen Brightness To ( brightness : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlp Ġ= Ġwindow . attributes ĊĠĠĠĠĠĠĠ Ġif Ġ( lp . screen Brightness Ġ== Ġbrightness ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlp . screen Brightness Ġ= Ġbrightness ĊĠĠĠĠĠĠĠ Ġwindow . attributes Ġ= Ġlp ĊĠĠĠ Ġ} Ċ } Ċ