package Ġcom . base . wan android . ui . user Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . animation . Animation Utils Ċ import Ġandroidx . lifecycle . lifecycle Scope Ċ import Ġcn . ne ko code . rx lifecycle . Lifecycle Event Ċ import Ġcom . base . wan android . R Ċ import Ġcom . base . wan android . base . Base Activity Ċ import Ġcom . base . wan android . databinding . Activity Register Binding Ċ import Ġcom . base . wan android . utils . AppConfig Ċ import Ġcom . base . wan android . utils . Input Text Manager Ċ import Ġcom . base . wan android . utils . Rx Transformer Ċ import Ġcom . base . wan android . utils . hide Soft Keyboard Ċ import Ġcom . blank j . util code . util . Toast Utils Ċ import Ġcom . dr ake . serialize . intent . open Activity Ċ import Ġkotlinx . coroutines . delay Ċ import Ġkotlinx . coroutines . launch Ċ Ċ /** Ċ Ġ* Ġ@ author Ġji ang sh iy u Ċ Ġ* Ġ@ date Ġ 2 0 2 2 / 6 / 1 0 Ċ Ġ*/ Ċ class ĠRegister Activity Ġ: ĠBase Activity < Activity Register Binding , ĠUser ViewModel >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon Bundle ( bundle : ĠBundle ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// æłĩé¢ĺ æłı è¿ĶåĽŀ æĮīéĴ® åħ³éĹŃ é¡µéĿ¢ ĊĠĠĠĠĠĠĠ Ġbinding ?. title Bar ?. left View ?. setOnClickListener Ġ{ Ġfinish After Transition () Ġ} ĊĠĠĠĠĠĠĠ Ġ// èģĶ åĬ¨ æ³¨åĨĮ æĮīéĴ® åĴĮ è´¦åı· å¯Ĩçłģ è¾ĵåħ¥ æ¡Ĩ ĊĠĠĠĠĠĠĠ Ġbinding ?. btn Register ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠInput Text Manager . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addView ( binding ?. et Username ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addView ( binding ?. et Password ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addView ( binding ?. et Re Password ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Main ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// æ³¨åĨĮ æĮīéĴ® çĤ¹åĩ» äºĭä»¶ ĊĠĠĠĠĠĠĠ Ġbinding ?. btn Register ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// æł¡éªĮ ä¸¤ æ¬¡ å¯Ĩçłģ æĺ¯åĲ¦ ä¸Ģèĩ´ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( binding ?. et Password ?. text . toString () Ġ!= Ġbinding ?. et Re Password ?. text . toString ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding ?. et Password ?. start Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAnimation Utils . load Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . shake _ anim ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding ?. et Re Password ?. start Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAnimation Utils . load Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . shake _ anim ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding ?. btn Register ?. show Error ( 2 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . show Short ( getString ( R . string . re _ enter _ password )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOnClickListener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// éļĲèĹı è¾ĵåħ¥ æ³ķ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhide Soft Keyboard ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlifecycle Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġusername Ġ= Ġbinding ?. et Username ?. text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġet Password Ġ= Ġbinding ?. et Password ?. text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġet Re Password Ġ= Ġbinding ?. et Re Password ?. text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 1 5 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// åħĪ èİ·åıĸ çĶ¨æĪ· æ³¨åĨĮ ä¿¡æģ¯ æķ°æį® ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . get Register UserInfo ( username , Ġet Password , Ġet Re Password ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( Rx Transformer . async ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Collect ", Ġ" init : Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . UserName Ġ= Ġit . userInfo Response ?. username Ġ?: Ġ" Jack y " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . Pass Word Ġ= Ġit . userInfo Response ?. password . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . Level Ġ= Ġit . coin Info Response ?. level . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . Rank Ġ= Ġit . coin Info Response ?. rank Ġ?: Ġ" 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . Coin Count Ġ= Ġit . coin Info Response ?. coin Count . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish After Transition () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Activity < Login Activity >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Pending Transition ( android . R . anim . fade _ in , Ġandroid . R . anim . fade _ out ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// æ³¨åĨĮ æĮīéĴ® æĺ¾ç¤º å¤±è´¥ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding ?. btn Register ?. show Error ( 2 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å¼¹ åĩº éĶĻè¯¯ ä¿¡æģ¯ åĲ Ĳ åı¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . show Short ( it . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// è´¦åı· è¾ĵåħ¥ æ¡Ĩ åĬłè½½ åĬ¨çĶ» æķĪæŀľ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding ?. et Username ?. start Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAnimation Utils . load Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Register Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . shake _ anim ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å¯Ĩçłģ è¾ĵåħ¥ æ¡Ĩ åĬłè½½ åĬ¨çĶ» æķĪæŀľ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding ?. et Password ?. start Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAnimation Utils . load Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Register Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . shake _ anim ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ç¡®è®¤ å¯Ĩçłģ è¾ĵåħ¥ æ¡Ĩ åĬłè½½ åĬ¨çĶ» æķĪæŀľ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding ?. et Re Password ?. start Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAnimation Utils . load Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Register Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . shake _ anim ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// çĻ» éĻĨ æĸĩæľ¬ çĤ¹åĩ» äºĭä»¶ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding ?. tv Login ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Activity < Login Activity >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Pending Transition ( android . R . anim . fade _ in , Ġandroid . R . anim . fade _ out ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }