Skip to content

Instantly share code, notes, and snippets.

@patrickhammond
Forked from billmote/YourApplication.java
Last active April 30, 2018 21:18
Show Gist options
  • Save patrickhammond/9878c8f3cdb057abf581 to your computer and use it in GitHub Desktop.
Save patrickhammond/9878c8f3cdb057abf581 to your computer and use it in GitHub Desktop.
import android.app.Activity;
import android.app.Application;
import android.os.Bundle;
import com.google.analytics.tracking.android.EasyTracker;
public class MainApplication extends Application {
private boolean locationNeedsUpdated = true;
private int createdActivityInstanceCount = 0;
@Override
public void onCreate() {
super.onCreate();
appBackgroundedDetector();
}
private void appBackgroundedDetector() {
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle bundle) {
createdActivityInstanceCount++;
}
@Override
public void onActivityStarted(Activity activity) {
//EasyTracker.getInstance(MainApplication.this).activityStart(activity);
}
@Override
public void onActivityResumed(Activity activity) {
if (locationNeedsUpdated && (createdActivityInstanceCount == 0)) {
// TODO update location
locationNeedsUpdated = false;
}
}
@Override
public void onActivityPaused(Activity activity) {
}
@Override
public void onActivityStopped(Activity activity) {
EasyTracker.getInstance(MainApplication.this).activityStop(activity);
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
}
@Override
public void onActivityDestroyed(Activity activity) {
createdActivityInstanceCount--;
if (createdActivityInstanceCount <= 0) {
createdActivityInstanceCount = 0;
locationNeedsUpdated = true;
}
}
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment