package Ġorg . ire ader . settings . setting Ċ Ċ import Ġandroidx . annotation . String Res Ċ import Ġandroidx . compose . foundation . layout . Padding Values Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . foundation . lazy . Lazy Column Ċ import Ġandroidx . compose . foundation . lazy . remember Lazy List State Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . filled . Download Ċ import Ġandroidx . compose . material . icons . filled . Help Ċ import Ġandroidx . compose . material . icons . filled . Info Ċ import Ġandroidx . compose . material . icons . filled . Label Ċ import Ġandroidx . compose . material . icons . filled . Settings Ċ import Ġandroidx . compose . material . icons . filled . Settings Backup Restore Ċ import Ġandroidx . compose . material 3 . Experimental Material 3 Api Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . graphics . vector . Image Vector Ċ import Ġandroidx . compose . ui . res . p ainter Resource Ċ import Ġandroidx . compose . ui . res . string Resource Ċ import Ġdagger . h ilt . android . lifecycle . H ilt ViewModel Ċ import Ġorg . ire ader . components . components . Logo Header Ċ import Ġorg . ire ader . components . components . component . Divider Ċ import Ġorg . ire ader . components . components . component . Preference Row Ċ import Ġorg . ire ader . components . components . component . Switch Preference Ċ import Ġorg . ire ader . core _ ui . preferences . Ui Preferences Ċ import Ġorg . ire ader . core _ ui . view model . Base ViewModel Ċ import Ġorg . ire ader . ui _ settings . R Ċ import Ġjavax . inject . Inject Ċ Ċ @ Opt In ( Experimental Material 3 Api :: class ) Ċ @ Composable Ċ fun ĠMore Screen ( ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , ĊĠĠĠ Ġvm : ĠMain Setting Screen ViewModel , ĊĠĠĠ Ġon Download Screen : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġon Appearance Screen : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġon Backup Screen : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġon Category : () Ġ-> ĠUnit , ĊĠĠĠ Ġon Settings : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġon About : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġon Help : Ġ() Ġ-> ĠUnit , Ċ ) Ġ{ ĊĊĠĠĠ ĠLazy Column ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier , ĊĠĠĠĠĠĠĠ Ġstate Ġ= Ġremember Lazy List State () ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLogo Header () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSwitch Preference ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Ġ= Ġvm . in cognito Mode , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġstring Resource ( R . string . pref _ in cognito _ mode ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubtitle Ġ= Ġstring Resource ( R . string . pref _ in cognito _ mode _ summary ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpainter Ġ= Ġpainter Resource ( R . drawable . ic _ gl asses _ 2 4 dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDiv ider () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPreference Row ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ Ġstring Resource ( id Ġ= R . string . download Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= ĠIcons . Default . Download , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġon Download Screen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPreference Row ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġstring Resource ( id Ġ= ĠR . string . backup _ and _ restore ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= ĠIcons . Default . Settings Backup Restore , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġon Backup Screen , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPreference Row ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġstring Resource ( id Ġ= ĠR . string . category ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= ĠIcons . Default . Label , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġon Category , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDiv ider () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPreference Row ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġstring Resource ( id Ġ= ĠR . string . settings ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= ĠIcons . Default . Settings , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġon Settings , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPreference Row ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġstring Resource ( id Ġ= ĠR . string . about ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= ĠIcons . Default . Info , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġon About , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPreference Row ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġstring Resource ( id Ġ= ĠR . string . help ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= ĠIcons . Default . Help , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġon Help , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠSettings Section ( ĊĠĠĠ Ġ@ String Res Ġval Ġtitle Res : ĠInt , ĊĠĠĠ Ġval Ġicon : ĠImage Vector ? Ġ= Ġnull , ĊĠĠĠ Ġval ĠonClick : Ġ() Ġ-> ĠUnit , Ċ ) Ċ Ċ @ Composable Ċ fun ĠSetup Layout ( ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , ĊĠĠĠ Ġitems : ĠList < Settings Section >, ĊĠĠĠ Ġpadding : ĠPadding Values ?= null , Ċ ) Ġ{ ĊĠĠĠ ĠLazy Column ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġif Ġ( padding Ġ!= Ġnull Ġ) modifier . padding ( padding ) Ġelse Ġmodifier , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġitems . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPreference Row ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġstring Resource ( it . title Res ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġit . icon , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġit . onClick , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ H ilt ViewModel Ċ class ĠMain Setting Screen ViewModel Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġui Preferences : ĠUi Preferences Ċ ) Ġ: ĠBase ViewModel () Ġ{ ĊĠĠĠ Ġval Ġin cognito Mode Ġ= Ġui Preferences . in cognito Mode (). as State () Ċ } ĊĊĊ