/* Ċ Ġ* ĠĠ ĠCopyright Ġ 2 0 2 0 ĠB eno it ĠLET OND OR Ċ Ġ* Ċ Ġ* ĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* ĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* ĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* ĠĠ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . b eno it let ond or . pixel minimal watch face . settings Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Component Name Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . support . we arable . comp lications . Comp lication Helper Activity Ċ import Ġandroid . support . we arable . comp lications . Comp lication Provider Info Ċ import Ġandroid . support . we arable . comp lications . Provider Info Retriever Ċ import Ġandroid . support . we arable . comp lications . Provider Info Retriever . On Provider Info Received Callback Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget .* Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . b eno it let ond or . pixel minimal watch face .* Ċ import Ġcom . b eno it let ond or . pixel minimal watch face . Pixel Minimal Watch Face . Companion . get Comp lication Id Ċ import Ġcom . b eno it let ond or . pixel minimal watch face . Pixel Minimal Watch Face . Companion . get Comp lication Ids Ċ import Ġcom . b eno it let ond or . pixel minimal watch face . Pixel Minimal Watch Face . Companion . get Supported Comp lication Types Ċ import Ġcom . b eno it let ond or . pixel minimal watch face . helper . is Permission Granted Ċ import Ġcom . b eno it let ond or . pixel minimal watch face . helper . is Screen Round Ċ import Ġcom . b eno it let ond or . pixel minimal watch face . helper . is Service Available Ċ import Ġcom . b eno it let ond or . pixel minimal watch face . helper . time Size To Human Readable String Ċ import Ġcom . b eno it let ond or . pixel minimal watch face . model . Comp lication Colors Ċ import Ġcom . b eno it let ond or . pixel minimal watch face . model . Storage Ċ import Ġjava . util . concurrent . Executors Ċ Ċ private Ġconst Ġval ĠTYPE _ HEADER Ġ= Ġ 0 Ċ private Ġconst Ġval ĠTYPE _ PRE VIEW _ AND _ COMP LIC ATIONS _ CONFIG Ġ= Ġ 1 Ċ private Ġconst Ġval ĠTYPE _ COLOR _ CONFIG Ġ= Ġ 2 Ċ private Ġconst Ġval ĠTYPE _ FO OTER Ġ= Ġ 3 Ċ private Ġconst Ġval ĠTYPE _ BE CO ME _ PRE MI UM Ġ= Ġ 4 Ċ private Ġconst Ġval ĠTYPE _ HOUR _ FORMAT Ġ= Ġ 5 Ċ private Ġconst Ġval ĠTYPE _ SEND _ FEED BACK Ġ= Ġ 6 Ċ private Ġconst Ġval ĠTYPE _ SHOW _ WE AR _ OS _ LOG O Ġ= Ġ 7 Ċ private Ġconst Ġval ĠTYPE _ SHOW _ COMP LIC ATIONS _ AM BI ENT Ġ= Ġ 8 Ċ private Ġconst Ġval ĠTYPE _ SHOW _ FIL LED _ TIME _ AM BI ENT Ġ= Ġ 9 Ċ private Ġconst Ġval ĠTYPE _ TIME _ SIZE Ġ= Ġ 1 0 Ċ private Ġconst Ġval ĠTYPE _ SHOW _ SECONDS _ RING Ġ= Ġ 1 1 Ċ private Ġconst Ġval ĠTYPE _ SHOW _ WE ATHER Ġ= Ġ 1 2 Ċ Ċ class ĠComp lication Config RecyclerView Adapter ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġprivate Ġval Ġstorage : ĠStorage , ĊĠĠĠ Ġprivate Ġval Ġprem ium ClickListener : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġprivate Ġval Ġhour Format Selection Listener : Ġ( Boolean ) Ġ-> ĠUnit , ĊĠĠĠ Ġprivate Ġval Ġon Feedback Button Pressed : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġprivate Ġval Ġshow W ear OS Button Listener : Ġ( Boolean ) Ġ-> ĠUnit , ĊĠĠĠ Ġprivate Ġval Ġshow Comp lications Ambient Listener : Ġ( Boolean ) Ġ-> ĠUnit , ĊĠĠĠ Ġprivate Ġval Ġshow Filled Time Ambient Listener : Ġ( Boolean ) Ġ-> ĠUnit , ĊĠĠĠ Ġprivate Ġval Ġtime Size Changed Listener : Ġ( Int ) Ġ-> ĠUnit , ĊĠĠĠ Ġprivate Ġval Ġshow Seconds Ring Listener : Ġ( Boolean ) Ġ-> ĠUnit , ĊĠĠĠ Ġprivate Ġval Ġshow Weather Listener : Ġ( Boolean ) Ġ-> ĠUnit Ċ ) Ġ: ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġselected Comp lication Location : ĠComp lication Location ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġwatch Face Component Name Ġ= ĠComponent Name ( context , ĠPixel Minimal Watch Face :: class . java ) ĊĠĠĠ Ġprivate Ġval Ġprovider Info Retriever Ġ= ĠProvider Info Retriever ( context , ĠExec utors . new Cached ThreadPool ()) ĊĠĠĠ Ġprivate Ġvar Ġpreview And Comp lications ViewHolder : ĠPreview And Comp lications ViewHolder ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġshow Weather ViewHolder : ĠShow Weather ViewHolder ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġsettings Ġ= Ġgenerate Settings List ( context , Ġstorage ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( view Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ HEADER Ġ-> Ġreturn ĠHeader ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . config _ list _ header , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ PRE VIEW _ AND _ COMP LIC ATIONS _ CONFIG Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpreview And Comp lications ViewHolder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPreview And Comp lications ViewHolder ( LayoutInflater . from ( parent . context ). inflate ( R . layout . config _ list _ preview _ and _ comp lications _ item , Ġparent , Ġfalse )) Ġ{ Ġlocation Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected Comp lication Location Ġ= Ġlocation ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġselected Comp lication Id Ġ= Ġget Comp lication Id ( location ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( selected Comp lication Id Ġ>= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsupported Types Ġ= Ġget Supported Comp lication Types ( location ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( context Ġas ĠActivity ). startActivity For Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp lication Helper Activity . create Provider Chooser Helper Intent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwatch Face Component Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected Comp lication Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* supported Types ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp lication Config Activity . COMP LIC ATION _ CONFIG _ REQUEST _ CODE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . preview And Comp lications ViewHolder Ġ= Ġpreview And Comp lications ViewHolder ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġpreview And Comp lications ViewHolder ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ COLOR _ CONFIG Ġ-> Ġreturn ĠColor Picker ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . config _ list _ color _ item , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ FO OTER Ġ-> Ġreturn ĠFooter ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . config _ list _ footer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ BE CO ME _ PRE MI UM Ġ-> Ġreturn ĠPremium ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . config _ list _ premium , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprem ium ClickListener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ HOUR _ FORMAT Ġ-> Ġreturn ĠHour Format ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . config _ list _ hour _ format , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhour Format Selection Listener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ SEND _ FEED BACK Ġ-> Ġreturn ĠSend Feedback ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . config _ list _ feedback , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Feedback Button Pressed ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ SHOW _ WE AR _ OS _ LOG O Ġ-> Ġreturn ĠShow W ear OS Logo ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . config _ list _ show _ we ar os _ logo , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) Ġ{ Ġshow W ear OS Logo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow W ear OS Button Listener ( show W ear OS Logo ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreview And Comp lications ViewHolder ?. show Middle Comp lication (! show W ear OS Logo ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ SHOW _ COMP LIC ATIONS _ AM BI ENT Ġ-> Ġreturn ĠShow Comp lications Ambient ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . config _ list _ show _ comp lications _ ambient , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Comp lications Ambient Listener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ SHOW _ FIL LED _ TIME _ AM BI ENT Ġ-> Ġreturn ĠShow Filled Time Ambient ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . config _ list _ show _ filled _ time _ ambient , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Filled Time Ambient Listener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ TIME _ SIZE Ġ-> Ġreturn ĠTime Size ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . config _ list _ time _ size , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtime Size Changed Listener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ SHOW _ SECONDS _ RING Ġ-> Ġreturn ĠShow Seconds Ring ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . config _ list _ show _ seconds _ ring , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Seconds Ring Listener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ SHOW _ WE ATHER Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġshow Weather ViewHolder Ġ= ĠShow Weather ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . config _ list _ show _ weather , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ Ġshow Weather Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( Ġshow Weather Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( context Ġas ĠActivity ). startActivity For Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp lication Helper Activity . create Permission Request Helper Intent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwatch Face Component Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp lication Config Activity . COMP LIC ATION _ PERMISSION _ REQUEST _ CODE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Weather Listener ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . show Weather ViewHolder Ġ= Ġshow Weather ViewHolder ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġshow Weather ViewHolder ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" Unknown Ġoption Ġtype : Ġ$ view Type ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( view Holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( view Holder . item ViewType ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ PRE VIEW _ AND _ COMP LIC ATIONS _ CONFIG Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpreview And Comp lications ViewHolder Ġ= ĠviewHolder Ġas ĠPreview And Comp lications ViewHolder ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( Ġ! preview And Comp lications ViewHolder . bound Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreview And Comp lications ViewHolder . bound Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreview And Comp lications ViewHolder . setDefault Comp lication Drawable () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreview And Comp lications ViewHolder . show Middle Comp lication (! storage . should Show W ear OS Logo ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinitializes Colors And Comp lications () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ HOUR _ FORMAT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuse 2 4 h Time Format Ġ= Ġstorage . get Use 2 4 h Time Format () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( view Holder Ġas ĠHour Format ViewHolder ). set Hour Format Switch Checked ( use 2 4 h Time Format ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ SHOW _ WE AR _ OS _ LOG O Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( view Holder Ġas ĠShow W ear OS Logo ViewHolder ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetShow W ear OS Logo Switch Checked ( storage . should Show W ear OS Logo ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Prem ium Title ( storage . is User Prem ium ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ SHOW _ COMP LIC ATIONS _ AM BI ENT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġshow Comp lications Ambient Ġ= Ġstorage . should Show Comp lications In Ambient Mode () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( view Holder Ġas ĠShow Comp lications Ambient ViewHolder ). set Show Comp lications Ambient Switch Checked ( show Comp lications Ambient ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ SHOW _ FIL LED _ TIME _ AM BI ENT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġshow Filled Time Ambient Ġ= Ġstorage . should Show Filled TimeIn Ambient Mode () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( view Holder Ġas ĠShow Filled Time Ambient ViewHolder ). set Show Filled Time Switch Checked ( show Filled Time Ambient ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ TIME _ SIZE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġstorage . getTime Size () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( view Holder Ġas ĠTime Size ViewHolder ). setTime Size ( size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ SHOW _ SECONDS _ RING Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġshow Seconds Ġ= Ġstorage . should Show Seconds Ring () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( view Holder Ġas ĠShow Seconds Ring ViewHolder ). set Show Seconds Ring Switch Checked ( show Seconds ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ SHOW _ WE ATHER Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġshow Weather Ġ= Ġstorage . should Show Weather () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( view Holder Ġas ĠShow Weather ViewHolder ). set Show Weather View Switch Checked ( show Weather ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinitializes Colors And Comp lications () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcomp lication Ids Ġ= Ġget Comp lication Ids () ĊĊĠĠĠĠĠĠĠ Ġprovider Info Retriever . retrieve Provider Info ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠOn Provider Info Received Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Provider Info Received ( watch Face Comp lication Id : ĠInt , Ġcomp lication Provider Info : ĠComp lication Provider Info ?) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreview And Comp lications ViewHolder ?. update Comp lication Views ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( watch Face Comp lication Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Comp lication Id ( Comp lication Location . LEFT ) Ġ-> Ġ{ ĠComp lication Location . LEFT Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Comp lication Id ( Comp lication Location . MIDDLE ) Ġ-> Ġ{ ĠComp lication Location . MIDDLE Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Comp lication Id ( Comp lication Location . BOTTOM ) Ġ-> Ġ{ ĠComp lication Location . BOTTOM Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĠComp lication Location . RIGHT Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp lication Provider Info , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstorage . get Comp lication Colors () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwatch Face Component Name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ* comp lication Ids ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ= Ġsettings [ position ] ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġsettings . size ĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Settings List ( context : ĠContext , Ġstorage : ĠStorage ): ĠList < Int > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġis User Prem ium Ġ= Ġstorage . is User Prem ium () ĊĠĠĠĠĠĠĠ Ġval Ġis Screen Round Ġ= Ġcontext . is Screen Round () ĊĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠArrayList < Int >( 1 1 ) ĊĊĠĠĠĠĠĠĠ Ġlist . add ( TYPE _ HEADER ) ĊĠĠĠĠĠĠĠ Ġif ( Ġis User Prem ium Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( TYPE _ PRE VIEW _ AND _ COMP LIC ATIONS _ CONFIG ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( TYPE _ COLOR _ CONFIG ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( Ġcontext . is Service Available ( WE AR _ OS _ APP _ PACKAGE , ĠWE ATHER _ PROVIDER _ SERVICE ) Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( TYPE _ SHOW _ WE ATHER ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( TYPE _ BE CO ME _ PRE MI UM ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlist . add ( TYPE _ SHOW _ WE AR _ OS _ LOG O ) ĊĠĠĠĠĠĠĠ Ġif ( Ġis User Prem ium Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( TYPE _ SHOW _ COMP LIC ATIONS _ AM BI ENT ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlist . add ( TYPE _ HOUR _ FORMAT ) ĊĠĠĠĠĠĠĠ Ġlist . add ( TYPE _ TIME _ SIZE ) ĊĠĠĠĠĠĠĠ Ġlist . add ( TYPE _ SHOW _ FIL LED _ TIME _ AM BI ENT ) ĊĠĠĠĠĠĠĠ Ġif ( Ġis Screen Round Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( TYPE _ SHOW _ SECONDS _ RING ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlist . add ( TYPE _ SEND _ FEED BACK ) ĊĠĠĠĠĠĠĠ Ġlist . add ( TYPE _ FO OTER ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠUpdates Ġthe Ġselected Ġcomp lication Ġid Ġsaved Ġearlier Ġwith Ġthe Ġnew Ġinformation . Ġ Ġ*/ ĊĠĠĠ Ġfun Ġupdate Selected Comp lication ( comp lication Provider Info : ĠComp lication Provider Info ?) Ġ{ Ġ// ĠChecks Ġif Ġview Ġis Ġinfl ated Ġand Ġcomp lication Ġid Ġis Ġvalid . ĊĠĠĠĠĠĠĠ Ġval Ġselected Comp lication Location Ġ= Ġselected Comp lication Location ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Ġselected Comp lication Location Ġ!= Ġnull Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreview And Comp lications ViewHolder ?. update Comp lication Views ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected Comp lication Location , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp lication Provider Info , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstorage . get Comp lication Colors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attached To RecyclerView ( re cyclerView : ĠRecyclerView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attached To RecyclerView ( re cyclerView ) ĊĊĠĠĠĠĠĠĠ Ġprovider Info Retriever . init () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detached From RecyclerView ( re cyclerView : ĠRecyclerView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Detached From RecyclerView ( re cyclerView ) ĊĊĠĠĠĠĠĠĠ Ġon Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġprovider Info Retriever . release () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Preview Colors () Ġ{ ĊĠĠĠĠĠĠĠ Ġpreview And Comp lications ViewHolder ?. update Comp lications Accent Color ( storage . get Comp lication Colors ()) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġcomp lications Permission Finished () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgranted Ġ= Ġcontext . is Permission Granted (" com . google . android . we arable . permission . RECEIVE _ COMP LIC ATION _ DATA ") ĊĊĠĠĠĠĠĠĠ Ġshow Weather ViewHolder ?. set Show Weather View Switch Checked ( gr anted ) ĊĠĠĠĠĠĠĠ Ġshow Weather Listener ( gr anted ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ enum Ġclass ĠComp lication Location Ġ{ ĊĠĠĠ ĠLEFT , ĠM ID DLE , ĠRIGHT , ĠBOTTOM Ċ } Ċ Ċ class ĠColor Picker ViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ), ĠView . OnClickListener Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġview . setOnClickListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlaunch Intent Ġ= ĠIntent ( view . context , ĠColor Selection Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġview . context Ġas ĠActivity ĊĊĠĠĠĠĠĠĠ Ġactivity . startActivity For Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Intent , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComp lication Config Activity . UPDATE _ COLORS _ CONFIG _ REQUEST _ CODE ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠPreview And Comp lications ViewHolder ( ĊĠĠĠ Ġview : ĠView , ĊĠĠĠ Ġprivate Ġval Ġlistener : Ġ( location : ĠComp lication Location ) Ġ-> ĠUnit Ċ ) Ġ: ĠRecyclerView . ViewHolder ( view ), ĠView . OnClickListener Ġ{ ĊĠĠĠ Ġvar Ġbound Ġ= Ġfalse ĊĊĠĠĠ Ġprivate Ġval Ġwe ar OS Logo ImageView : ĠImageView Ġ= Ġview . findViewById ( R . id . we ar _ os _ logo _ image _ view ) ĊĠĠĠ Ġprivate Ġval Ġleft Comp lication Background : ĠImageView Ġ= Ġview . findViewById ( R . id . left _ comp lication _ background ) ĊĠĠĠ Ġprivate Ġval Ġmiddle Comp lication Background : ĠImageView Ġ= Ġview . findViewById ( R . id . middle _ comp lication _ background ) ĊĠĠĠ Ġprivate Ġval Ġright Comp lication Background : ĠImageView Ġ= Ġview . findViewById ( R . id . right _ comp lication _ background ) ĊĠĠĠ Ġprivate Ġval Ġbottom Comp lication Background : ĠImageView Ġ= Ġview . findViewById ( R . id . bottom _ comp lication _ background ) ĊĠĠĠ Ġprivate Ġval Ġleft Comp lication : ĠImage Button Ġ= Ġview . findViewById ( R . id . left _ comp lication ) ĊĠĠĠ Ġprivate Ġval Ġmiddle Comp lication : ĠImage Button Ġ= Ġview . findViewById ( R . id . middle _ comp lication ) ĊĠĠĠ Ġprivate Ġval Ġright Comp lication : ĠImage Button Ġ= Ġview . findViewById ( R . id . right _ comp lication ) ĊĠĠĠ Ġprivate Ġval Ġbottom Comp lication : ĠImage Button Ġ= Ġview . findViewById ( R . id . bottom _ comp lication ) ĊĠĠĠ Ġprivate Ġvar Ġadd Comp lication Drawable : ĠDrawable Ġ= Ġview . context . get Drawable ( R . drawable . add _ comp lication ) !! ĊĠĠĠ Ġprivate Ġvar Ġadded Comp lication Drawable : ĠDrawable Ġ= Ġview . context . get Drawable ( R . drawable . added _ comp lication ) !! ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġleft Comp lication . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġmiddle Comp lication . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġright Comp lication . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġbottom Comp lication . setOnClickListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsetDefault Comp lication Drawable () Ġ{ ĊĠĠĠĠĠĠĠ Ġleft Comp lication . setImage Drawable ( add Comp lication Drawable ) ĊĠĠĠĠĠĠĠ Ġmiddle Comp lication . setImage Drawable ( add Comp lication Drawable ) ĊĠĠĠĠĠĠĠ Ġright Comp lication . setImage Drawable ( add Comp lication Drawable ) ĊĠĠĠĠĠĠĠ Ġbottom Comp lication . setImage Drawable ( add Comp lication Drawable ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( view ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġleft Comp lication Ġ-> Ġ{ Ġlistener ( Comp lication Location . LEFT ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmiddle Comp lication Ġ-> Ġ{ Ġlistener ( Comp lication Location . MIDDLE ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġright Comp lication Ġ-> Ġ{ Ġlistener ( Comp lication Location . RIGHT ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Comp lication Ġ-> Ġ{ Ġlistener ( Comp lication Location . BOTTOM ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Middle Comp lication ( show Middle Comp lication : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmiddle Comp lication . visibility Ġ= Ġif ( Ġshow Middle Comp lication Ġ) Ġ{ ĠView . VISIBLE Ġ} Ġelse Ġ{ ĠView . GONE Ġ} ĊĠĠĠĠĠĠĠ Ġmiddle Comp lication Background . visibility Ġ= Ġif ( Ġshow Middle Comp lication Ġ) Ġ{ ĠView . VISIBLE Ġ} Ġelse Ġ{ ĠView . IN VISIBLE Ġ} ĊĠĠĠĠĠĠĠ Ġwe ar OS Logo ImageView . visibility Ġ= Ġif ( Ġ! show Middle Comp lication Ġ) Ġ{ ĠView . VISIBLE Ġ} Ġelse Ġ{ ĠView . GONE Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Comp lication Views ( location : ĠComp lication Location , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp lication Provider Info : ĠComp lication Provider Info ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp lication Colors : ĠComp lication Colors ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( location ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComp lication Location . LEFT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Comp lication View ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp lication Provider Info , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Comp lication , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Comp lication Background , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp lication Colors ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComp lication Location . MIDDLE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Comp lication View ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp lication Provider Info , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmiddle Comp lication , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmiddle Comp lication Background , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp lication Colors ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComp lication Location . RIGHT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Comp lication View ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp lication Provider Info , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Comp lication , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Comp lication Background , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp lication Colors ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComp lication Location . BOTTOM Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Comp lication View ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp lication Provider Info , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Comp lication , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Comp lication Background , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp lication Colors ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Comp lication View ( comp lication Provider Info : ĠComp lication Provider Info ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton : ĠImage Button , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbackground : ĠImageView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp lication Colors : ĠComp lication Colors ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( comp lication Provider Info Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton . setImage Icon ( comp lication Provider Info . provider Icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbackground . setImage Drawable ( added Comp lication Drawable ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton . setImage Icon ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbackground . setImage Drawable ( add Comp lication Drawable ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġupdate Comp lications Accent Color ( comp lication Colors ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Comp lications Accent Color ( colors : ĠComp lication Colors ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( Ġright Comp lication . drawable Ġ== Ġadd Comp lication Drawable Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġright Comp lication . setColor Filter ( Color . WHITE ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġright Comp lication . setColor Filter ( colors . right Color ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif ( Ġleft Comp lication . drawable Ġ== Ġadd Comp lication Drawable Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġleft Comp lication . setColor Filter ( Color . WHITE ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġleft Comp lication . setColor Filter ( colors . left Color ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif ( Ġmiddle Comp lication . drawable Ġ== Ġadd Comp lication Drawable Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmiddle Comp lication . setColor Filter ( Color . WHITE ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmiddle Comp lication . setColor Filter ( colors . middle Color ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif ( Ġbottom Comp lication . drawable Ġ== Ġadd Comp lication Drawable Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Comp lication . setColor Filter ( Color . WHITE ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Comp lication . setColor Filter ( colors . bottom Color ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠHeader ViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ċ Ċ class ĠFooter ViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġversion TextView : ĠTextView Ġ= Ġview . findViewById ( R . id . app _ version ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġversion TextView . text Ġ= Ġversion TextView . context . getString ( R . string . config _ version , ĠBuild Config . VERSION _ NAME ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠPremium ViewHolder ( view : ĠView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprem ium ClickListener : Ġ() Ġ-> ĠUnit ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġprem ium Button : ĠButton Ġ= Ġview . findViewById ( R . id . premium _ button ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġprem ium Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprem ium ClickListener () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠHour Format ViewHolder ( view : ĠView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhour Format ClickListener : Ġ( Boolean ) Ġ-> ĠUnit ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġhour Format Switch : ĠSwitch Ġ= Ġview Ġas ĠSwitch ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġhour Format Switch . setOn Checked ChangeListener Ġ{ Ġ_, Ġchecked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhour Format ClickListener ( checked ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Hour Format Switch Checked ( checked : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhour Format Switch . isChecked Ġ= Ġchecked ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠShow W ear OS Logo ViewHolder ( view : ĠView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow W ear OS Logo ClickListener : Ġ( Boolean ) Ġ-> ĠUnit ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġwe ar OS Logo Switch : ĠSwitch Ġ= Ġview Ġas ĠSwitch ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġwe ar OS Logo Switch . setOn Checked ChangeListener Ġ{ Ġ_, Ġchecked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow W ear OS Logo ClickListener ( checked ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsetShow W ear OS Logo Switch Checked ( checked : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwe ar OS Logo Switch . isChecked Ġ= Ġchecked ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Prem ium Title ( user Prem ium : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwe ar OS Logo Switch . text Ġ= ĠitemView . context . getString ( if ( Ġuser Prem ium Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . config _ show _ we ar _ os _ logo _ premium ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . config _ show _ we ar _ os _ logo ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠSend Feedback ViewHolder ( view : ĠView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Feedback Button Pressed : Ġ() Ġ-> ĠUnit ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġview . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Feedback Button Pressed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠShow Comp lications Ambient ViewHolder ( view : ĠView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Comp lications Ambient ClickListener : Ġ( Boolean ) Ġ-> ĠUnit ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġshow Comp lications Ambient Switch : ĠSwitch Ġ= Ġview Ġas ĠSwitch ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Comp lications Ambient Switch . setOn Checked ChangeListener Ġ{ Ġ_, Ġchecked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Comp lications Ambient ClickListener ( checked ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsetShow Comp lications Ambient Switch Checked ( checked : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Comp lications Ambient Switch . isChecked Ġ= Ġchecked ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠShow Filled Time Ambient ViewHolder ( view : ĠView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Filled Time ClickListener : Ġ( Boolean ) Ġ-> ĠUnit ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġshow Filled Time Switch : ĠSwitch Ġ= Ġview Ġas ĠSwitch ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Filled Time Switch . setOn Checked ChangeListener Ġ{ Ġ_, Ġchecked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Filled Time ClickListener (! checked ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsetShow Filled Time Switch Checked ( checked : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Filled Time Switch . isChecked Ġ= Ġ! checked ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠTime Size ViewHolder ( view : ĠView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtime Size Changed : Ġ( Int ) Ġ-> ĠUnit ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġtime Size Seek Bar : ĠSeek Bar Ġ= Ġview . findViewById ( R . id . time _ size _ seek _ bar ) ĊĠĠĠ Ġprivate Ġval Ġtime Size Text : ĠTextView Ġ= Ġview . findViewById ( R . id . time _ size _ text ) ĊĠĠĠ Ġprivate Ġval Ġstep Size Ġ= Ġ 2 5 ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġtime Size Seek Bar . setOn Seek Bar ChangeListener ( object Ġ: ĠSeek Bar . On Seek Bar ChangeListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( seek Bar : ĠSeek Bar , Ġprogress : ĠInt , Ġfrom User : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconverted Progress Ġ= Ġ( progress Ġ/ Ġstep Size ) Ġ* Ġstep Size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġseek Bar . progress Ġ= Ġconverted Progress ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( converted Progress ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtime Size Changed ( converted Progress ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonStart Tracking Touch ( seek Bar : ĠSeek Bar ?) Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Stop Tracking Touch ( seek Bar : ĠSeek Bar ?) Ġ{} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Time Size ( size : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtime Size Seek Bar . set Progress ( size , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġset Text ( size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Text ( size : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtime Size Text . text Ġ= ĠitemView . context . getString ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . config _ time _ size , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . context . time Size To Human Readable String ( size ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠShow Seconds Ring ViewHolder ( view : ĠView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Seconds Ring ClickListener : Ġ( Boolean ) Ġ-> ĠUnit ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġshow Seconds Ring Switch : ĠSwitch Ġ= Ġview Ġas ĠSwitch ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Seconds Ring Switch . setOn Checked ChangeListener Ġ{ Ġ_, Ġchecked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Seconds Ring ClickListener ( checked ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsetShow Seconds Ring Switch Checked ( checked : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Seconds Ring Switch . isChecked Ġ= Ġchecked ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠShow Weather ViewHolder ( view : ĠView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Weather ViewHolder ClickListener : Ġ( Boolean ) Ġ-> ĠUnit ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġshow Weather View Switch : ĠSwitch Ġ= Ġview Ġas ĠSwitch ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Weather View Switch . setOn Checked ChangeListener Ġ{ Ġ_, Ġchecked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Weather ViewHolder ClickListener ( checked ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsetShow Weather View Switch Checked ( checked : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Weather View Switch . isChecked Ġ= Ġchecked ĊĠĠĠ Ġ} Ċ }