package Ġinfo . dv kr . screen stream . ui Ċ Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Point Ċ import Ġandroid . graphics . drawable . Color Drawable Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . annotation . Drawable Res Ċ import Ġandroid . support . annotation . String Res Ċ import Ġandroid . support . v 7 . app . AlertDialog Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . Input Filter Ċ import Ġandroid . text . Text Watcher Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . view . WindowManager Ċ import Ġcom . crash ly t ics . android . Crash ly t ics Ċ import Ġcom . jak ew h art on . rx relay . Publish Relay Ċ import Ġcom . jr ummy apps . android . color picker . Color Picker Dialog Ċ import Ġcom . jr ummy apps . android . color picker . Color Picker Dialog Listener Ċ import Ġcom . tap ad oo . aler ter . A ler ter Ċ import Ġinfo . dv kr . screen stream . Build Config Ċ import Ġinfo . dv kr . screen stream . R Ċ import Ġinfo . dv kr . screen stream . d agger . component . Non Configuration Component Ċ import Ġinfo . dv kr . screen stream . presenter . Settings Activity Presenter Ċ import Ġkotlinx . android . synt hetic . main . activity _ settings .* Ċ import Ġkotlinx . android . synt hetic . main . settings _ edit text _ dialog . view .* Ċ import Ġrx . Observable Ċ import Ġrx . android . schedul ers . Android Schedulers Ċ import Ġrx . functions . Action 1 Ċ import Ġjavax . inject . Inject ĊĊ Ċ class ĠSettings Activity Ġ: ĠBase Activity (), ĠSettings Activity View , ĠColor Picker Dialog Listener Ġ{ ĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" Settings Activity " ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġget Start Intent ( context : ĠContext ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠIntent ( context , ĠSettings Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Inject Ġinternal Ġlateinit Ġvar Ġpresenter : ĠSettings Activity Presenter ĊĊĠĠĠ Ġprivate Ġval Ġfrom Events Ġ= ĠPublish Relay . create < Settings Activity View . From Event >() ĊĊĠĠĠ Ġprivate Ġvar Ġhtml BackColor : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġval Ġscreen Size Ġ= ĠPoint () ĊĠĠĠ Ġprivate Ġvar Ġresize Factor : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġdialog : ĠDialog ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG _ MODE ) ĠLog . w ( TAG , Ġ" Thread Ġ[ ${ Thread . currentThread (). name }] ĠonCreate : ĠStart ") ĊĠĠĠĠĠĠĠ ĠCrash ly t ics . log ( 1 , ĠTAG , Ġ" onCreate : ĠStart ") ĊĊĠĠĠĠĠĠĠ Ġval Ġwindow Manager Ġ= Ġget System Service ( Context . WINDOW _ SERVICE ) Ġas ĠWindow Manager ĊĠĠĠĠĠĠĠ Ġval Ġdefault Display Ġ= Ġwindow Manager . default Display ĊĠĠĠĠĠĠĠ Ġdefault Display . get Real Size ( screen Size ) ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ settings ) ĊĠĠĠĠĠĠĠ Ġpresenter . attach ( this ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠInterface Ġ- ĠMin imize Ġon Ġstream ĊĠĠĠĠĠĠĠ Ġcl Min imize On Stream . setOnClickListener Ġ{ Ġ_ Ġ-> ĠcheckBox Min imize On Stream . perform Click () Ġ} ĊĠĠĠĠĠĠĠ ĠcheckBox Min imize On Stream . setOnClickListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Events . call ( Settings Activity View . From Event . Min imize On Stream ( checkBox Min imize On Stream . isChecked )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠInterface Ġ- ĠStop Ġon Ġsleep ĊĠĠĠĠĠĠĠ Ġcl Stop On Sleep . setOnClickListener Ġ{ Ġ_ Ġ-> ĠcheckBox Stop On Sleep . perform Click () Ġ} ĊĠĠĠĠĠĠĠ ĠcheckBox Stop On Sleep . setOnClickListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Events . call ( Settings Activity View . From Event . Stop On Sleep ( checkBox Stop On Sleep . isChecked )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠInterface Ġ- ĠStart Service Ġon Ġboot ĊĠĠĠĠĠĠĠ Ġcl Start On Boot . setOnClickListener Ġ{ Ġ_ Ġ-> ĠcheckBox Start On Boot . perform Click () Ġ} ĊĠĠĠĠĠĠĠ ĠcheckBox Start On Boot . setOnClickListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Events . call ( Settings Activity View . From Event . Start On Boot ( checkBox Start On Boot . isChecked )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠInterface Ġ- ĠHTML ĠM JPEG Ġcheck ĊĠĠĠĠĠĠĠ Ġcl M jpeg Check . setOnClickListener Ġ{ Ġ_ Ġ-> ĠcheckBox M jpeg Check . perform Click () Ġ} ĊĠĠĠĠĠĠĠ ĠcheckBox M jpeg Check . setOnClickListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Events . call ( Settings Activity View . From Event . Disable M jpeg Check ( checkBox M jpeg Check . isChecked )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠInterface Ġ- ĠHTML ĠBack Ġcolor ĊĠĠĠĠĠĠĠ Ġcl Html BackColor . setOnClickListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhtml BackColor Ġ= Ġ( view Html BackColor . background Ġas ĠColor Drawable ). color ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor Picker Dialog . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setColor ( html BackColor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Dialog Title ( R . string . pref _ html _ back _ color _ title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Show Alpha Slider ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show ( this @ Settings Activity ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠImage Ġ- ĠResize Ġfactor ĊĠĠĠĠĠĠĠ Ġcl Resize Image . setOnClickListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Ġ= Ġget EditText Dialog ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . pref _ resize , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ pref _ resize _ black _ 2 4 dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . pref _ resize _ dialog _ text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 , Ġ 3 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 , Ġ 1 5 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInteger . toString ( resize Factor ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAction 1 Ġ{ ĠnewValue Ġ-> Ġfrom Events . call ( Settings Activity View . From Event . Resize Factor ( Integer . parseInt ( newValue ))) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . pref _ resize _ dialog _ result ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog ?. show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠImage Ġ- ĠJ peg ĠQuality ĊĠĠĠĠĠĠĠ Ġcl J peg Quality . setOnClickListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Ġ= Ġget EditText Dialog ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . pref _ jpeg _ quality , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ pref _ high _ quality _ black _ 2 4 dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . pref _ jpeg _ quality _ dialog , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 , Ġ 3 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 , Ġ 1 0 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView J peg Quality Value . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAction 1 Ġ{ ĠnewValue Ġ-> Ġfrom Events . call ( Settings Activity View . From Event . J peg Quality ( Integer . parseInt ( newValue ))) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog ?. show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠSecurity Ġ- ĠEnable Ġpin ĊĠĠĠĠĠĠĠ Ġcl Enable Pin . setOnClickListener Ġ{ Ġ_ Ġ-> ĠcheckBox Enable Pin . perform Click () Ġ} ĊĠĠĠĠĠĠĠ ĠcheckBox Enable Pin . setOnClickListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchecked Ġ= ĠcheckBox Enable Pin . isChecked ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Disable View ( cl Hide Pin On Start , Ġchecked ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Disable View ( cl New Pin On App Start , Ġchecked ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Disable View ( cl Auto Change Pin , Ġchecked ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Disable View ( cl Set Pin , ĠcheckBox Enable Pin . isChecked Ġ&& Ġ! checkBox New Pin On App Start . isChecked Ġ&& Ġ! checkBox Auto Change Pin . isChecked ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Events . call ( Settings Activity View . From Event . Enable Pin ( checked )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠSecurity Ġ- ĠHide Ġpin Ġon Ġstart ĊĠĠĠĠĠĠĠ Ġcl Hide Pin On Start . setOnClickListener Ġ{ Ġ_ Ġ-> ĠcheckBox Hide Pin On Start . perform Click () Ġ} ĊĠĠĠĠĠĠĠ ĠcheckBox Hide Pin On Start . setOnClickListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Events . call ( Settings Activity View . From Event . Hide Pin On Start ( checkBox Hide Pin On Start . isChecked )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠSecurity Ġ- ĠNew Ġpin Ġon Ġapp Ġstart ĊĠĠĠĠĠĠĠ Ġcl New Pin On App Start . setOnClickListener Ġ{ Ġ_ Ġ-> ĠcheckBox New Pin On App Start . perform Click () Ġ} ĊĠĠĠĠĠĠĠ ĠcheckBox New Pin On App Start . setOnClickListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Disable View ( cl Set Pin , ĠcheckBox Enable Pin . isChecked Ġ&& Ġ! checkBox New Pin On App Start . isChecked Ġ&& Ġ! checkBox Auto Change Pin . isChecked ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Events . call ( Settings Activity View . From Event . New Pin On App Start ( checkBox New Pin On App Start . isChecked )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠSecurity Ġ- ĠAuto Ġchange Ġpin ĊĠĠĠĠĠĠĠ Ġcl Auto Change Pin . setOnClickListener Ġ{ Ġ_ Ġ-> ĠcheckBox Auto Change Pin . perform Click () Ġ} ĊĠĠĠĠĠĠĠ ĠcheckBox Auto Change Pin . setOnClickListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Disable View ( cl Set Pin , ĠcheckBox Enable Pin . isChecked Ġ&& Ġ! checkBox New Pin On App Start . isChecked Ġ&& Ġ! checkBox Auto Change Pin . isChecked ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Events . call ( Settings Activity View . From Event . Auto Change Pin ( checkBox Auto Change Pin . isChecked )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠSecurity Ġ- ĠSet Ġpin ĊĠĠĠĠĠĠĠ ĠclSet Pin . setOnClickListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Ġ= Ġget EditText Dialog ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . pref _ set _ pin , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ pref _ key _ black _ 2 4 dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . pref _ set _ pin _ dialog , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 , Ġ 4 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ 9 9 9 9 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Set Pin Value . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAction 1 Ġ{ ĠnewValue Ġ-> Ġfrom Events . call ( Settings Activity View . From Event . Set Pin ( newValue )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog ?. show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠAdvanced Ġ- ĠUse ĠWiFi ĠOnly ĊĠĠĠĠĠĠĠ Ġcl Use Wifi Only . setOnClickListener Ġ{ Ġ_ Ġ-> ĠcheckBox Use Wifi Only . perform Click () Ġ} ĊĠĠĠĠĠĠĠ ĠcheckBox Use Wifi Only . setOnClickListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Events . call ( Settings Activity View . From Event . Use WiFi Only ( checkBox Use Wifi Only . isChecked )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠAdvanced Ġ- ĠServer Ġport ĊĠĠĠĠĠĠĠ Ġcl Server Port . setOnClickListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Ġ= Ġget EditText Dialog ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . pref _ server _ port , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ pref _ http _ black _ 2 4 dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . pref _ server _ port _ dialog , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 , Ġ 6 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 2 5 , Ġ 6 5 5 3 5 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Server Port Value . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAction 1 Ġ{ ĠnewValue Ġ-> Ġfrom Events . call ( Settings Activity View . From Event . Server Port ( Integer . parseInt ( newValue ))) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog ?. show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG _ MODE ) ĠLog . w ( TAG , Ġ" Thread Ġ[ ${ Thread . currentThread (). name }] ĠonCreate : ĠEnd ") ĊĠĠĠĠĠĠĠ ĠCrash ly t ics . log ( 1 , ĠTAG , Ġ" onCreate : ĠEnd ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinject ( injector : ĠNon Configuration Component ) Ġ= Ġinjector . inject ( this ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG _ MODE ) ĠLog . w ( TAG , Ġ" Thread Ġ[ ${ Thread . currentThread (). name }] Ġon Destroy : ĠStart ") ĊĠĠĠĠĠĠĠ Ġdialog ?. let Ġ{ Ġif Ġ( it . is Showing ) Ġit . dismiss () Ġ} ĊĠĠĠĠĠĠĠ Ġpresenter . detach () ĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG _ MODE ) ĠLog . w ( TAG , Ġ" Thread Ġ[ ${ Thread . currentThread (). name }] Ġon Destroy : ĠEnd ") ĊĠĠĠĠĠĠĠ ĠCrash ly t ics . log ( 1 , ĠTAG , Ġ" on Destroy : ĠEnd ") ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfrom Event (): ĠObservable < Settings Activity View . From Event > Ġ= Ġfrom Events . as Observable () ĊĊĠĠĠ Ġoverride Ġfun Ġto Event ( to Event : ĠSettings Activity View . To Event ) Ġ{ ĊĠĠĠĠĠĠĠ ĠObservable . just ( to Event ). subscribe On ( Android Schedulers . main Thread ()). subscribe Ġ{ Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG _ MODE ) ĠLog . w ( TAG , Ġ" Thread Ġ[ ${ Thread . currentThread (). name } ]: Ġ${ event . java Class . simple Name }") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( event ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSettings Activity View . To Event . Min imize On Stream Ġ-> ĠcheckBox Min imize On Stream . isChecked Ġ= Ġevent . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSettings Activity View . To Event . Stop On Sleep Ġ-> ĠcheckBox Stop On Sleep . isChecked Ġ= Ġevent . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSettings Activity View . To Event . Start On Boot Ġ-> ĠcheckBox Start On Boot . isChecked Ġ= Ġevent . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSettings Activity View . To Event . Disable M jpeg Check Ġ-> ĠcheckBox M jpeg Check . isChecked Ġ= Ġevent . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSettings Activity View . To Event . Html BackColor Ġ-> Ġview Html BackColor . set BackgroundColor ( event . value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSettings Activity View . To Event . Resize Factor Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresize Factor Ġ= Ġevent . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Resize Image Value . text Ġ= Ġ"$ resize Factor %" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSettings Activity View . To Event . J peg Quality Ġ-> ĠtextView J peg Quality Value . text Ġ= ĠInteger . toString ( event . value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSettings Activity View . To Event . Enable Pin Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠcheckBox Enable Pin . isChecked Ġ= Ġevent . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenable Disable View ( cl Hide Pin On Start , Ġevent . value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenable Disable View ( cl New Pin On App Start , Ġevent . value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenable Disable View ( cl Auto Change Pin , Ġevent . value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenable Disable View ( cl Set Pin , ĠcheckBox Enable Pin . isChecked Ġ&& Ġ! checkBox New Pin On App Start . isChecked Ġ&& Ġ! checkBox Auto Change Pin . isChecked ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSettings Activity View . To Event . Hide Pin On Start Ġ-> ĠcheckBox Hide Pin On Start . isChecked Ġ= Ġevent . value ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSettings Activity View . To Event . New Pin On App Start Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠcheckBox New Pin On App Start . isChecked Ġ= Ġevent . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenable Disable View ( cl Set Pin , ĠcheckBox Enable Pin . isChecked Ġ&& Ġ! checkBox New Pin On App Start . isChecked Ġ&& Ġ! checkBox Auto Change Pin . isChecked ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSettings Activity View . To Event . Auto Change Pin Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠcheckBox Auto Change Pin . isChecked Ġ= Ġevent . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenable Disable View ( cl Set Pin , ĠcheckBox Enable Pin . isChecked Ġ&& Ġ! checkBox New Pin On App Start . isChecked Ġ&& Ġ! checkBox Auto Change Pin . isChecked ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSettings Activity View . To Event . Set Pin Ġ-> ĠtextView Set Pin Value . text Ġ= Ġevent . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSettings Activity View . To Event . Use WiFi Only Ġ-> ĠcheckBox Use Wifi Only . isChecked Ġ= Ġevent . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSettings Activity View . To Event . Server Port Ġ-> ĠtextView Server Port Value . text Ġ= ĠInteger . toString ( event . value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSettings Activity View . To Event . Error Server Port Busy Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA ler ter . create ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( R . string . pref _ alert _ error _ title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setText ( R . string . pref _ alert _ error _ message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set BackgroundColor Res ( R . color . color Accent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Duration ( 5 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. enable Progress ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. enable Swipe To Dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠPrivate Ġmethods ĊĠĠĠ Ġprivate Ġfun Ġget EditText Dialog (@ String Res Ġtitle : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Drawable Res Ġicon : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ String Res Ġcontent : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin Length : ĠInt , ĠmaxLength : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin Value : ĠInt , ĠmaxValue : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Value : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction : ĠAction 1 < String >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresize Image Dialog : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ String Res Ġresize Image Result Text : ĠInt Ġ= Ġ 0 ): ĠDialog Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlayout Inflater Ġ= ĠLayoutInflater . from ( this ) ĊĠĠĠĠĠĠĠ Ġval Ġdialog View Ġ= Ġlayout Inflater . inflate ( R . layout . settings _ edit text _ dialog , Ġnull , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġwith ( dialog View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( resize Image Dialog ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Settings EditText Content . text Ġ= ĠgetString ( content ). format ( screen Size . x , Ġscreen Size . y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresize Factor Ġ= ĠInteger . parseInt ( current Value ) Ġ/ Ġ 1 0 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Settings EditText Result . text Ġ= ĠgetString ( resize Image Result Text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. format (( screen Size . x Ġ* Ġresize Factor ). toInt (), Ġ( screen Size . y Ġ* Ġresize Factor ). toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Settings EditText Content . text Ġ= ĠgetString ( content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Settings EditText Result . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text Settings EditText Value . setText ( current Value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text Settings EditText Value . setSelection ( current Value . length ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text Settings EditText Value . filters Ġ= ĠarrayOf < Input Filter >( Input Filter . Length Filter ( maxLength )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġalert Dialog Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setView ( dialog View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cancel able ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setIcon ( icon ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( android . R . string . ok ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew StringValue Ġ= Ġdialog View . edit Text Settings EditText Value . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( new StringValue . length Ġin Ġmin Length .. maxLength Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Value Ġ!= Ġnew StringValue Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInteger . parseInt ( new StringValue ) Ġin Ġmin Value .. max Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction . call ( new StringValue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button ( android . R . string . cancel , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĊĠĠĠĠĠĠĠ Ġalert Dialog . setOn Show Listener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġok Button Ġ= Ġalert Dialog . get Button ( AlertDialog . BUTTON _ POSITIVE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog View . edit Text Settings EditText Value . add TextChanged Listener ( object Ġ: ĠText Watcher Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbefore TextChanged ( s : ĠCharSequence , Ġstart : ĠInt , Ġcount : ĠInt , Ġafter : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon TextChanged ( s : ĠCharSequence , Ġstart : ĠInt , Ġbefore : ĠInt , Ġcount : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġok Button . isEnabled Ġ= Ġs . length Ġin Ġmin Length .. maxLength Ġ&& ĠInteger . parseInt ( s . toString ()) Ġin Ġmin Value .. max Value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( resize Image Dialog ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew Resize Factor Ġ= Ġif Ġ( ok Button . isEnabled ) ĠInteger . parseInt ( s . toString ()) Ġ/ Ġ 1 0 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠInteger . parseInt ( current Value ) Ġ/ Ġ 1 0 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog View . textView Settings EditText Result . text Ġ= ĠgetString ( resize Image Result Text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. format (( screen Size . x Ġ* Ġnew Resize Factor ). toInt (), Ġ( screen Size . y Ġ* Ġnew Resize Factor ). toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġafter TextChanged ( s : ĠEdit able ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġalert Dialog ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Color Selected ( dialog Id : ĠInt , Ġcolor : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( html BackColor Ġ== Ġcolor ) Ġreturn ĊĠĠĠĠĠĠĠ Ġview Html BackColor . set BackgroundColor ( color ) ĊĠĠĠĠĠĠĠ Ġfrom Events . call ( Settings Activity View . From Event . Html BackColor ( color )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Dialog Dis missed ( dialog Id : ĠInt ) Ġ{} ĊĊĠĠĠ Ġprivate Ġfun Ġenable Disable View ( view : ĠView , Ġenabled : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview . isEnabled Ġ= Ġenabled ĊĠĠĠĠĠĠĠ Ġview . alpha Ġ= Ġif Ġ( enabled ) Ġ 1 f Ġelse Ġ. 5 f ĊĠĠĠĠĠĠĠ Ġif Ġ( view Ġis ĠViewGroup ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( idx Ġin Ġ 0 Ġuntil Ġview . child Count ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenable Disable View ( view . getChild At ( idx ), Ġenabled ) ĊĠĠĠ Ġ} Ċ }