// ĠCopyright Ġ( c ) Ġ 2 0 1 6 , ĠM ique l ĠMart ÃŃ Ġ< m ique lm art i 1 1 1 @ gmail . com > Ċ // ĠSee ĠLICENSE Ġfor Ġlicensing Ġinformation Ċ package Ġcat . m vm ike . minimal calendar widget . domain . configuration . item Ċ Ċ import Ġandroid . content . Context Ċ import Ġcat . m vm ike . minimal calendar widget . R Ċ import Ġjava . time . DayOfWeek Ċ Ċ enum Ġclass ĠTheme ( ĊĠĠĠ Ġval Ġdisplay String : ĠInt , ĊĠĠĠ Ġval Ġmain Layout : ĠInt , ĊĠĠĠ Ġval Ġmain Background : ĠInt , ĊĠĠĠ Ġprivate Ġval Ġday Layout : ĠInt , ĊĠĠĠ Ġprivate Ġval Ġheader : ĠCell Pack , ĊĠĠĠ Ġprivate Ġval Ġthis Month : ĠCell Pack , ĊĠĠĠ Ġprivate Ġval Ġtoday : ĠCell Pack Ċ ) Ġ{ ĊĠĠĠ ĠD ARK ( ĊĠĠĠĠĠĠĠ Ġdisplay String Ġ= ĠR . string . dark , ĊĠĠĠĠĠĠĠ Ġmain Layout Ġ= ĠR . layout . widget _ dark , ĊĠĠĠĠĠĠĠ Ġmain Background Ġ= ĠR . color . background _ full _ dark , ĊĠĠĠĠĠĠĠ Ġday Layout Ġ= ĠR . layout . dark _ cell _ day , ĊĠĠĠĠĠĠĠ Ġheader Ġ= ĠCell Pack ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Layout Ġ= ĠR . layout . dark _ cell _ header , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs aturday Background Ġ= ĠR . color . background _ s aturday _ this _ month _ dark , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs unday Background Ġ= ĠR . color . background _ s unday _ this _ month _ dark ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġthis Month Ġ= ĠCell Pack ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Layout Ġ= ĠR . layout . dark _ cell _ day _ this _ month , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweek day Background Ġ= ĠR . color . background _ this _ month _ dark , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs aturday Background Ġ= ĠR . color . background _ s aturday _ this _ month _ dark , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs unday Background Ġ= ĠR . color . background _ s unday _ this _ month _ dark ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġtoday Ġ= ĠCell Pack ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Layout Ġ= ĠR . layout . dark _ cell _ day _ today , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweek day Background Ġ= ĠR . color . background _ today _ dark , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs aturday Background Ġ= ĠR . color . background _ s aturday _ today _ dark , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs unday Background Ġ= ĠR . color . background _ s unday _ today _ dark ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠLIGHT ( ĊĠĠĠĠĠĠĠ Ġdisplay String Ġ= ĠR . string . light , ĊĠĠĠĠĠĠĠ Ġmain Layout Ġ= ĠR . layout . widget _ light , ĊĠĠĠĠĠĠĠ Ġmain Background Ġ= ĠR . color . background _ full _ light , ĊĠĠĠĠĠĠĠ Ġday Layout Ġ= ĠR . layout . light _ cell _ day , ĊĠĠĠĠĠĠĠ Ġheader Ġ= ĠCell Pack ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Layout Ġ= ĠR . layout . light _ cell _ header , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs aturday Background Ġ= ĠR . color . background _ s aturday _ this _ month _ light , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs unday Background Ġ= ĠR . color . background _ s unday _ this _ month _ light ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġthis Month Ġ= ĠCell Pack ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Layout Ġ= ĠR . layout . light _ cell _ day _ this _ month , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweek day Background Ġ= ĠR . color . background _ this _ month _ light , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs aturday Background Ġ= ĠR . color . background _ s aturday _ this _ month _ light , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs unday Background Ġ= ĠR . color . background _ s unday _ this _ month _ light ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġtoday Ġ= ĠCell Pack ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Layout Ġ= ĠR . layout . light _ cell _ day _ today , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweek day Background Ġ= ĠR . color . background _ today _ light , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs aturday Background Ġ= ĠR . color . background _ s aturday _ today _ light , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs unday Background Ġ= ĠR . color . background _ s unday _ today _ light ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ); ĊĊĠĠĠ Ġfun Ġget Cell Header ( day OfWeek : ĠDay OfWeek ) Ġ= Ġheader . get ( day OfWeek ) ĊĊĠĠĠ Ġfun Ġget Cell Day ( is Today : ĠBoolean , Ġin Month : ĠBoolean , Ġday OfWeek : ĠDay OfWeek ) Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġis Today Ġ-> Ġtoday . get ( day OfWeek ) ĊĠĠĠĠĠĠĠ Ġin Month Ġ-> Ġthis Month . get ( day OfWeek ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> ĠCell ( layout Ġ= Ġday Layout ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġget Theme Display Values ( context : ĠContext ) Ġ= ĊĠĠĠ ĠTheme . values (). map Ġ{ Ġtheme Ġ-> ĊĠĠĠĠĠĠĠ Ġcontext . getString ( theme . display String ). replace First Char Ġ{ Ġit . uppercase () Ġ} ĊĠĠĠ Ġ}. to Typed Array () Ċ Ċ data Ġclass ĠCell Pack ( ĊĠĠĠ Ġval Ġmain Layout : ĠInt , ĊĠĠĠ Ġval Ġweek day Background : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġs aturday Background : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġs unday Background : ĠInt ? Ġ= Ġnull Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġget ( day OfWeek : ĠDay OfWeek ): ĠCell Ġ= Ġwhen Ġ( day OfWeek ) Ġ{ ĊĠĠĠĠĠĠĠ ĠDay OfWeek . S ATUR DAY Ġ-> ĠCell ( layout Ġ= Ġmain Layout , Ġbackground Ġ= Ġs aturday Background ) ĊĠĠĠĠĠĠĠ ĠDay OfWeek . S UND AY Ġ-> ĠCell ( layout Ġ= Ġmain Layout , Ġbackground Ġ= Ġs unday Background ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> ĠCell ( layout Ġ= Ġmain Layout , Ġbackground Ġ= Ġweek day Background ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠCell ( ĊĠĠĠ Ġval Ġid : ĠInt Ġ= Ġandroid . R . id . text 1 , ĊĠĠĠ Ġval Ġlayout : ĠInt , ĊĠĠĠ Ġval Ġbackground : ĠInt ? Ġ= Ġnull Ċ ) Ċ