package Ġcom . guru . compose cookbook . ui . home . custom fl ing Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . activity . Component Activity Ċ import Ġandroidx . activity . compose . setContent Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . material .* Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . filled . Arrow Back Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . platform . test Tag Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġcom . guru . compose cookbook . theme . Compose Cook Book Theme Ċ import Ġcom . guru . compose cookbook . ui . utils . Test Tags Ċ Ċ /** Ċ Ġ* ĠThis ĠActivity Ġrenders Ġthe ĠSettings Ġpage . Ċ Ġ* Ċ Ġ* Ġ@ author Ġhttps :// github . com / iam j ose ph mj Ċ Ġ*/ Ċ class ĠF ling List Settings Activity Ġ: ĠComponent Activity () Ġ{ ĊĊĠĠĠ Ġ// ĠDefault ĠLight / Dark Ġselection Ġfrom Ġprevious Ġactivity . ĊĠĠĠ Ġprivate Ġval Ġis Dark Theme : ĠBoolean Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġintent ?. getBoolean Extra ( DARK _ THEME , Ġfalse ) Ġ?: Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Content Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBase View ( is Dark Theme ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSettings Content ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠTo Ġhandle Ġon Back Pressed Ġin Ġthe Ġactivity , ĠThis Ġwill Ġredirect Ġthe Ġuser ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġto Ġthe Ġprevious Ġpage . ĠThe ĠPrevious Ġpage Ġwill Ġbe Ġlistening Ġto Ġthe Ġresult ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġfrom Ġthis Ġactivity . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish With Status ( Activity . RESULT _ C ANCE LED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠThis Ġis Ġthe Ġon Apply ĠClick Ġaction . ĠWith Ġthis Ġaction , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġall Ġthe Ġvalues Ġset Ġby Ġthe Ġuser Ġare Ġsaved . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish With Status ( Activity . RESULT _ OK ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfunction Ġstops Ġthe Ġactivity Ġwith Ġa Ġspecific Ġstatus . ĊĠĠĠĠ Ġ* Ġ@ param Ġstatus : ĠThis Ġcan Ġbe ĠActivity . RESULT _ OK Ġor ĠActivity . CANCEL ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġfinish With Status ( status : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Result ( status ) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠD ARK _ THEME Ġ= Ġ" dark Theme " ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠStarts Ġthe Ġ{@ see ĠF ling List Settings Activity } Ġwith Ġcurrent Ġtheme Ġas Ġ{@ see ĠIntent } Ġdata . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Intent ( context : ĠContext , Ġis Dark Theme : ĠBoolean ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( context , ĠF ling List Settings Activity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( DARK _ THEME , Ġis Dark Theme ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ @ Composable Ċ fun ĠSettings Content ( on back : Ġ() Ġ-> ĠUnit , Ġon Apply : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġ/* ĊĠĠĠ Ġ* ĠThis Ġis Ġdone Ġto Ġmatch Ġup Ġthe Ġdesign s Ġof Ġthe Ġpresent Ġpage Ġwith Ġthe Ġother Ġpages Ġof Ġthe ĠApp . ĊĠĠĠ Ġ*/ ĊĠĠĠ ĠScaffold ( ĊĠĠĠĠĠĠĠ Ġtop Bar Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTop AppBar ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColumn ( modifier Ġ= ĠModifier . padding ( 4 . dp )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠPresent ly ĠI Ġam Ġsetting Ġthe Ġheading Ġas Ġ` Settings `. ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġ@ g ur up reet , Ġplease Ġlet Ġme Ġknow ĠIf ĠI Ġneed Ġto Ġchange Ġthis . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" Settings ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . test Tag ( Test Tags . HOME _ FL ING _ SETTINGS _ ROOT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelevation Ġ= Ġ 8 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigation Icon Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon Button ( onClick Ġ= Ġon back ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( Icons . Filled . Arrow Back , Ġcontent Description Ġ= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġcontent Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRender Settings Page ( on Apply ) ĊĠĠĠĠĠĠĠ Ġ}) Ċ } ĊĊ Ċ @ Composable Ċ private Ġfun ĠBase View ( is Dark Theme : ĠBoolean , Ġcontent : Ġ@ Composable () Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ ĠCompose Cook Book Theme ( is Dark Theme ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontent () ĊĠĠĠ Ġ} Ċ }