package Ġde . sch alter . los ungen . firebase Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . preference . Preference Manager Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . google . firebase . analytics . Firebase Analytics Ċ import Ġde . sch alter . los ungen . utils . Preference Tags Ċ Ċ object ĠFirebase Util Ġ{ ĊĊĠĠĠ Ġfun Ġinit ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġallow Sending ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPreference Manager . getDefault SharedPreferences ( context ). getBoolean ( Preference Tags . SEND _ STAT ISTICS , Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġallow Sending ( context : ĠContext , Ġallow : ĠBoolean , Ġsend Last Command : ĠBoolean Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! allow Ġ&& Ġsend Last Command ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrack Settings Changed ( context , ĠPreference Tags . SEND _ STAT ISTICS , Ġallow . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠgetInstance ( context ). set Analytics Collection Enabled ( allow ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtrack Fragment ( fragment : ĠFragment ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfragment . activity ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetInstance ( it ). setCurrent Screen ( it , Ġfragment :: class . java . toString (), Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtrack Settings Changed ( context : ĠContext , Ġtag : ĠString , ĠnewValue : ĠString , ĠoldValue : ĠString ? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġparams . putString (" newValue ", ĠnewValue ) ĊĠĠĠĠĠĠĠ ĠoldValue ?. let Ġ{ Ġparams . putString (" oldValue ", ĠoldValue ) Ġ} ĊĊĠĠĠĠĠĠĠ ĠgetInstance ( context ). log Event (" preference _ change _$ tag ", Ġparams ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtrack Ser mon Play ed ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ ĠgetInstance ( context ). log Event (" ser mon _ play ed ", ĠBundle ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtrack F avour ite Ver se ( context : ĠContext , Ġweekly : ĠBoolean Ġ= Ġfalse , Ġmonthly : ĠBoolean Ġ= Ġfalse , Ġvalue : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġval Ġwhich Type Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweekly Ġ-> Ġ" week " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmonthly Ġ-> Ġ" month " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" day " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparams . putString (" type ", Ġwhich Type ) ĊĠĠĠĠĠĠĠ Ġparams . put Boolean (" value ", Ġvalue ) ĊĊĠĠĠĠĠĠĠ ĠgetInstance ( context ). log Event (" marked _ fav our ite ", Ġparams ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtrack Open External ( context : ĠContext , Ġopened With : ĠString , ĠdefaultValue : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġparams . putString (" open _ with ", Ġopened With ) ĊĠĠĠĠĠĠĠ Ġparams . put Boolean (" default ", ĠdefaultValue ) ĊĊĠĠĠĠĠĠĠ ĠgetInstance ( context ). log Event (" open _ external ", Ġparams ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtrack Ver se Shared ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ ĠgetInstance ( context ). log Event (" verse _ shared ", ĠBundle ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtrack Ser mon Shared ( context : ĠContext , Ġmp 3 File : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġparams . put Boolean (" mp 3 _ file ", Ġmp 3 File ) ĊĊĠĠĠĠĠĠĠ ĠgetInstance ( context ). log Event (" ser mon _ shared ", Ġparams ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtrack Show ed Notification ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ ĠgetInstance ( context ). log Event (" show ed _ notification ", ĠBundle ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtrack Notification Click ( context : ĠContext , Ġmark F avour ite : ĠBoolean Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġparams . putString (" action ", Ġif Ġ( mark F avour ite ) Ġ" fav our ite " Ġelse Ġ" share ") ĊĊĠĠĠĠĠĠĠ ĠgetInstance ( context ). log Event (" notification _ action ", Ġparams ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtrack Widget Created ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ ĠgetInstance ( context ). log Event (" widget _ created ", ĠBundle ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtrack Widget Deleted ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ ĠgetInstance ( context ). log Event (" widget _ deleted ", ĠBundle ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetInstance ( context : ĠContext ): ĠFirebase Analytics Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠFirebase Analytics . getInstance ( context ) ĊĠĠĠ Ġ} Ċ }