package Ġcom . fr aming . module . customer . ui . fragment Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . constraint layout . motion . widget . Motion Layout Ċ import Ġcom . fr aming . common lib . widget . Status Layout Ċ import Ġcom . young . aac . base . Mv vm Base Fragment Ċ import Ġcom . fr aming . module . customer . databinding . Dis pan se Setting Layout Binding Ċ import Ġcom . fr aming . module . customer . ui . view model . User Setting UI VM Ċ import Ġcom . fr aming . module . customer . data . view model . User Setting Data VM Ċ import Ġcom . fr aming . module . customer . BR Ċ import Ġcom . fr aming . module . customer . R Ċ import Ġcom . fr aming . module . customer . ui . view model . C Container UI VM Ċ Ċ /** Ċ Ġ* ĠDes Ċ Ġ* ĠCreated Ġby ĠV UL CAN Ġon Ġ 2 0 2 0 - 0 8 - 2 8 Ġ 1 4 : 4 3 : 3 4 Ċ Ġ*/ Ċ class ĠUser Setting Fragment Ġ: Ġ ĠM v vm Base Fragment < Dis pan se Setting Layout Binding , ĠUser Setting UI VM , User Setting Data VM > (){ ĊĊĠĠĠ Ġprivate Ġvar Ġcontainer UI VM : C Container UI VM ?= null // Ġactivity ĠUI vm Ġ( çĽ¸ å½ĵ äºİ application ) ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġcontainer UI VM = getActivity ViewModel Provider ( require Activity ()). get ( C Container UI VM :: class . java ) ĊĠĠĠĠĠĠĠ Ġget UI ViewModel ()?. load Type . value =( Status Layout . StatusType . EMPTY ) ĊĠĠĠĠĠĠĠ Ġcontainer UI VM ?. is Con ainer Bg Show ?. value = true ĊĠĠĠĠĠĠĠ Ġget Binding ()?. constraint Layout 3 . add Transition Listener ( object Ġ: ĠMotion Layout . Transition Listener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Transition Trigger ( p 0 : ĠMotion Layout ?, Ġp 1 : ĠInt , Ġp 2 : ĠBoolean , Ġp 3 : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Transition Started ( p 0 : ĠMotion Layout ?, Ġp 1 : ĠInt , Ġp 2 : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Transition Change ( p 0 : ĠMotion Layout ?, Ġp 1 : ĠInt , Ġp 2 : ĠInt , Ġp 3 : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Transition Completed ( p 0 : ĠMotion Layout ?, Ġp 1 : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( p 1 ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . top _ end ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer UI VM ?. is Con ainer Bg Show ?. value = false ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav ()?. navigate Up () Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav ()?. navigate ( R . id . action _ user Setting Fragment _ to _ map Fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġoverride Ġfun Ġget UI ViewModel (): ĠUser Setting UI VM Ġ{ ĊĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠgetActivity ViewModel Provider ( require Activity ()). get ( User Setting UI VM :: class . java ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġoverride Ġfun ĠgetData ViewModel (): ĠUser Setting Data VM ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠgetActivity ViewModel Provider ( require Activity ()). get ( User Setting Data VM :: class . java ) !! ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġoverride Ġval Ġbinding Variable : ĠInt ĊĠĠĠĠĠ Ġget () Ġ= ĠBR . user Setting UI VM ĊĠĠĠĠĠ Ġoverride Ġval Ġlayout Id : ĠInt ĊĠĠĠĠĠ Ġget () Ġ= ĠR . layout . dis pan se _ setting _ layout Ċ }