package Ġch . r my . android . http _ shortcuts . activities . editor . basic settings Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . core . view . isVisible Ċ import Ġch . r my . android . framework . extensions . attach To Ċ import Ġch . r my . android . framework . extensions . bind ViewModel Ċ import Ġch . r my . android . framework . extensions . initialize Ċ import Ġch . r my . android . framework . extensions . observe Ċ import Ġch . r my . android . framework . extensions . observe Text Changes Ċ import Ġch . r my . android . framework . ui . Base Intent Builder Ċ import Ġch . r my . android . http _ shortcuts . R Ċ import Ġch . r my . android . http _ shortcuts . activities . Base Activity Ċ import Ġch . r my . android . http _ shortcuts . activities . editor . basic settings . models . Installed Browser Ċ import Ġch . r my . android . http _ shortcuts . d agger . Application Component Ċ import Ġch . r my . android . http _ shortcuts . data . models . Shortcut Model Ċ import Ġch . r my . android . http _ shortcuts . databinding . Activity Basic Request Settings Binding Ċ import Ġch . r my . android . http _ shortcuts . variables . Variable Placeholder Provider Ċ import Ġch . r my . android . http _ shortcuts . variables . Variable View Utils . bind Variable Views Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠBasic Request Settings Activity Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġvariable Placeholder Provider : ĠVariable Placeholder Provider ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠBasic Request Settings ViewModel Ġby Ġbind ViewModel () ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Basic Request Settings Binding ĊĊĠĠĠ Ġprivate Ġvar Ġinstalled B rowsers : ĠList < Installed Browser > Ġ= Ġempty List () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( field Ġ!= Ġvalue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . input Browser PackageName . set Items From Pairs ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( DEFAULT _ BROWSER _ OPTION Ġto ĠgetString ( R . string . placeholder _ browser _ package _ name )) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . map Ġ{ Ġit . packageName Ġto Ġ( it . appName Ġ?: Ġit . packageName ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinject ( application Component : ĠApplication Component ) Ġ{ ĊĠĠĠĠĠĠĠ Ġapplication Component . inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Created ( saved State : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . initialize () ĊĠĠĠĠĠĠĠ Ġinit Views () ĊĠĠĠĠĠĠĠ Ġinit User Input Bindings () ĊĠĠĠĠĠĠĠ Ġinit ViewModel Bindings () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Views () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= Ġapply Binding ( Activity Basic Request Settings Binding . inflate ( layout Inflater )) ĊĠĠĠĠĠĠĠ ĠsetTitle ( R . string . section _ basic _ request ) ĊĊĠĠĠĠĠĠĠ Ġbinding . input Method . set Items From Pairs ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMETHO DS . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġto Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbind Variable Views ( binding . input Url , Ġbinding . variable Button Url , Ġvariable Placeholder Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. attach To ( destroy er ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit User Input Bindings () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . input Method ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. selection Changes ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( viewModel :: on Method Changed ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. attach To ( destroy er ) ĊĊĠĠĠĠĠĠĠ Ġbinding . input Url ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe Text Changes () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . on Url Changed ( binding . input Url . raw String ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. attach To ( destroy er ) ĊĊĠĠĠĠĠĠĠ Ġbinding . input Browser PackageName ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. selection Changes ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . on Browser PackageName Changed ( it . take Unless Ġ{ Ġit Ġ== ĠDEFAULT _ BROWSER _ OPTION Ġ} Ġ?: Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. attach To ( destroy er ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit ViewModel Bindings () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . view State . observe ( this ) Ġ{ Ġview State Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview State . variables ?. let ( variable Placeholder Provider :: apply Variables ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . input Method . isVisible Ġ= Ġview State . method Visible ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . input Method . selected Item Ġ= Ġview State . method ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . input Url . raw String Ġ= Ġview State . url ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinstalled B rowsers Ġ= Ġview State . browser PackageName Options ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . input Browser PackageName . selected Item Ġ= Ġview State . browser PackageName ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . input Browser PackageName . isVisible Ġ= Ġview State . browser PackageName Visible ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠviewModel . events . observe ( this , Ġ:: handle Event ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . on Back Pressed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠIntent Builder Ġ: ĠBase Intent Builder ( Basic Request Settings Activity :: class . java ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠMETHO DS Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShort cut Model . METHOD _ GET , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShort cut Model . METHOD _ POST , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShort cut Model . METHOD _ PUT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShort cut Model . METHOD _ DELETE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShort cut Model . METHOD _ PATCH , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShort cut Model . METHOD _ HEAD , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShort cut Model . METHOD _ OPTIONS , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShort cut Model . METHOD _ TRACE , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDEFAULT _ BROWSER _ OPTION Ġ= Ġ" default " ĊĠĠĠ Ġ} Ċ } Ċ