package Ġcom . hu awei . training . kotlin . database Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Log Ċ import Ġcom . hu awei . ag connect . cloud . database . AG Connect Cloud DB Ċ import Ġcom . hu awei . ag connect . cloud . database . Cloud DB Zone Ċ import Ġcom . hu awei . ag connect . cloud . database . Cloud DB Zone Config Ċ import Ġcom . hu awei . ag connect . cloud . database . exceptions . AG Connect Cloud DB Exception Ċ import Ġcom . hu awei . training . kotlin . database . ObjectType Info Helper . object TypeInfo Ċ Ċ open Ġclass ĠCloud Db Helper ( val ĠmContext : Context ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Volatile Ġprivate Ġvar ĠINSTANCE : ĠCloud Db Helper ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance ( context : ĠContext ): ĠCloud Db Helper Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINSTANCE Ġ?: Ġsynchronized ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINSTANCE Ġ?: Ġbuild Cloud Database ( context ). also Ġ{ ĠINSTANCE Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġbuild Cloud Database ( context : ĠContext ) Ġ= ĠCloud Db Helper ( context ) ĊĊĠĠĠ Ġ} ĊĠĠĠ Ġvar Ġm Cloud DB : ĠAG Connect Cloud DB ĊĠĠĠ Ġprivate Ġvar Ġm Cloud DB Zone : ĠCloud DB Zone ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Config : ĠCloud DB Zone Config ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġcloud Db Que y Calls : ĠCloud Db Que y Calls ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠCloud Ġdb Ġui Ġcallback Ġlistener . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġcloud Db Ui Callback Listener : ĠCloud Db Ui Callback Listener ? Ġ= Ġnull ĊĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġinit AG Connect Cloud DB ( mContext ) ĊĠĠĠĠĠĠĠ Ġm Cloud DB Ġ= ĠAG Connect Cloud DB . getInstance () ĊĠĠĠĠĠĠĠ Ġcloud Db Que y Calls Ġ= ĠCloud Db Que y Calls () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInit ĠAG Connect Cloud DB Ġin ĠApplication ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext Ġapplication Ġcontext ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġinit AG Connect Cloud DB ( context : ĠContext ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠAG Connect Cloud DB . initialize ( context !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCall ĠAG Connect Cloud DB . create ObjectType Ġto Ġinit Ġschema ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġcreate ObjectType () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Cloud DB . create ObjectType ( object TypeInfo ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( exp : ĠAG Connect Cloud DB Exception ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOpen Ġcloud Ġdb Ġzone Ġv Ġ 2 . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcloud Db Action Ġthe Ġcloud Ġdb Ġaction ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġopen Cloud DB Zone V 2 ( cloud Db Action : ĠCloud Db Action ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Config Ġ= ĠCloud DB Zone Config ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCloud Db Constants . CLOUD _ DB , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCloud DB Zone Config . Cloud DB Zone Sync Property . CLOUD DB ZONE _ CLOUD _ CACHE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCloud DB Zone Config . Cloud DB Zone Access Property . CLOUD DB ZONE _ PUBLIC ) ĊĠĠĠĠĠĠĠ Ġm Config ?. set Persistence Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġval Ġopen DB Zone Task Ġ= Ġm Cloud DB . open Cloud DB Zone 2 ( m Config !! , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġopen DB Zone Task ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Success Listener Ġ{ Ġcloud DB Zone Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Cloud DB Zone Ġ= Ġcloud DB Zone ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcloud Db Que y Calls ?. set m Cloud DB Zone ( m Cloud DB Zone ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcloud Db Ui Callback Listener ?. on Success Db Query Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcloud Db Action , Ġ" open Ġclo u ddb zone Ġsuccess ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Failure Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcloud Db Ui Callback Listener ?. on Failure Db Query Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcloud Db Action , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAdd Ġcall Ġback Ġlistener . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcloud Db Ui Callback Listener Ġthe Ġcloud Ġdb Ġui Ġcallback Ġlistener ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġadd CallBack Listener ( m Cloud Db Ui Callback Listener : ĠCloud Db Ui Callback Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcloud Db Ui Callback Listener Ġ= Ġm Cloud Db Ui Callback Listener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn ing Ġthe Ġcloud Ġdb Ġquery Ġinstance ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġcloud Ġdb Ġque y Ġcalls ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġget Cloud Db All Que y Calls (): ĠCloud Db Que y Calls ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( cloud Db Que y Calls Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcloud Db Que y Calls ?. add Cloud Db Ui Callback Listener ( cloud Db Ui Callback Listener ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġcloud Db Que y Calls ĊĠĠĠ Ġ} Ċ Ċ }