package Ġcom . fer o . sk ripsi . ui . pel ang gan . auth Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . fer o . sk ripsi . databinding . Activity Register P el ang gan Binding Ċ import Ġcom . fer o . sk ripsi . model . P el ang gan Ċ import Ġcom . fer o . sk ripsi . ui . main . Home P el ang gan Activity Ċ import Ġcom . fer o . sk ripsi . ui . main . P ilih User Activity Ċ import Ġcom . fer o . sk ripsi . ui . pel ang gan . auth . view model . Auth P el ang gan ViewModel Ċ import Ġcom . fer o . sk ripsi . utils . ViewModel Factory Ċ Ċ class ĠRegister P el ang gan Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Register P el ang gan Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Register P el ang gan Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĊĠĠĠĠĠĠĠ Ġval Ġfactory Ġ= ĠViewModel Factory . getInstance ( this ) ĊĠĠĠĠĠĠĠ Ġval ĠviewModel Ġ= ĠViewModel Provider ( this , Ġfactory )[ Auth P el ang gan ViewModel :: class . java ] ĊĊĠĠĠĠĠĠĠ ĠviewModel . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata P el ang gan . observe ( this @ Register P el ang gan Activity , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmove Intent Ġ= ĠIntent ( this @ Register P el ang gan Activity , ĠHome P el ang gan Activity :: class . java ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" EXTRA _ REGISTER ", Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( move Intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Success . observe ( this @ Register P el ang gan Activity , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this @ Register P el ang gan Activity , Ġit , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress . observe ( this @ Register P el ang gan Activity , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġshow Ġprogress ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġhide Ġprogress ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Failed . observe ( this @ Register P el ang gan Activity , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this @ Register P el ang gan Activity , Ġit , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . btn Register P el ang gan . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġn ama P el ang gan Ġ= Ġbinding . et Nama P el ang gan . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġemail P el ang gan Ġ= Ġbinding . et Email P el ang gan . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpassword P el ang gan Ġ= Ġbinding . et Password P el ang gan . text . toString (). trim () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata P el angan Ġ= ĠPel ang gan ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġn ama P el ang gan , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail P el ang gan , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword P el ang gan , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . register P el ang gan ( data P el angan ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . iv Back . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmove Intent Ġ= ĠIntent ( this , ĠP ilih User Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( move Intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . tv Login . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmove Intent Ġ= ĠIntent ( this , ĠLogin P el ang gan Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( move Intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }