discord-jadx/app/src/main/java/androidx/lifecycle/ReportFragment.java

186 lines
6.8 KiB
Java

package androidx.lifecycle;
import android.app.Activity;
import android.app.Application;
import android.app.Fragment;
import android.app.FragmentManager;
import android.os.Build;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.annotation.RestrictTo;
import androidx.lifecycle.Lifecycle;
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public class ReportFragment extends Fragment {
private static final String REPORT_FRAGMENT_TAG = "androidx.lifecycle.LifecycleDispatcher.report_fragment_tag";
private ActivityInitializationListener mProcessListener;
public interface ActivityInitializationListener {
void onCreate();
void onResume();
void onStart();
}
@RequiresApi(29)
public static class LifecycleCallbacks implements Application.ActivityLifecycleCallbacks {
public static void registerIn(Activity activity) {
activity.registerActivityLifecycleCallbacks(new LifecycleCallbacks());
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle bundle) {
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityDestroyed(@NonNull Activity activity) {
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityPaused(@NonNull Activity activity) {
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityPostCreated(@NonNull Activity activity, @Nullable Bundle bundle) {
ReportFragment.dispatch(activity, Lifecycle.Event.ON_CREATE);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityPostResumed(@NonNull Activity activity) {
ReportFragment.dispatch(activity, Lifecycle.Event.ON_RESUME);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityPostStarted(@NonNull Activity activity) {
ReportFragment.dispatch(activity, Lifecycle.Event.ON_START);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityPreDestroyed(@NonNull Activity activity) {
ReportFragment.dispatch(activity, Lifecycle.Event.ON_DESTROY);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityPrePaused(@NonNull Activity activity) {
ReportFragment.dispatch(activity, Lifecycle.Event.ON_PAUSE);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityPreStopped(@NonNull Activity activity) {
ReportFragment.dispatch(activity, Lifecycle.Event.ON_STOP);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityResumed(@NonNull Activity activity) {
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle bundle) {
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityStarted(@NonNull Activity activity) {
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityStopped(@NonNull Activity activity) {
}
}
public static void dispatch(@NonNull Activity activity, @NonNull Lifecycle.Event event) {
if (activity instanceof LifecycleRegistryOwner) {
((LifecycleRegistryOwner) activity).getLifecycle().handleLifecycleEvent(event);
} else if (activity instanceof LifecycleOwner) {
Lifecycle lifecycle = ((LifecycleOwner) activity).getLifecycle();
if (lifecycle instanceof LifecycleRegistry) {
((LifecycleRegistry) lifecycle).handleLifecycleEvent(event);
}
}
}
private void dispatch(@NonNull Lifecycle.Event event) {
if (Build.VERSION.SDK_INT < 29) {
dispatch(getActivity(), event);
}
}
private void dispatchCreate(ActivityInitializationListener activityInitializationListener) {
if (activityInitializationListener != null) {
activityInitializationListener.onCreate();
}
}
private void dispatchResume(ActivityInitializationListener activityInitializationListener) {
if (activityInitializationListener != null) {
activityInitializationListener.onResume();
}
}
private void dispatchStart(ActivityInitializationListener activityInitializationListener) {
if (activityInitializationListener != null) {
activityInitializationListener.onStart();
}
}
public static ReportFragment get(Activity activity) {
return (ReportFragment) activity.getFragmentManager().findFragmentByTag("androidx.lifecycle.LifecycleDispatcher.report_fragment_tag");
}
public static void injectIfNeededIn(Activity activity) {
if (Build.VERSION.SDK_INT >= 29) {
LifecycleCallbacks.registerIn(activity);
}
FragmentManager fragmentManager = activity.getFragmentManager();
if (fragmentManager.findFragmentByTag("androidx.lifecycle.LifecycleDispatcher.report_fragment_tag") == null) {
fragmentManager.beginTransaction().add(new ReportFragment(), "androidx.lifecycle.LifecycleDispatcher.report_fragment_tag").commit();
fragmentManager.executePendingTransactions();
}
}
@Override // android.app.Fragment
public void onActivityCreated(Bundle bundle) {
super.onActivityCreated(bundle);
dispatchCreate(this.mProcessListener);
dispatch(Lifecycle.Event.ON_CREATE);
}
@Override // android.app.Fragment
public void onDestroy() {
super.onDestroy();
dispatch(Lifecycle.Event.ON_DESTROY);
this.mProcessListener = null;
}
@Override // android.app.Fragment
public void onPause() {
super.onPause();
dispatch(Lifecycle.Event.ON_PAUSE);
}
@Override // android.app.Fragment
public void onResume() {
super.onResume();
dispatchResume(this.mProcessListener);
dispatch(Lifecycle.Event.ON_RESUME);
}
@Override // android.app.Fragment
public void onStart() {
super.onStart();
dispatchStart(this.mProcessListener);
dispatch(Lifecycle.Event.ON_START);
}
@Override // android.app.Fragment
public void onStop() {
super.onStop();
dispatch(Lifecycle.Event.ON_STOP);
}
public void setProcessListener(ActivityInitializationListener activityInitializationListener) {
this.mProcessListener = activityInitializationListener;
}
}