Skip to content

Commit

Permalink
add panelist configs with url
Browse files Browse the repository at this point in the history
  • Loading branch information
ahmedshortcut committed Mar 9, 2022
1 parent f4c2706 commit f93b5bc
Showing 1 changed file with 36 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,55 @@ package se.kantarsifo.mobileanalytics.framework

import android.content.Context
import android.net.Uri
import android.provider.FontRequest
import android.util.Log
import androidx.activity.ComponentActivity
import androidx.browser.trusted.TrustedWebActivityIntentBuilder
import com.google.androidbrowserhelper.trusted.TwaLauncher
import se.kantarsifo.mobileanalytics.framework.Utils.getApplicationVersion
import java.lang.Exception
import java.net.HttpCookie


internal class TrustedWebHandler(
private val twaUrl:String,
private var twaUrl:String,
private val context: Context,
private val trackPanelistOnly:Boolean,
private val isWebViewBased:Boolean
) {

fun open() {
if (twaUrl.isEmpty()){
throw RuntimeException("you should set twa url first in analytics instance")
var url = ""
if (twaUrl.isEmpty() && !twaUrl.endsWith("/")){
throw RuntimeException("you should set twa url first in analytics instance and ends with /")
}
val uri = Uri.parse(twaUrl).buildUpon()
.appendQueryParameter("sifo_config","trackPanelistOnly=$trackPanelistOnly")
.appendQueryParameter("isWebViewBased",isWebViewBased.toString())
.appendQueryParameter("sdkVersion",BuildConfig.VERSION_NAME)
.appendQueryParameter("appVersion", context.getApplicationVersion())
.appendQueryParameter("domain",TagStringsAndValues.DOMAIN_CODIGO)
.build()
val launcher = TwaLauncher(context)
launcher.launch(uri)
url = twaUrl
val panelistData = PanelistHandler.getCookies(context,context as ComponentActivity)
val cookiesParams = appendPanelistDataUrl(panelistData)
url += "?$cookiesParams"
try {
val uri = Uri.parse(url).buildUpon()
.appendQueryParameter("sifo_config","trackPanelistOnly=$trackPanelistOnly")
.appendQueryParameter("isWebViewBased",isWebViewBased.toString())
.appendQueryParameter("sdkVersion",BuildConfig.VERSION_NAME)
.appendQueryParameter("appVersion", context.getApplicationVersion())
.appendQueryParameter("domain",TagStringsAndValues.DOMAIN_CODIGO)
.build()

val launcher = TwaLauncher(context)
launcher.launch(uri)
}catch (e:Exception){
e.printStackTrace()
}

}

private fun appendPanelistDataUrl(panelistData: List<HttpCookie>?) :String{
var params = ""
panelistData?.forEach {
params += it.value + "&"
}
return params.dropLast(1)
}

}
Expand Down

0 comments on commit f93b5bc

Please sign in to comment.