1
0
Fork 0
fenix/app/src/release/java/org/mozilla/fenix/AdjustHelper.kt

63 lines
1.9 KiB
Kotlin

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.fenix
import android.app.Activity
import android.app.Application
import android.os.Bundle
import android.text.TextUtils
import com.adjust.sdk.Adjust
import com.adjust.sdk.AdjustConfig
import com.adjust.sdk.LogLevel
import mozilla.components.service.glean.Glean
object AdjustHelper {
fun setupAdjustIfNeeded(application: FenixApplication) {
// RELEASE: Enable Adjust - This class has different implementations for all build types.
if (TextUtils.isEmpty(BuildConfig.ADJUST_TOKEN)) {
throw IllegalStateException("No adjust token defined for release build")
}
if (!Glean.getUploadEnabled()) {
return
}
val config = AdjustConfig(
application,
BuildConfig.ADJUST_TOKEN,
AdjustConfig.ENVIRONMENT_PRODUCTION,
true
)
config.setLogLevel(LogLevel.SUPRESS)
Adjust.onCreate(config)
application.registerActivityLifecycleCallbacks(AdjustLifecycleCallbacks())
}
private class AdjustLifecycleCallbacks : Application.ActivityLifecycleCallbacks {
override fun onActivityResumed(activity: Activity) {
Adjust.onResume()
}
override fun onActivityPaused(activity: Activity) {
Adjust.onPause()
}
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle) {}
override fun onActivityStarted(activity: Activity) {}
override fun onActivityStopped(activity: Activity) {}
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {}
override fun onActivityDestroyed(activity: Activity) {}
}
}