package Ġcom . alg ol ia . instant search . insights Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . work . Work Manager Ċ import Ġcom . alg ol ia . instant search . insights . exception . Insights Exception Ċ import Ġcom . alg ol ia . instant search . insights . internal . Insights Map Ċ import Ġcom . alg ol ia . instant search . insights . internal . data . dist ant . Insights Http Repository Ċ import Ġcom . alg ol ia . instant search . insights . internal . data . local . Insights Prefs Repository Ċ import Ġcom . alg ol ia . instant search . insights . internal . data . settings . Insights Event Settings Ċ import Ġcom . alg ol ia . instant search . insights . internal . extension . client Insights Ċ import Ġcom . alg ol ia . instant search . insights . internal . extension . default Configuration Ċ import Ġcom . alg ol ia . instant search . insights . internal . extension . insights Settings Preferences Ċ import Ġcom . alg ol ia . instant search . insights . internal . extension . insights SharedPreferences Ċ import Ġcom . alg ol ia . instant search . insights . internal . register Insights Controller Ċ import Ġcom . alg ol ia . search . helper . to API Key Ċ import Ġcom . alg ol ia . search . helper . to Application ID Ċ import Ġcom . alg ol ia . search . helper . to Index Name Ċ import Ġcom . alg ol ia . search . model . API Key Ċ import Ġcom . alg ol ia . search . model . Application ID Ċ import Ġcom . alg ol ia . search . model . Index Name Ċ Ċ /** Ċ Ġ* ĠAccess Ġthe Ġlatest Ġregistered Ġ` Insights ` Ġinstance , Ġif Ġany , Ġotherwise Ġthrows Ġ Ġ[ Insights Exception . Index Not Registered ]. Ċ Ġ* ĠThread Ġsafety Ġis Ġnot Ġguaranteed . Ċ Ġ*/ Ċ public Ġvar Ġshared Insights : ĠInsights ? Ġ= Ġnull ĊĠĠĠ Ġget () Ġ= Ġfield Ġ?: Ġthrow ĠInsights Exception . Index Not Registered () Ċ Ċ /** Ċ Ġ* ĠAccess Ġan Ġalready Ġregistered Ġ` Insights ` Ġwithout Ġhaving Ġto Ġpass Ġthe Ġ` apiKey ` Ġand Ġ` appId `. Ċ Ġ* Ċ Ġ* ĠIf Ġthe Ġindex Ġwas Ġnot Ġregister Ġbefore , Ġit Ġwill Ġthrow Ġan Ġ[ Insights Exception . Index Not Registered ] Ġexception . Ċ Ġ* Ġ@ param Ġindex Name ĠThe Ġindex Ġthat Ġis Ġbeing Ġtracked . Ċ Ġ* Ġ@ return ĠAn ĠInsights Ġinstance . Ċ Ġ* Ġ@ throws ĠInsights Exception . Index Not Registered Ġif Ġno Ġindex Ġwas Ġregistered Ġas Ġindex Name Ġbefore . Ċ Ġ*/ Ċ public Ġfun Ġshared Insights ( index Name : ĠIndex Name ): ĠInsights Ġ{ ĊĠĠĠ Ġreturn ĠInsights Map [ index Name ] Ġ?: Ġthrow ĠInsights Exception . Index Not Registered () Ċ } Ċ Ċ /** Ċ Ġ* ĠRegister Ġyour Ġindex Ġwith Ġa Ġgiven ĠappId Ġand ĠapiKey . Ċ Ġ* Ċ Ġ* Ġ@ param Ġcontext ĠAn ĠAndroid ĠContext . Ċ Ġ* Ġ@ param ĠappId ĠThe Ġgiven Ġapp Ġid Ġfor Ġwhich Ġyou Ġwant Ġto Ġtrack Ġthe Ġevents . Ċ Ġ* Ġ@ param ĠapiKey ĠThe ĠAPI ĠKey Ġfor Ġyour Ġ` appId `. Ċ Ġ* Ġ@ param Ġindex Name ĠThe Ġindex Ġthat Ġis Ġbeing Ġtracked . Ċ Ġ* Ġ@ param Ġconfiguration ĠA ĠConfiguration Ġclass . Ċ Ġ*/ Ċ public Ġfun Ġregister Insights ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ ĠappId : ĠString , ĊĠĠĠ ĠapiKey : ĠString , ĊĠĠĠ Ġindex Name : ĠString , ĊĠĠĠ Ġconfiguration : ĠInsights . Configuration ? Ġ= Ġnull , Ċ ): ĠInsights Ġ{ ĊĠĠĠ Ġreturn Ġregister Insights ( context , ĠappId . to Application ID (), ĠapiKey . to API Key (), Ġindex Name . to Index Name (), Ġconfiguration ) Ċ } Ċ Ċ /** Ċ Ġ* ĠRegister Ġyour Ġindex Ġwith Ġa Ġgiven ĠappId Ġand ĠapiKey . Ċ Ġ* Ċ Ġ* Ġ@ param Ġcontext ĠAn ĠAndroid ĠContext . Ċ Ġ* Ġ@ param ĠappId ĠThe Ġgiven Ġapp Ġid Ġfor Ġwhich Ġyou Ġwant Ġto Ġtrack Ġthe Ġevents . Ċ Ġ* Ġ@ param ĠapiKey ĠThe ĠAPI ĠKey Ġfor Ġyour Ġ` appId `. Ċ Ġ* Ġ@ param Ġindex Name ĠThe Ġindex Ġthat Ġis Ġbeing Ġtracked . Ċ Ġ* Ġ@ param Ġconfiguration Ġinsights Ġconfiguration Ċ Ġ*/ Ċ public Ġfun Ġregister Insights ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ ĠappId : ĠApplication ID , ĊĠĠĠ ĠapiKey : ĠAPI Key , ĊĠĠĠ Ġindex Name : ĠIndex Name , ĊĠĠĠ Ġconfiguration : ĠInsights . Configuration ? Ġ= Ġnull , Ċ ): ĠInsights Ġ{ ĊĠĠĠ Ġval Ġlocal Repository Ġ= ĠInsights Prefs Repository ( context . insights SharedPreferences ( index Name )) ĊĠĠĠ Ġval Ġsettings Ġ= ĠInsights Event Settings ( context . insights Settings Preferences ()) ĊĠĠĠ Ġval Ġconfig Ġ= Ġconfiguration Ġ?: Ġdefault Configuration ( settings ) ĊĠĠĠ Ġval Ġdist ant Repository Ġ= ĠInsights Http Repository ( client Insights ( appId , ĠapiKey , Ġconfig )) ĊĠĠĠ Ġval Ġwork Manager Ġ= ĠWork Manager . getInstance ( context ) ĊĠĠĠ Ġreturn Ġregister Insights Controller ( ĊĠĠĠĠĠĠĠ Ġindex Name Ġ= Ġindex Name , ĊĠĠĠĠĠĠĠ Ġlocal Repository Ġ= Ġlocal Repository , ĊĠĠĠĠĠĠĠ Ġdist ant Repository Ġ= Ġdist ant Repository , ĊĠĠĠĠĠĠĠ Ġwork Manager Ġ= Ġwork Manager , ĊĠĠĠĠĠĠĠ Ġsettings Ġ= Ġsettings , ĊĠĠĠĠĠĠĠ Ġconfiguration Ġ= Ġconfig ĊĠĠĠ Ġ) Ċ } Ċ Ċ /** Ċ Ġ* ĠAccess Ġan Ġalready Ġregistered Ġ` Insights ` Ġwithout Ġhaving Ġto Ġpass Ġthe Ġ` apiKey ` Ġand Ġ` appId `. Ċ Ġ* Ċ Ġ* ĠIf Ġthe Ġindex Ġwas Ġnot Ġregister Ġbefore , Ġit Ġwill Ġthrow Ġan Ġ[ Insights Exception . Index Not Registered ] Ġexception . Ċ Ġ* Ġ@ param Ġindex Name ĠThe Ġindex Ġthat Ġis Ġbeing Ġtracked . Ċ Ġ* Ġ@ return ĠAn ĠInsights Ġinstance . Ċ Ġ* Ġ@ throws ĠInsights Exception . Index Not Registered Ġif Ġno Ġindex Ġwas Ġregistered Ġas Ġindex Name Ġbefore . Ċ Ġ*/ Ċ @ Deprecated (" use Ġshared Insights Ġinstead ", Ġreplace With Ġ= ĠReplace With (" shared Insights ( index Name ) ")) Ċ @ Jvm Name (" shared ") Ċ public Ġfun ĠInsights . Companion . shared ( index Name : ĠIndex Name ): ĠInsights Ġ{ ĊĠĠĠ Ġreturn Ġshared Insights ( index Name ) Ċ } Ċ Ċ /** Ċ Ġ* ĠAccess Ġthe Ġlatest Ġregistered Ġ` Insights ` Ġinstance , Ġif Ġany . Ċ Ġ*/ Ċ @ Deprecated (" use Ġshared Insights Ġinstead ", Ġreplace With Ġ= ĠReplace With (" shared Insights ")) Ċ public Ġvar ĠInsights . Companion . shared : ĠInsights ? ĊĠĠĠ Ġget () Ġ= Ġshared Insights ĊĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshared Insights Ġ= Ġvalue ĊĠĠĠ Ġ} Ċ Ċ /** Ċ Ġ* ĠRegister Ġyour Ġindex Ġwith Ġa Ġgiven ĠappId Ġand ĠapiKey . Ċ Ġ* Ċ Ġ* Ġ@ param Ġcontext ĠAn ĠAndroid ĠContext . Ċ Ġ* Ġ@ param ĠappId ĠThe Ġgiven Ġapp Ġid Ġfor Ġwhich Ġyou Ġwant Ġto Ġtrack Ġthe Ġevents . Ċ Ġ* Ġ@ param ĠapiKey ĠThe ĠAPI ĠKey Ġfor Ġyour Ġ` appId `. Ċ Ġ* Ġ@ param Ġindex Name ĠThe Ġindex Ġthat Ġis Ġbeing Ġtracked . Ċ Ġ* Ġ@ param Ġconfiguration ĠA ĠConfiguration Ġclass . Ċ Ġ*/ Ċ @ Deprecated ( ĊĠĠĠ Ġ" use Ġinsights Register Ġinstead ", ĊĠĠĠ Ġreplace With Ġ= ĠReplace With (" register Insights ( context , ĠappId , ĠapiKey , Ġindex Name , Ġconfiguration )") Ċ ) Ċ @ Jvm Name (" register ") Ċ public Ġfun ĠInsights . Companion . register ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ ĠappId : ĠString , ĊĠĠĠ ĠapiKey : ĠString , ĊĠĠĠ Ġindex Name : ĠString , ĊĠĠĠ Ġconfiguration : ĠInsights . Configuration ? Ġ= Ġnull , Ċ ): ĠInsights Ġ{ ĊĠĠĠ Ġreturn Ġregister Insights ( context , ĠappId . to Application ID (), ĠapiKey . to API Key (), Ġindex Name . to Index Name (), Ġconfiguration ) Ċ } Ċ Ċ /** Ċ Ġ* ĠRegister Ġyour Ġindex Ġwith Ġa Ġgiven ĠappId Ġand ĠapiKey . Ċ Ġ* Ċ Ġ* Ġ@ param Ġcontext ĠAn ĠAndroid ĠContext . Ċ Ġ* Ġ@ param ĠappId ĠThe Ġgiven Ġapp Ġid Ġfor Ġwhich Ġyou Ġwant Ġto Ġtrack Ġthe Ġevents . Ċ Ġ* Ġ@ param ĠapiKey ĠThe ĠAPI ĠKey Ġfor Ġyour Ġ` appId `. Ċ Ġ* Ġ@ param Ġindex Name ĠThe Ġindex Ġthat Ġis Ġbeing Ġtracked . Ċ Ġ* Ġ@ param Ġconfiguration Ġinsights Ġconfiguration Ċ Ġ*/ Ċ @ Deprecated ( ĊĠĠĠ Ġ" use Ġinsights Register Ġinstead ", ĊĠĠĠ Ġreplace With Ġ= ĠReplace With (" register Insights ( context , ĠappId , ĠapiKey , Ġindex Name , Ġconfiguration )") Ċ ) Ċ @ Jvm Name (" register ") Ċ public Ġfun ĠInsights . Companion . register ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ ĠappId : ĠApplication ID , ĊĠĠĠ ĠapiKey : ĠAPI Key , ĊĠĠĠ Ġindex Name : ĠIndex Name , ĊĠĠĠ Ġconfiguration : ĠInsights . Configuration ? Ġ= Ġnull , Ċ ): ĠInsights Ġ{ ĊĠĠĠ Ġreturn Ġregister Insights ( context , ĠappId , ĠapiKey , Ġindex Name , Ġconfiguration ) Ċ } Ċ