package Ġorg . edx . mobile . view Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġorg . edx . mobile . R Ċ import Ġorg . edx . mobile . base . Base Fragment Ċ import Ġorg . edx . mobile . databinding . Fragment Payments Info Binding Ċ import Ġorg . edx . mobile . model . api . Course Upgrade Response Ċ import Ġorg . edx . mobile . model . api . En rolled Courses Response Ċ import Ġorg . edx . mobile . util . Date Util Ċ import Ġorg . edx . mobile . util . Resource Util Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ class ĠPay ments Info Fragment Ġ: ĠBase Fragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠFragment Payments Info Binding ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( extras : ĠBundle ): ĠPay ments Info Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠPay ments Info Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġextras ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠFragment Payments Info Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġview . context ĊĠĠĠĠĠĠĠ Ġbinding . btn Close . setOnClickListener Ġ{ Ġactivity ?. finish () Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġcourse Data Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarguments ?. get Serializable ( Router . EXTRA _ CO URSE _ DATA ) Ġas ĠEn rolled Courses Response ĊĊĠĠĠĠĠĠĠ Ġval ĠdateFormat Ġ= ĠSimpleDateFormat (" MMM Ġdd , Ġy yyy ", ĠLocale . EN GL ISH ) ĊĠĠĠĠĠĠĠ Ġval ĠstringBuilder : ĠStringBuilder Ġ= Ġjava . lang . StringBuilder () ĊĊĠĠĠĠĠĠĠ Ġ// ĠPopulate Ġaccess Ġexpires Ġcontent ĊĠĠĠĠĠĠĠ Ġif Ġ(! android . text . TextUtils . isEmpty ( course Data . audit Access Expires )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpiry Date Ġ= ĠDate Util . convertTo Date ( course Data . audit Access Expires ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . tv Audit Access Expires On . text Ġ= ĠResource Util . get Formatted String ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . resources , ĠR . string . audit _ access _ expires _ on , Ġ" date ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdateFormat . format ( expiry Date ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource Util . get Formatted String ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . resources , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . audit _ access _ expires _ details , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" date ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdateFormat . format ( expiry Date ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// ĠPopulate Ġupgrade Ġdeadline Ġcontent ĊĠĠĠĠĠĠĠ Ġif Ġ(! android . text . TextUtils . isEmpty ( course Data . course . dynamic Upgrade Deadline )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġupgrade By Ġ= ĠDate Util . convertTo Date ( course Data . course . dynamic Upgrade Deadline ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append ("\ n \ n "). append ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource Util . get Formatted String ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . resources , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . upgrade _ deadline _ details , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" date ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdateFormat . format ( upgrade By ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . tv Audit Access Expires Details . text Ġ= ĠstringBuilder . toString () ĊĊĠĠĠĠĠĠĠ Ġval Ġcourse Upgrade Data Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarguments ?. get Parcelable < Course Upgrade Response >( Router . EXTRA _ CO URSE _ UP GR ADE _ DATA ) Ġas ĠCourse Upgrade Response ĊĠĠĠĠĠĠĠ ĠPay ments Banner Fragment . load Payments Banner Fragment ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . fragment _ container , Ġcourse Data , Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcourse Upgrade Data , Ġfalse , Ġchild FragmentManager , Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ