Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.swisscom.ngti.mycloud.apptentive
- import android.app.Activity
- import android.os.Bundle
- import androidx.annotation.Nullable
- import com.swisscom.ngti.mycloud.SplashActivity
- import com.swisscom.ngti.mycloud.utils.SimpleActivityLifecycleCallbacks
- /**
- * Extension of [SimpleActivityLifecycleCallbacks] that handles Apptentive related logic that should be executed on certain Activity lifecycle events
- */
- class ApptentiveActivitiesMonitoree : SimpleActivityLifecycleCallbacks() {
- private var pausedActivity: Activity? = null
- override fun onActivityCreated(activity: Activity, @Nullable savedInstanceState: Bundle?) {
- if (savedInstanceState != null) return
- if (activity !is IApptentiveActivity) return
- ApptentiveUtils.reportEvent(activity.applicationContext, activity.getOnActivityCreateApptentiveEvent())
- }
- override fun onActivityResumed(activity: Activity) {
- if (pausedActivity != null && activity == pausedActivity) {
- ApptentiveUtils.reportEvent(activity.applicationContext, EVENT_APP_OPENED)
- }
- }
- override fun onActivityPaused(activity: Activity) {
- pausedActivity = activity
- }
- override fun onActivityDestroyed(activity: Activity) {
- if (activity is SplashActivity) {
- ApptentiveUtils.reportEvent(activity.applicationContext, EVENT_APP_OPENED)
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement