package Ġcom . cor ph ish . night light . engine . models Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . cor ph ish . night light . data . Constants Ċ import Ġcom . cor ph ish . night light . helpers . Preference Helper Ċ Ċ /** Ċ Ġ* ĠThis Ġdata Ġclass Ġdefines Ġa ĠF ade Ġbehavior . Ċ Ġ* ĠF ade Ġbehavior Ġcan Ġbe Ġoff Ġ 3 Ġtypes Ġ- Ċ Ġ* Ġ 1 . ĠF ade Ġin Ġ- ĠThe ĠRGB Ġwill Ġfade Ġin Ġfrom Ġcertain Ġvalue , Ġto Ġanother Ġvalue . Ċ Ġ* Ġ 2 . ĠF ade Ġin Ġ- ĠThe ĠRGB Ġwill Ġfade Ġout Ġfrom Ġcertain Ġvalue , Ġto Ġanother Ġvalue . Ċ Ġ* Ġ 1 . ĠF ade Ġoff Ġ- ĠThe ĠRGB Ġwill Ġnot Ġfade . Ċ Ġ*/ Ċ data Ġclass ĠF ade Behavior ( ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠBehavior Ġtype . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġtype : ĠInt Ġ= ĠFA DE _ OFF , ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠNight Ġlight Ġsetting Ġtype . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġsetting Type : ĠInt Ġ= ĠConstants . NL _ SETTING _ MODE _ TEMP , ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠRGB Ġto Ġfade Ġfrom . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġfade From : ĠInt Array Ġ= Ġint ArrayOf ( 2 5 6 , Ġ 2 5 6 , Ġ 2 5 6 ), ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠRGB Ġto Ġfade Ġto . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġfade To : ĠInt Array Ġ= Ġint ArrayOf ( 2 5 6 , Ġ 2 5 6 , Ġ 2 5 6 ) Ċ ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠF ade Behavior ĊĊĠĠĠĠĠĠĠ Ġif Ġ( type Ġ!= Ġother . type ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ(! fade From . content Equals ( other . fade From )) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ(! fade To . content Equals ( other . fade To )) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġtype ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġfade From . content HashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġfade To . content HashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Fade Behavior ($ type ; Ġ$ setting Type ; Ġ${ fade From . content ToString ()}; Ġ${ fade To . content ToString () })" ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠF ade Ġbehaviors . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠFA DE _ OFF Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠFA DE _ IN Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠFA DE _ OUT Ġ= Ġ 2 ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠUn set ĠRGB ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval ĠRGB _ UN SET Ġ= Ġint ArrayOf (- 1 , Ġ- 1 , Ġ- 1 ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠParses Ġa ĠF ade Behavior Ġfrom Ġpersisted Ġstring . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom String ( string : ĠString ?): ĠF ade Behavior Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠReturn Ġdefault Ġfade Ġbehavior Ġif Ġstring Ġis Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( string Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠF ade Behavior () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTrim Ġand Ġextract Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparts Ġ= Ġstring . substring (" Fade Behavior (". length , Ġstring . length Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. split ("; ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . trim () Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠPart s Ġmust Ġbe Ġof Ġlength Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( parts . size Ġ!= Ġ 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠF ade Behavior () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġparts [ 0 ]. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsetting Type Ġ= Ġparts [ 1 ]. toInt () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfade From Ġ= Ġparts [ 2 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. substring ( 1 , Ġparts [ 2 ]. lastIndexOf (" ] ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. split (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . trim (). toInt () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to IntArray () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfade To Ġ= Ġparts [ 3 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. substring ( 1 , Ġparts [ 3 ]. lastIndexOf (" ] ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. split (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . trim (). toInt () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to IntArray () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠF ade Behavior ( type , Ġsetting Type , Ġfade From , Ġfade To ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġdefault K CAL RGB ( context : ĠContext ): ĠPick ed Color Data Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠdefaultValue Ġ= ĠPreference Helper . getString ( context , ĠConstants . K CAL _ PRE SER VE _ VAL , ĠConstants . DEFAULT _ K CAL _ VALUES ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠConstants . DEFAULT _ K CAL _ VALUES ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparts Ġ= ĠdefaultValue . split (" Ġ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠPick ed Color Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetting Mode Ġ= ĠConstants . NL _ SETTING _ MODE _ MAN UAL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsettings Ġ= Ġint ArrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparts [ 0 ]. trim (). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparts [ 1 ]. trim (). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparts [ 2 ]. trim (). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }