Skip to content

Instantly share code, notes, and snippets.

@MikeFot
Created March 22, 2019 11:46
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MikeFot/9496d2e84e8067769acb9f33bb6281bb to your computer and use it in GitHub Desktop.
Save MikeFot/9496d2e84e8067769acb9f33bb6281bb to your computer and use it in GitHub Desktop.
Activity Lifecycle Callbacks (for when you join a new company and you have no idea what fragment you are looking at)
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import timber.log.Timber;
public class AppActivityLifecycleCallbacks implements Application.ActivityLifecycleCallbacks {
private static final String TAG = "ALC";
private final FragmentManager.FragmentLifecycleCallbacks fragmentLifecycleCallbacks = new AppStreamFragmentCallbacks();
@Override
public void onActivityCreated(Activity activity, Bundle bundle) {
Timber.d("%s: Activity Created \"%s\"", TAG, activity.getLocalClassName());
if (activity instanceof FragmentActivity) {
((FragmentActivity) activity).getSupportFragmentManager()
.registerFragmentLifecycleCallbacks(fragmentLifecycleCallbacks, false);
}
}
@Override
public void onActivityStarted(Activity activity) {
// NOOP
}
@Override
public void onActivityResumed(Activity activity) {
// NOOP
}
@Override
public void onActivityPaused(Activity activity) {
// NOOP
}
@Override
public void onActivityStopped(Activity activity) {
// NOOP
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
// NOOP
}
@Override
public void onActivityDestroyed(Activity activity) {
Timber.d("%s: Activity Destroyed \"%s\"", TAG, activity.getLocalClassName());
if (activity instanceof FragmentActivity) {
((FragmentActivity) activity).getSupportFragmentManager()
.unregisterFragmentLifecycleCallbacks(fragmentLifecycleCallbacks);
}
}
private class AppFragmentCallbacks extends FragmentManager.FragmentLifecycleCallbacks {
@Override
public void onFragmentAttached(@NonNull FragmentManager fm,
@NonNull Fragment f,
@NonNull Context context) {
super.onFragmentAttached(fm, f, context);
Timber.d("%s: Fragment Attached \"%s\"", TAG, f.getClass().getCanonicalName());
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment