package Ġcom . tom t ase . r azor bill Ċ Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . support . we arable . comp lications . Comp lication Provider Info Ċ import Ġandroid . widget . Image Button Ċ import Ġandroid . support . we arable . comp lications . Comp lication Helper Activity Ċ import Ġandroid . content . Component Name Ċ import Ġcom . tom t ase . r azor bill . Configuration RecyclerView Adapter . Comp lication Location Ċ import Ġandroid . app . Activity Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . support . we arable . comp lications . Provider Info Retriever Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġjava . util . concurrent . Executors ĊĊ Ċ class ĠPreview ViewHolder Ġ: ĠRecyclerView . ViewHolder , ĠView . OnClickListener Ġ{ ĊĠĠĠ Ġvar Ġselected Comp lication Id : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġprivate Ġvar Ġwatch Face : ĠView ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġleft Comp lication Background : ĠImageView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġright Comp lication Background : ĠImageView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġbottom Comp lication Background : ĠImageView ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġleft Comp lication : ĠImage Button ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġright Comp lication : ĠImage Button ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġbottom Comp lication : ĠImage Button ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġdefault Comp lication Drawable : ĠDrawable ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġprovider Info Retriever : ĠProvider Info Retriever ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġwatch Face Component Name : ĠComponent Name ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( view : ĠView ) Ġ: Ġsuper ( view ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwatch Face Ġ= Ġview . findViewById ( R . id . watch _ face ) ĊĊĠĠĠĠĠĠĠ Ġleft Comp lication Background Ġ= Ġview . findViewById ( R . id . left _ comp lication _ background ) Ġas ĠImageView ĊĠĠĠĠĠĠĠ Ġleft Comp lication Ġ= Ġview . findViewById ( R . id . left _ comp lication ) ĊĠĠĠĠĠĠĠ Ġleft Comp lication ?. setOnClickListener ( this ) ĊĊĠĠĠĠĠĠĠ Ġright Comp lication Background Ġ= Ġview . findViewById ( R . id . right _ comp lication _ background ) Ġas ĠImageView ĊĠĠĠĠĠĠĠ Ġright Comp lication Ġ= Ġview . findViewById ( R . id . right _ comp lication ) ĊĠĠĠĠĠĠĠ Ġright Comp lication ?. setOnClickListener ( this ) ĊĊĠĠĠĠĠĠĠ Ġbottom Comp lication Background Ġ= Ġview . findViewById ( R . id . bottom _ comp lication _ background ) Ġas ĠImageView ĊĠĠĠĠĠĠĠ Ġbottom Comp lication Ġ= Ġview . findViewById ( R . id . bottom _ comp lication ) ĊĠĠĠĠĠĠĠ Ġbottom Comp lication ?. setOnClickListener ( this ) ĊĊĠĠĠĠĠĠĠ Ġwatch Face Component Name Ġ= ĠComponent Name ( view . context , ĠR azor bill :: class . java !! ) ĊĊĠĠĠĠĠĠĠ Ġprovider Info Retriever Ġ= ĠProvider Info Retriever ( view . context , ĠExec utors . new Cached ThreadPool ()) ĊĠĠĠĠĠĠĠ Ġprovider Info Retriever ?. init () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrelease Provider Info Retriever () Ġ{ ĊĠĠĠĠĠĠĠ Ġprovider Info Retriever ?. release () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( view Ġ== Ġleft Comp lication ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Activity Ġ= Ġview . context Ġas ĠActivity ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Comp lication Helper Activity ( current Activity , ĠComp lication Location . LEFT ) ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( view Ġ== Ġright Comp lication ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Activity Ġ= Ġview . context Ġas ĠActivity ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Comp lication Helper Activity ( current Activity , ĠComp lication Location . RIGHT ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( view Ġ== Ġbottom Comp lication ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Activity Ġ= Ġview . context Ġas ĠActivity ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Comp lication Helper Activity ( current Activity , ĠComp lication Location . BOTTOM ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlaunch Comp lication Helper Activity ( current Activity : ĠActivity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp lication Location : ĠComp lication Location ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġselected Comp lication Id Ġ= ĠR azor bill . get Comp lication Id ( comp lication Location ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( selected Comp lication Id Ġ>= Ġ 0 ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsupported Types Ġ= ĠR azor bill . get Supported Comp lication Types ( comp lication Location ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwatch Face Ġ= ĠComponent Name ( current Activity , ĠR azor bill :: class . java !! ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Activity . startActivity For Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp lication Helper Activity . create Provider Chooser Helper Intent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwatch Face , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected Comp lication Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* supported Types ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConfiguration Activity . COMP LIC ATION _ CONFIG _ REQUEST _ CODE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinitialize Comp lication Background s ( resourceId : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġwatch Face ?. context ĊĠĠĠĠĠĠĠ Ġdefault Comp lication Drawable Ġ= Ġcontext ?. get Drawable ( resourceId ) ĊĊĠĠĠĠĠĠĠ Ġleft Comp lication ?. setImage Drawable ( default Comp lication Drawable ) ĊĠĠĠĠĠĠĠ Ġleft Comp lication Background ?. visibility Ġ= ĠView . IN VISIBLE ĊĊĠĠĠĠĠĠĠ Ġright Comp lication ?. setImage Drawable ( default Comp lication Drawable ) ĊĠĠĠĠĠĠĠ Ġright Comp lication Background ?. visibility Ġ= ĠView . IN VISIBLE ĊĊĠĠĠĠĠĠĠ Ġbottom Comp lication ?. setImage Drawable ( default Comp lication Drawable ) ĊĠĠĠĠĠĠĠ Ġbottom Comp lication Background ?. visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Comp lication Views ( watch Face Comp lication Id : ĠInt , Ġcomp lication Provider Info : ĠComp lication Provider Info ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( watch Face Comp lication Id Ġ== ĠR azor bill . get Comp lication Id ( Comp lication Location . LEFT )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Comp lication View ( comp lication Provider Info , Ġleft Comp lication , Ġleft Comp lication Background ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( watch Face Comp lication Id Ġ== ĠR azor bill . get Comp lication Id ( Comp lication Location . RIGHT )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Comp lication View ( comp lication Provider Info , Ġright Comp lication , Ġright Comp lication Background ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( watch Face Comp lication Id Ġ== ĠR azor bill . get Comp lication Id ( Comp lication Location . BOTTOM )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Comp lication View ( comp lication Provider Info , Ġbottom Comp lication , Ġbottom Comp lication Background ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Comp lication View ( comp lication Provider Info : ĠComp lication Provider Info ?, ĊĠĠĠĠĠĠĠ Ġbutton : ĠImage Button ?, Ġbackground : ĠImageView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( comp lication Provider Info Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton ?. setImage Icon ( comp lication Provider Info . provider Icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbackground ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton ?. setImage Drawable ( default Comp lication Drawable ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbackground ?. visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinitialize Comp lications () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġcomp lication Ids Ġ= ĠR azor bill . get Comp lication Ids () ĊĊĠĠĠĠĠĠĠ Ġprovider Info Retriever ?. retrieve Provider Info ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠProvider Info Retriever . 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 ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Comp lication Views ( watch Face Comp lication Id , Ġcomp lication Provider Info ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwatch Face Component Name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ* comp lication Ids ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }