package Ġcom . example . wan Android . ui . activity Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . animation . Animation Utils Ċ import Ġandroid . widget . TextView Ċ import Ġcom . dr ake . net . Get Ċ import Ġcom . dr ake . net . Post Ċ import Ġcom . dr ake . net . utils . scope Net Life Ċ import Ġcom . dr ake . serialize . intent . open Activity Ċ import Ġcom . example . wan Android . R Ċ import Ġcom . example . wan Android . logic . dao . AppConfig Ċ import Ġcom . example . wan Android . logic . model . Coin Info Response Ċ import Ġcom . example . wan Android . logic . model . UserInfo Response Ċ import Ġcom . example . wan Android . logic . model . base . ApiResponse Ċ import Ġcom . example . wan Android . logic . net . Net Api Ċ import Ġcom . example . wan Android . ui . base . Base Activity Ċ import Ġcom . example . wan Android . util . Input Text Manager Ċ import Ġcom . example . wan Android . widget . ext . hide Soft Keyboard Ċ import Ġcom . example . wan Android . widget . view . Clear EditText Ċ import Ġcom . example . wan Android . widget . view . Password EditText Ċ import Ġcom . example . wan Android . widget . view . Submit Button Ċ import Ġcom . h jq . bar . Title Bar Ċ import Ġcom . h jq . toast . Toast Utils Ċ import Ġkotlinx . coroutines . delay Ċ import Ġper . g owe ii . swipe back . Swipe Back Ability Ċ import Ġper . g owe ii . swipe back . Swipe Back Direction Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġ åĴ ¸ é±¼ èĩ³ å° Ĭ Ġon Ġ 2 0 2 2 / 2 / 2 2 Ċ Ġ* Ċ Ġ* Ġdesc : Ġ æ³¨åĨĮ é¡µ Activity Ċ Ġ*/ Ċ class ĠRegister Activity Ġ: ĠBase Activity (), ĠSw ipe Back Ability . Direction Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġtitle Bar : ĠTitle Bar Ġby Ġlazy Ġ{ ĠfindViewById ( R . id . title _ bar ) Ġ} ĊĠĠĠ Ġprivate Ġval Ġet Username : ĠClear EditText Ġby Ġlazy Ġ{ ĠfindViewById ( R . id . et _ username ) Ġ} ĊĠĠĠ Ġprivate Ġval Ġet Password : ĠPassword EditText Ġby Ġlazy Ġ{ ĠfindViewById ( R . id . et _ password ) Ġ} ĊĠĠĠ Ġprivate Ġval Ġet Re Password : ĠPassword EditText Ġby Ġlazy Ġ{ ĠfindViewById ( R . id . et _ re _ password ) Ġ} ĊĠĠĠ Ġprivate Ġval Ġbtn Register : ĠSubmit Button Ġby Ġlazy Ġ{ ĠfindViewById ( R . id . btn _ register ) Ġ} ĊĠĠĠ Ġprivate Ġval Ġtv Login : ĠTextView Ġby Ġlazy Ġ{ ĠfindViewById ( R . id . tv _ login ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ register ) ĊĠĠĠĠĠĠĠ Ġ// æłĩé¢ĺ æłı è¿ĶåĽŀ æĮīéĴ® åħ³éĹŃ é¡µéĿ¢ ĊĠĠĠĠĠĠĠ Ġtitle Bar . left View . setOnClickListener Ġ{ Ġfinish () Ġ} ĊĠĠĠĠĠĠĠ Ġ// èģĶ åĬ¨ æ³¨åĨĮ æĮīéĴ® åĴĮ è´¦åı· å¯Ĩçłģ è¾ĵåħ¥ æ¡Ĩ ĊĠĠĠĠĠĠĠ Ġbtn Register . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠInput Text Manager . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addView ( et Username ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addView ( et Password ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addView ( et Re Password ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Main ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// æ³¨åĨĮ æĮīéĴ® çĤ¹åĩ» äºĭä»¶ ĊĠĠĠĠĠĠĠ Ġbtn Register . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// æł¡éªĮ ä¸¤ æ¬¡ å¯Ĩçłģ æĺ¯åĲ¦ ä¸Ģèĩ´ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( et Password . text . toString () Ġ!= Ġet Re Password . text . toString ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet Password . start Animation ( Animation Utils . load Animation ( this , ĠR . anim . shake _ anim )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet Re Password . start Animation ( Animation Utils . load Animation ( this , ĠR . anim . shake _ anim )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Register . show Error ( 2 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . show ( getString ( R . string . re _ enter _ password )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOnClickListener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// éļĲèĹı è¾ĵåħ¥ æ³ķ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhide Soft Keyboard ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscope Net Life Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å»¶ è¿ Ł è¯·æ±Ĥ ( åĽłä¸º è¯·æ±Ĥ éĢŁåº¦ å¤ª å¿« ï¼Į è®© åĬ¨çĶ» æķĪæŀľ é£ŀ ä¸Ģ ä¼ļ ~ ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 1 5 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// åħĪ èİ·åıĸ çĶ¨æĪ· æ³¨åĨĮ ä¿¡æģ¯ æķ°æį® ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠuserInfo Data Ġ= ĠPost < ApiResponse < UserInfo Response >>( Net Api . Register API ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparam (" username ", Ġet Username . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparam (" password ", Ġet Password . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparam (" re password ", Ġet Re Password . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. await () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// åĨį èİ·åıĸ çĶ¨æĪ· ç§¯ åĪĨ ä¿¡æģ¯ æķ°æį® ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcoin Info Data Ġ= ĠGet < ApiResponse < Coin Info Response >>( Net Api . Coin Info API ). await () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// åŃĺåĤ¨ çĶ¨æĪ·åĲį ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . UserName Ġ= ĠuserInfo Data . data . username ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// åŃĺåĤ¨ å¯Ĩçłģ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . Pass Word Ġ= Ġet Password . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// åŃĺåĤ¨ çĶ¨æĪ· çŃī çº§ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . Level Ġ= Ġcoin Info Data . data . level . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// åŃĺåĤ¨ çĶ¨æĪ· æİĴ åĲį ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . Rank Ġ= Ġcoin Info Data . data . rank ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// åŃĺåĤ¨ çĶ¨æĪ· ç§¯ åĪĨ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . Coin Count Ġ= Ġcoin Info Data . data . coin Count . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// æ³¨åĨĮ æĮīéĴ® æĺ¾ç¤º æĪĲåĬŁ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Register . show Suc ceed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// åĨį å»¶ è¿ Ł ä¸Ģ ä¼ļ ï¼Į å¢ŀ å¼º çĶ¨æĪ· ä½ĵ éªĮ ~ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// åħ³éĹŃ å½ĵåīį é¡µéĿ¢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. catch Ġ{ Ġ// å¦Ĥæŀľ çĶ¨æĪ· å·² æ³¨åĨĮ æĪĸ åħ¶ ä½Ļ éĶĻè¯¯ å¯¼èĩ´ è¯·æ±Ĥ å¤±è´¥ ä¼ļ èµ° è¿ĻéĩĮ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// æ³¨åĨĮ æĮīéĴ® æĺ¾ç¤º å¤±è´¥ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Register . show Error ( 2 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å¼¹ åĩº éĶĻè¯¯ ä¿¡æģ¯ åĲ Ĳ åı¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . show ( it . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// è´¦åı· è¾ĵåħ¥ æ¡Ĩ åĬłè½½ åĬ¨çĶ» æķĪæŀľ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet Username . start Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAnimation Utils . load Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Register Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . shake _ anim ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å¯Ĩçłģ è¾ĵåħ¥ æ¡Ĩ åĬłè½½ åĬ¨çĶ» æķĪæŀľ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet Password . start Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAnimation Utils . load Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Register Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . shake _ anim ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ç¡®è®¤ å¯Ĩçłģ è¾ĵåħ¥ æ¡Ĩ åĬłè½½ åĬ¨çĶ» æķĪæŀľ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet Re Password . start Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAnimation Utils . load Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Register Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . shake _ anim ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// çĻ» éĻĨ æĸĩæľ¬ çĤ¹åĩ» äºĭä»¶ ĊĠĠĠĠĠĠĠ Ġtv Login . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen Activity < Login Activity >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Pending Transition ( android . R . anim . fade _ in , Ġandroid . R . anim . fade _ out ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** Ġå½ĵåīį é¡µ ç¦ģ çĶ¨ ä¾§ æ»ĳ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġswipe Back Direction () Ġ= ĠSw ipe Back Direction . NONE Ċ }