Created
October 27, 2015 10:10
-
-
Save jbruchanov/6c86b788bc1d36ce4048 to your computer and use it in GitHub Desktop.
Android Activity tracker
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
http://developer.android.com/reference/android/app/Application.html#registerActivityLifecycleCallbacks(android.app.Application.ActivityLifecycleCallbacks) | |
Helper for counting running activities to send request if we are going from background | |
*/ | |
private ActivityLifecycleCallbacks mActivityLifecycleCallbacks = new ActivityLifecycleCallbacks() { | |
private int mActivityCounter; | |
@Override public void onActivityResumed(Activity activity) { } | |
@Override public void onActivityPaused(Activity activity) { } | |
@Override public void onActivitySaveInstanceState(Activity activity, Bundle outState) { } | |
@Override public void onActivityDestroyed(Activity activity) { } | |
@Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { } | |
@Override | |
public void onActivityStopped(Activity activity) { | |
mActivityCounter--; | |
if (mActivityCounter == 0) { | |
if (activity instanceof KnowsScreenName) { | |
String currentPage = ((KnowsScreenName) activity).getScreenPageName(SampleItApp.this); | |
if (currentPage != null) { | |
AnalyticsHelper.logLeavingPage(currentPage); | |
} | |
} | |
} | |
} | |
@Override public void onActivityStarted(Activity activity) { | |
if (mActivityCounter == 0) { | |
onLoadDataAsync(true); | |
} | |
mActivityCounter++; | |
} | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment