package Ġcom . ky aw hut . ats y cast . tw od . ui . components Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroidx . core . view . isVisible Ċ import Ġcom . ky aw hut . ats y cast . share . components . Rounded Constraint Layout Ċ import Ġcom . ky aw hut . ats y cast . tw od . data . network . response . Today Response Ċ import Ġcom . ky aw hut . ats y cast . tw od . databinding . View 2 d Binding Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* Ġ@ author Ġk yaw ht ut Ċ Ġ* Ġ@ date Ġ 9 / 2 0 / 2 1 Ċ Ġ*/ Ċ class ĠTwo D View Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġattrs : ĠAttributeSet ? Ġ= Ġnull , ĊĠĠĠ Ġdef Style Attr : ĠInt Ġ= Ġ 0 Ċ ) Ġ: ĠRo unded Constraint Layout ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġtarget DateFormat Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠSimpleDateFormat (" EEEE , Ġdd ĠM MM , Ġy yyy ", ĠLocale . EN GL ISH ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġoriginal DateFormat Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠSimpleDateFormat (" yyyy - MM - dd ", ĠLocale . EN GL ISH ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġvb : ĠView 2 d Binding Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠView 2 d Binding . inflate ( LayoutInflater . from ( context ), Ġthis , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Finish Inf late () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Finish Inf late () ĊĠĠĠĠĠĠĠ Ġbind ( data Ġ= Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbind ( luck y Number : ĠString Ġ= Ġ"", Ġdata : ĠToday Response ? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( data Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġis Visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġvb . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview L uck y Number . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Two D Date . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview 2 d . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview 3 d . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdata . two D ?. let Ġ{ Ġtwo D Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvb . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview L uck y Number . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Two D Date . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview 2 d . isVisible Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . luck y Number Ġ= Ġluck y Number ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdateTime Ġ= Ġtarget DateFormat . format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoriginal DateFormat . parse ( two D . date ) Ġ?: ĠDate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpm Two D Ġ= Ġtwo D . pm . two D Ġ?: Ġ"-- " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpm Set Ġ= Ġtwo D . pm . set Ġ?: Ġ" ---- . -- " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpm Value Ġ= Ġtwo D . pm . value Ġ?: Ġ" ---- . -- " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġam Two D Ġ= Ġtwo D . am . two D Ġ?: Ġ"-- " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġam Set Ġ= Ġtwo D . am . set Ġ?: Ġ" ---- . -- " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġam Value Ġ= Ġtwo D . am . value Ġ?: Ġ" ---- . -- " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġn ine Internet Ġ= Ġtwo D . am . internet Ġ?: Ġ"-- " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġn ine Mod ern Ġ= Ġtwo D . am . modern Ġ?: Ġ"-- " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtwo Internet Ġ= Ġtwo D . pm . internet Ġ?: Ġ"-- " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtwo Mod ern Ġ= Ġtwo D . pm . modern Ġ?: Ġ"-- " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdata . three D ?. let Ġ{ Ġthree D Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvb . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Two D Date . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview 3 d . isVisible Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( dateTime . isNull OrEmpty ()) ĠdateTime Ġ= Ġtarget DateFormat . format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoriginal DateFormat . parse ( three D . date ) Ġ?: ĠDate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . three D Ġ= Ġthree D . three D ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvb . execute Pending Bindings () ĊĠĠĠ Ġ} Ċ } Ċ