/* Ċ Ġ* Ġ ĠCopyright Ġ 2 0 1 8 ĠRo z do um Ċ Ġ* Ċ Ġ* Ġ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 . ro z do um . social components . views Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . support . v 4 . content . Context Compat Ċ import Ġandroid . util . Attribute Set Ċ Ċ import Ġcom . ro z do um . social components . R Ċ import Ġcom . ro z do um . social components . enums . Follow State Ċ import Ġcom . ro z do um . social components . utils . Log Util Ċ Ċ class ĠFollow Button Ġ: Ġandroid . support . v 7 . widget . AppCompat Button Ġ{ ĊĊĠĠĠ Ġvar Ġstate : ĠInt Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ) Ġ: Ġsuper ( context , Ġattrs ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet , Ġdef Style : ĠInt ) Ġ: Ġsuper ( context , Ġattrs , Ġdef Style ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsetState ( follow State : ĠFollow State ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( follow State ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFollow State . I _ FOLLOW _ USER , ĠFollow State . FOLLOW _ EACH _ OTHER Ġ-> Ġstate Ġ= ĠFOL LOW ING _ STATE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFollow State . USER _ FOLLOW _ ME Ġ-> Ġstate Ġ= ĠFOL LOW _ BACK _ STATE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFollow State . NO _ ONE _ FOLLOW Ġ-> Ġstate Ġ= ĠFOL LOW _ STATE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFollow State . MY _ PROFILE Ġ-> Ġstate Ġ= ĠIN VISIBLE _ STATE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġupdate Button State () ĊĠĠĠĠĠĠĠ ĠLog Util . log Debug ( TAG , Ġ" new Ġstate Ġcode : Ġ$ state ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġstate Ġ= ĠIN VISIBLE _ STATE ĊĠĠĠĠĠĠĠ Ġupdate Button State () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Button State () Ġ{ ĊĠĠĠĠĠĠĠ Ġis Clickable Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( state ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFOL LOW _ STATE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( R . string . button _ follow _ title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbackground Ġ= ĠContext Compat . get Drawable ( context , ĠR . drawable . follow _ button _ dark _ bg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset TextColor ( Context Compat . getColor ( context , ĠR . color . white )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠFOL LOW _ BACK _ STATE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( R . string . button _ follow _ back _ title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbackground Ġ= ĠContext Compat . get Drawable ( context , ĠR . drawable . follow _ button _ dark _ bg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset TextColor ( Context Compat . getColor ( context , ĠR . color . white )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠFOL LOW ING _ STATE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( R . string . button _ following ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbackground Ġ= ĠContext Compat . get Drawable ( context , ĠR . drawable . follow _ button _ light _ bg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset TextColor ( Context Compat . getColor ( context , ĠR . color . primary _ dark _ text )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠIN VISIBLE _ STATE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Clickable Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠTAG Ġ= ĠFollow Button :: class . java . simple Name ĊĊĠĠĠĠĠĠĠ Ġval ĠFOL LOW _ STATE Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġval ĠFOL LOW _ BACK _ STATE Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġval ĠFOL LOW ING _ STATE Ġ= Ġ 3 ĊĠĠĠĠĠĠĠ Ġval ĠIN VISIBLE _ STATE Ġ= Ġ- 1 ĊĠĠĠ Ġ} Ċ } Ċ