package Ġcom . re venue cat . purchase tester Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġcom . re venue cat . p urchases . P urch aser Info Ċ import Ġcom . re venue cat . p urchases . P urchases Ċ import Ġcom . re venue cat . p urchases . identify With Ċ import Ġcom . re venue cat . p urchases . reset With Ċ import Ġcom . re venue cat . purchase tester . databinding . Fragment Login Binding Ċ Ċ class ĠLogin Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġbinding : ĠFragment Login Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠFragment Login Binding . inflate ( in flater ) ĊĊĠĠĠĠĠĠĠ Ġbinding . login Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . login Username EditText . text ?. toString ()?. let Ġ{ ĠuserId Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP urchases . shared Instance ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. identify With ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġerror Ġ-> Ġshow User Error ( require Activity (), Ġerror ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ:: advance To Overview Fragment ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . anonymous User Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠP urchases . shared Instance . reset With ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġerror Ġ-> Ġshow User Error ( require Activity (), Ġerror ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ:: advance To Overview Fragment ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadvance To Overview Fragment ( p urch aser Info : ĠP urch aser Info ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdirections Ġ= ĠLogin Fragment Directions . action Login Fragment To Overview Fragment () ĊĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( directions ) ĊĠĠĠ Ġ} Ċ } Ċ