package Ġcom . mat he ws achin . f ate grand autom ata . ui . prefs Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . fragment . app . activity ViewModels Ċ import Ġandroidx . preference . Preference Ċ import Ġandroidx . preference . Preference Fragment Compat Ċ import Ġcom . mat he ws achin . f ate grand autom ata . R Ċ import Ġcom . mat he ws achin . f ate grand autom ata . ui . Main Fragment Directions Ċ import Ġcom . mat he ws achin . f ate grand autom ata . util . Storage Provider Ċ import Ġcom . mat he ws achin . f ate grand autom ata . util . nav Ċ import Ġcom . mat he ws achin . f ate grand autom ata . util . register Persist able Dir Picker Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ import Ġjavax . inject . Inject Ċ Ċ @ Android EntryPoint Ċ class ĠMain Settings Fragment Ġ: ĠPreference Fragment Compat () Ġ{ ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġstorage Provider : ĠStorage Provider ĊĊĠĠĠ Ġval Ġvm : ĠMain Settings ViewModel Ġby Ġactivity ViewModels () ĊĊĠĠĠ Ġfun Ġgo To Battle Config List () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠMain Fragment Directions ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. action Main Fragment To Battle Config List Fragment () ĊĊĠĠĠĠĠĠĠ Ġnav ( action ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġpick Dir Ġ= Ġregister Persist able Dir Picker Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage Provider . set Root ( it ) ĊĊĠĠĠĠĠĠĠ Ġgo To Battle Config List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnav Ref ill : ĠPreference ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Preferences ( savedInstanceState : ĠBundle ?, Ġroot Key : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġpref Screen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnav Ref ill Ġ= Ġblank Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= ĠR . string . p _ ref ill ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsummary Ġ= ĠR . string . p _ ref ill _ summary ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= ĠR . drawable . ic _ apple ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . setOn Preference ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠMain Fragment Directions ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. action Main Fragment To Ref ill Settings Fragment () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav ( action ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġblank Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= ĠR . string . p _ battle _ config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsummary Ġ= ĠR . string . p _ battle _ config _ summary ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= ĠR . drawable . ic _ formation ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. setOn Preference ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( vm . ensure Root Dir ( pick Dir , Ġrequire Context ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgo To Battle Config List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġblank Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= ĠR . string . p _ nav _ tro ubleshoot ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= ĠR . drawable . ic _ troubleshooting ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. intent Ġ= ĠIntent ( Intent . ACTION _ VIEW , ĠUri . parse ( getString ( R . string . link _ tro ubleshoot ))) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġblank Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= ĠR . string . p _ more _ options ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= ĠR . drawable . ic _ dots _ horizontal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. setOn Preference ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠMain Fragment Directions ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. action Main Fragment To More Settings Fragment () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav ( action ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġvm . ref ill Message . observe ( view Lifecycle Owner ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnav Ref ill . summary Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ