/* Ċ Ġ* Ġ ĠMIT ĠLicense Ċ Ġ* Ċ Ġ* Ġ ĠCopyright Ġ( c ) Ġ 2 0 1 9 ĠWeb tre kk ĠGmbH Ċ Ġ* Ċ Ġ* Ġ ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġ Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġ Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġ Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġ Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġ Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* Ġ ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġ Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* Ġ ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* Ġ ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* Ġ ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNON ĠIN FR INGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* Ġ ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* Ġ ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* Ġ ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* Ġ ĠSOFTWARE . Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġweb tre kk . android . sdk . extension Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġweb tre kk . android . sdk . Track Page Detail Ċ import Ġweb tre kk . android . sdk . Track Params Ċ import Ġweb tre kk . android . sdk . data . entity . Track Request Ċ import Ġweb tre kk . android . sdk . util . app First Open Ċ import Ġweb tre kk . android . sdk . util . current Session Ċ Ċ /** Ċ Ġ* ĠExtension Ġfunction Ġto Ġcreate Ġa Ġ[ Track Request ] Ġfrom Ġ[ Activity ] Ġto Ġbe Ġinserted Ġin Ġthe ĠDB . Ċ Ġ*/ Ċ internal Ġfun ĠActivity . to Track Request ( need To Track : ĠBoolean Ġ= Ġtrue ): ĠTrack Request Ġ= ĊĠĠĠ ĠTrack Request ( ĊĠĠĠĠĠĠĠ Ġname Ġ= ĠgetName (), ĊĠĠĠĠĠĠĠ Ġscreen Resolution Ġ= Ġthis . resolution (), ĊĠĠĠĠĠĠĠ Ġforce New Session Ġ= Ġif Ġ( need To Track ) Ġcurrent Session Ġelse Ġ" 1 ", ĊĠĠĠĠĠĠĠ Ġapp First Open Ġ= Ġif Ġ( need To Track ) Ġapp First Open Ġelse Ġ" 1 ", ĊĠĠĠĠĠĠĠ Ġapp Version Name Ġ= Ġthis . app Version Name , ĊĠĠĠĠĠĠĠ Ġapp Version Code Ġ= Ġthis . app Version Code ĊĠĠĠ Ġ) Ċ Ċ /** Ċ Ġ* ĠExtension Ġfunction Ġto Ġcreate Ġa Ġ[ Track Request ] Ġfrom Ġ[ Fragment ] Ġto Ġbe Ġinserted Ġin Ġthe ĠDB . Ċ Ġ*/ Ċ internal Ġfun ĠFragment . to Track Request (): ĠTrack Request Ġ= ĊĠĠĠ ĠTrack Request ( ĊĠĠĠĠĠĠĠ Ġname Ġ= ĠgetName (), ĊĠĠĠĠĠĠĠ Ġscreen Resolution Ġ= Ġthis . context ?. resolution (), ĊĠĠĠĠĠĠĠ Ġforce New Session Ġ= Ġcurrent Session , ĊĠĠĠĠĠĠĠ Ġapp First Open Ġ= Ġapp First Open , ĊĠĠĠĠĠĠĠ Ġapp Version Name Ġ= Ġthis . context ?. app Version Name , ĊĠĠĠĠĠĠĠ Ġapp Version Code Ġ= Ġthis . context ?. app Version Code ĊĠĠĠ Ġ) Ċ Ċ private Ġfun Ġ< T Ġ: ĠAny > ĠT . getName (): ĠString Ġ{ ĊĠĠĠ Ġvar Ġscreen Name Ġ= Ġ"${ this . java Class .` package ` ?. name }.${ this . java Class . simple Name }" ĊĠĠĠ Ġif Ġ( this . java Class . is Annotation Present ( Track Page Detail :: class . java )) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtracker Ġ= Ġthis . java Class . getAnnotation ( Track Page Detail :: class . java ) ĊĠĠĠĠĠĠĠ Ġif Ġ( tracker Ġ!= Ġnull Ġ&& Ġtracker . context Name . isNotEmpty ()) Ġscreen Name Ġ= Ġtracker . context Name ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġscreen Name Ċ } Ċ Ċ internal Ġfun Ġ< T Ġ: ĠAny > ĠT . get Tracker Params (): ĠArray < Track Params > Ġ{ ĊĠĠĠ Ġvar Ġtrack ers Ġ= Ġempty Array < Track Params >() ĊĠĠĠ Ġif Ġ( this . java Class . is Annotation Present ( Track Page Detail :: class . java )) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtracker Ġ= Ġthis . java Class . getAnnotation ( Track Page Detail :: class . java ) ĊĠĠĠĠĠĠĠ Ġif Ġ( tracker Ġ!= Ġnull Ġ&& Ġtracker . tracking Params . isNotEmpty ()) Ġtrack ers Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtracker . tracking Params ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġtrack ers Ċ } Ċ