/** ĊĠ ĠMainActivity . kt ĊĠ ĠSuper Simple Chat Android ĊĊĠ ĠLicensed Ġto Ġthe ĠApache ĠSoftware ĠFoundation Ġ( ASF ) Ġunder Ġone ĊĠ Ġor Ġmore Ġcontributor Ġlicense Ġagreements . Ġ ĠSee Ġthe ĠNOTICE Ġfile ĊĠ Ġdistributed Ġwith Ġthis Ġwork Ġfor Ġadditional Ġinformation ĊĠ Ġregarding Ġcopyright Ġownership . Ġ ĠThe ĠASF Ġlicenses Ġthis Ġfile ĊĠ Ġto Ġyou Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the ĊĠ Ġ" License "); Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance ĊĠ Ġwith Ġthe ĠLicense . Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat ĊĊĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 ĊĊĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , ĊĠ Ġsoftware Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan ĊĠ Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĊĠ ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ġ ĠSee Ġthe ĠLicense Ġfor Ġthe ĊĠ Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ġlimitations ĊĠ Ġunder Ġthe ĠLicense . ĊĊĠ ĠCopyright ĠÂ© Ġ 2 0 2 0 Ġcos ync . ĠAll Ġrights Ġreserved . Ċ */ Ċ Ċ package Ġcom . cos ync . sup ers imple chat android . main Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . EditText Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . view pager . widget . ViewPager Ċ import Ġcom . cos ync . sup ers imple chat android . realm .* Ċ import Ġcom . cos ync . sup ers imple chat android . chat .* Ċ import Ġcom . cos ync . sup ers imple chat android . R Ċ import Ġcom . cos ync . sup ers imple chat android . realm . UserData Ċ import Ġcom . google . android . material . tabs . Tab Layout Ċ import Ġorg . bson . types . ObjectId Ċ Ċ /** Ċ Ġ* Ċ Ġ*/ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġval Ġsections Pager Adapter Ġ= ĠSe ctions Pager Adapter ( this , Ġsupport FragmentManager ) ĊĠĠĠĠĠĠĠ Ġval Ġview Pager : ĠView Pager Ġ= ĠfindViewById ( R . id . view _ pager ) ĊĠĠĠĠĠĠĠ Ġview Pager . adapter Ġ= Ġsections Pager Adapter ĊĠĠĠĠĠĠĠ Ġval Ġtabs : ĠTab Layout Ġ= ĠfindViewById ( R . id . tabs ) ĊĠĠĠĠĠĠĠ Ġtabs . setup With ViewPager ( view Pager ) ĊĊĠĠĠĠĠĠĠ ĠLog . i (" Main ", Ġ" Initializing Ġrealm ...") ĊĠĠĠĠĠĠĠ ĠRealm Manager . initialize ( this ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġon Login ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠfindViewById < EditText >( R . id . edit UserName ). text . toString () ĊĠĠĠĠĠĠĠ Ġval Ġpassword Ġ= ĠfindViewById < EditText >( R . id . edit Login Password ). text . toString () ĊĠĠĠĠĠĠĠ Ġif Ġ(! password . isEmpty () Ġ&& Ġ! user . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRealm Manager . login ( user , Ġpassword ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Main ", Ġ" Realm Ġlogin Ġsuccess ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠChat Activity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Main ", Ġ" Realm Ġlogin Ġerror ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Signup ( view : ĠView ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠfindViewById < EditText >( R . id . edit Signup Email ). text . toString () ĊĠĠĠĠĠĠĠ Ġval Ġpassword Ġ= ĠfindViewById < EditText >( R . id . edit Signup Password ). text . toString () ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= ĠfindViewById < EditText >( R . id . edit Signup Name ). text . toString () ĊĠĠĠĠĠĠĠ ĠRealm Manager . signup ( user , Ġpassword ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġ 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Main ", Ġ" Realm Ġregister Ġsuccess ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRealm Manager . login ( user , Ġpassword ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Main ", Ġ" Realm Ġlogin Ġsuccess ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuid Ġ= ĠRealm Manager . app ?. currentUser () !!. id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Entry Ġ= ĠUser Data ( ObjectId (), Ġuid , Ġuid , Ġname ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRealm Manager . user Realm ?. execute Transaction () Ġ{ Ġtransaction Realm Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction Realm . insert ( user Entry ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠChat Activity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Main ", Ġ" Realm Ġlogin Ġfailure ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Main ", Ġ" Realm Ġregister Ġfailure ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }