package Ġcom . re venue cat . purchase tester Ċ Ċ import Ġandroid . content . Clip Data Ċ import Ġandroid . content . Clipboard Manager Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . content . Context Compat . getSystem Service Ċ import Ġandroidx . core . view . do On Pre Draw Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . navigation . fragment . Fragment Navigator Extras Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . google . android . material . transition . Material Elevation Scale Ċ import Ġcom . re venue cat . p urchases . Ent itlement Info Ċ import Ġcom . re venue cat . p urchases . Offer ing Ċ import Ġcom . re venue cat . p urchases . Offer ings Ċ import Ġcom . re venue cat . p urchases . P urchases Ċ import Ġcom . re venue cat . p urchases . get Offer ings With Ċ import Ġcom . re venue cat . p urchases . getP urch aser Info With Ċ import Ġcom . re venue cat . p urchases . reset With Ċ import Ġcom . re venue cat . purchase tester . databinding . Fragment Overview Binding Ċ Ċ class ĠOverview Fragment Ġ: ĠFragment (), ĠOffer ing Card Adapter . Offer ing Card Adapter Listener Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġbinding : ĠFragment Overview Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠFragment Overview Binding . inflate ( in flater ) ĊĊĠĠĠĠĠĠĠ Ġbinding . p urch aser Info Card . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( binding . p urch aser Info Details Container ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġif Ġ( visibility Ġ== ĠView . GONE ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . p urch aser Info Card Expand Button ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. animate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. rotation By ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( visibility Ġ== ĠView . GONE ) Ġ- ANIM ATION _ HALF _ ROT ATION _ DE GRE ES ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠAN IM ATION _ HALF _ ROT ATION _ DE GRE ES ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Duration ( resources . getInteger ( R . integer . transition _ duration ). to Long ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. start () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . p urch aser Info Logout Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠP urchases . shared Instance . reset With ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġerror Ġ-> Ġshow User Error ( require Activity (), Ġerror ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġfind Nav Controller (). navigate Up () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġpost p one Enter Transition () ĊĠĠĠĠĠĠĠ Ġview . do On Pre Draw Ġ{ Ġstart Post p oned Enter Transition () Ġ} ĊĊĠĠĠĠĠĠĠ ĠP urchases . shared Instance . getP urch aser Info With (:: show Error ) Ġ{ Ġinfo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpurch aser Info Ġ= Ġinfo ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpurch aser Info Copy UserId Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclipboard Ġ= Ġget System Service ( require Context (), ĠClip board Manager :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclip Ġ= ĠClip Data . new Plain Text (" Revenue Cat ĠuserId ", Ġinfo . original App UserId ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclipboard ?. primary Clip Ġ= Ġclip ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpurch aser Info JsonObject . detail Ġ= Ġinfo . jsonObject . toString ( JSON _ FORMAT TER _ IND ENT _ SP ACES ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpurch aser Info Active Ent itlement s . detail Ġ= Ġformat Ent itlement s ( info . ent itlement s . active . values ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpurch aser Info All Ent itlement s . detail Ġ= Ġformat Ent itlement s ( info . ent itlement s . all . values ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . p urch aser Info Manage Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinfo . management URL ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . data Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠP urchases . shared Instance . get Offer ings With (:: show Error , Ġ:: populate Offer ings ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpopulate Offer ings ( offer ings : ĠOffer ings ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( offer ings . all . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . offer ing Header . text Ġ= Ġ" No ĠOffer ings " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . overview Offer ings Recycler . layout Manager Ġ= ĠLinearLayoutManager ( require Context ()) ĊĠĠĠĠĠĠĠ Ġbinding . overview Offer ings Recycler . adapter Ġ= ĠOffer ing Card Adapter ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoffer ings . all . values . toList (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoffer ings . current , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġformat Ent itlement s ( ent itlement Infos : ĠCollection < Ent itlement Info >): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġent itlement Infos . join ToString ( separator Ġ= Ġ"\ n ") Ġ{ Ġit . to Brief String () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Offer ing Clicked ( card View : ĠView , Ġoffering : ĠOffer ing ) Ġ{ ĊĠĠĠĠĠĠĠ Ġexit Transition Ġ= ĠMaterial Elevation Scale ( false ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġduration Ġ= Ġrequire Context (). resources . getInteger ( R . integer . transition _ duration ). to Long () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġre enter Transition Ġ= ĠMaterial Elevation Scale ( true ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġduration Ġ= Ġrequire Context (). resources . getInteger ( R . integer . transition _ duration ). to Long () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġoffering Card Transition Name Ġ= ĠgetString ( R . string . offer ing _ fragment _ transition ) ĊĠĠĠĠĠĠĠ Ġval Ġextras Ġ= ĠFragment Navigator Extras ( card View Ġto Ġoffering Card Transition Name ) ĊĠĠĠĠĠĠĠ Ġval Ġdirections Ġ= ĠOverview Fragment Directions . action Overview Fragment To Offer ing Fragment ( offer ing ) ĊĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( directions , Ġextras ) ĊĠĠĠ Ġ} Ċ } Ċ