package Ġcom . nom do a 5 . nom do . ui . workspace Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . drawable . Color Drawable Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . datastore . core . DataStore Ċ import Ġandroidx . datastore . preferences . core . Preferences Ċ import Ġandroidx . datastore . preferences . preferences DataStore Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . nom do a 5 . nom do . databinding . Dialog UserProfile Workspace Binding Ċ import Ġcom . nom do a 5 . nom do . helpers . ViewModel Factory Ċ import Ġcom . nom do a 5 . nom do . repository . local . User Preferences Ċ import Ġcom . nom do a 5 . nom do . repository . model . User Ċ import Ġcom . nom do a 5 . nom do . ui . auth . Auth ViewModel ĊĊ Ċ private Ġval ĠContext . data Store : ĠData Store < Preferences > Ġby Ġpreferences DataStore ( name Ġ= Ġ" auth ") Ċ Ċ class ĠUser Profile Dialog Fragment Ġ: ĠDialog Fragment (), ĠView . OnClickListener Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġ_ binding : ĠDialog UserProfile Workspace Binding ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġbinding Ġget () Ġ= Ġ_ binding !! ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġwork spaces ViewModel : ĠWork spaces ViewModel ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġauth ViewModel : ĠAuth ViewModel ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġuser : ĠUser ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= ĠDialog UserProfile Workspace Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġroot : ĠView Ġ= Ġbinding . root ĊĠĠĠĠĠĠĠ Ġdialog !!. window !!. setBackground Drawable ( Color Drawable ( Color . TRANSP ARENT )) ĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġsetup ViewModel () ĊĠĠĠĠĠĠĠ Ġuser Ġ= Ġrequire Arguments (). get Parcelable (" EXTRA _ USER ") !! ĊĠĠĠĠĠĠĠ Ġbinding . img Close Dialog Profile Workspace . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġbinding . tv Name Dialog Profile Workspace . text Ġ= Ġuser . name ĊĠĠĠĠĠĠĠ Ġbinding . tv Email Dialog Profile Workspace . text Ġ= Ġuser . email ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( v ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . img Close Dialog Profile Workspace Ġ-> Ġdismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsetup ViewModel () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpref Ġ= ĠUser Preferences . getInstance ( require Context (). data Store ) ĊĠĠĠĠĠĠĠ Ġauth ViewModel Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewModel Provider ( this , ĠViewModel Factory ( pref )). get ( Auth ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġwork spaces ViewModel Ġ= ĠViewModel Provider ( this ). get ( Work spaces ViewModel :: class . java ) ĊĠĠĠ Ġ} Ċ } Ċ