package Ġcom . pro jet . mini pro jet . android V ox čĊč Ċ import Ġandroid . app . Application č Ċ import Ġandroid . util . Log č Ċ import Ġcom . pro jet . mini pro jet . android V ox . activities . Live Stream Chat Interaction . AppConfig č Ċ import Ġio . get stream . chat . android . client . Chat Client č Ċ import Ġio . get stream . chat . android . client . logger . Chat LogLevel č Ċ import Ġio . get stream . chat . android . client . models . User č Ċ import Ġio . get stream . chat . android . li ved ata . Chat Domain č Ċ import Ġio . realm . Realm č Ċ import Ġio . realm . Realm Configuration č Ċ import Ġio . realm . log . LogLevel č Ċ import Ġio . realm . log . Realm Log č Ċ import Ġio . realm . mongodb . App č Ċ import Ġio . realm . mongodb . App Configuration čĊč Ċ late init Ġvar Ġv ox App : ĠApp č Ċ const Ġval ĠAPP _ ID =" v ox - k pg yp " č Ċ inline Ġfun Ġ< re ified ĠT > ĠT . TAG (): ĠString Ġ= ĠT :: class . java . simple Name čĊč Ċ class ĠV ox Client Ġ: ĠApplication () Ġ{ čĊčĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . onCreate () čĊčĊĠĠĠĠĠĠĠ Ġval Ġclient Ġ= ĠChat Client . Builder ( getString ( R . string . api _ key ), this ). logLevel ( Chat LogLevel . ALL ). build () čĊĠĠĠĠĠĠĠ ĠChat Domain . Builder ( client , this ). build () čĊčĊčĊĠĠĠĠĠĠĠ ĠRealm . init ( this ) čĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= ĠRealm Configuration . Builder (). name ( APP _ ID ). build () čĊĠĠĠĠĠĠĠ Ġval Ġbackground Thread Realm Ġ: ĠRealm Ġ= ĠRealm . getInstance ( config ) čĊĠĠĠĠĠĠĠ Ġv ox App Ġ= ĠApp ( čĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Configuration . Builder ( Build Config . MONGO DB _ REAL M _ APP _ ID ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. default Sync ErrorHandler Ġ{ Ġsession , Ġerror Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG (), Ġ" Sync Ġerror : Ġ${ error . errorMessage }") čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) čĊčĊĠĠĠĠĠĠĠ Ġ// ĠEnable Ġmore Ġlogging Ġin Ġdebug Ġmode čĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠRealm Log . setLevel ( LogLevel . ALL ) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ ĠLog . v ( TAG (), Ġ" Initialized Ġthe ĠRealm ĠApp Ġconfiguration Ġfor : Ġ${ v ox App . configuration . appId }") čĊĠĠĠ Ġ} č Ċ // ĠĠĠ Ġprivate Ġfun Ġconnect User () Ġ{ č Ċ // ĠĠĠĠĠĠĠ Ġval Ġuser Credentials Ġ= ĠApp Config . available Users [ 0 ] č Ċ // ĠĠĠĠĠĠĠ ĠChat Client . instance (). connect User ( č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġuser Ġ= ĠUser ( č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġuser Credentials . id , č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Data Ġ= Ġmutable Map Of ( č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġuser Credentials . name , č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" image " Ġto Ġuser Credentials . image č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ), č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġtoken Ġ= Ġuser Credentials . token č Ċ // ĠĠĠĠĠĠĠ Ġ). enqueue () č Ċ // ĠĠĠ Ġ} č Ċ }