Files
rr3-apk/decompiled/sources/androidx/loader/content/Loader.java
Daniel Elliott f9d20bb3fc Add decompiled APK source code (JADX)
- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-18 14:52:23 -08:00

274 lines
7.6 KiB
Java

package androidx.loader.content;
import android.content.Context;
import android.database.ContentObserver;
import android.os.Handler;
import androidx.annotation.MainThread;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.io.FileDescriptor;
import java.io.PrintWriter;
/* loaded from: classes.dex */
public class Loader<D> {
private Context mContext;
private int mId;
private OnLoadCompleteListener<D> mListener;
private OnLoadCanceledListener<D> mOnLoadCanceledListener;
private boolean mStarted = false;
private boolean mAbandoned = false;
private boolean mReset = true;
private boolean mContentChanged = false;
private boolean mProcessingChange = false;
public interface OnLoadCanceledListener<D> {
void onLoadCanceled(@NonNull Loader<D> loader);
}
public interface OnLoadCompleteListener<D> {
void onLoadComplete(@NonNull Loader<D> loader, @Nullable D d);
}
public void commitContentChanged() {
this.mProcessingChange = false;
}
@NonNull
public Context getContext() {
return this.mContext;
}
public int getId() {
return this.mId;
}
public boolean isAbandoned() {
return this.mAbandoned;
}
public boolean isReset() {
return this.mReset;
}
public boolean isStarted() {
return this.mStarted;
}
@MainThread
public void onAbandon() {
}
@MainThread
public boolean onCancelLoad() {
return false;
}
@MainThread
public void onForceLoad() {
}
@MainThread
public void onReset() {
}
@MainThread
public void onStartLoading() {
}
@MainThread
public void onStopLoading() {
}
public boolean takeContentChanged() {
boolean z = this.mContentChanged;
this.mContentChanged = false;
this.mProcessingChange |= z;
return z;
}
public final class ForceLoadContentObserver extends ContentObserver {
@Override // android.database.ContentObserver
public boolean deliverSelfNotifications() {
return true;
}
public ForceLoadContentObserver() {
super(new Handler());
}
@Override // android.database.ContentObserver
public void onChange(boolean z) {
Loader.this.onContentChanged();
}
}
public Loader(@NonNull Context context) {
this.mContext = context.getApplicationContext();
}
@MainThread
public void deliverResult(@Nullable D d) {
OnLoadCompleteListener<D> onLoadCompleteListener = this.mListener;
if (onLoadCompleteListener != null) {
onLoadCompleteListener.onLoadComplete(this, d);
}
}
@MainThread
public void deliverCancellation() {
OnLoadCanceledListener<D> onLoadCanceledListener = this.mOnLoadCanceledListener;
if (onLoadCanceledListener != null) {
onLoadCanceledListener.onLoadCanceled(this);
}
}
@MainThread
public void registerListener(int i, @NonNull OnLoadCompleteListener<D> onLoadCompleteListener) {
if (this.mListener != null) {
throw new IllegalStateException("There is already a listener registered");
}
this.mListener = onLoadCompleteListener;
this.mId = i;
}
@MainThread
public void unregisterListener(@NonNull OnLoadCompleteListener<D> onLoadCompleteListener) {
OnLoadCompleteListener<D> onLoadCompleteListener2 = this.mListener;
if (onLoadCompleteListener2 == null) {
throw new IllegalStateException("No listener register");
}
if (onLoadCompleteListener2 != onLoadCompleteListener) {
throw new IllegalArgumentException("Attempting to unregister the wrong listener");
}
this.mListener = null;
}
@MainThread
public void registerOnLoadCanceledListener(@NonNull OnLoadCanceledListener<D> onLoadCanceledListener) {
if (this.mOnLoadCanceledListener != null) {
throw new IllegalStateException("There is already a listener registered");
}
this.mOnLoadCanceledListener = onLoadCanceledListener;
}
@MainThread
public void unregisterOnLoadCanceledListener(@NonNull OnLoadCanceledListener<D> onLoadCanceledListener) {
OnLoadCanceledListener<D> onLoadCanceledListener2 = this.mOnLoadCanceledListener;
if (onLoadCanceledListener2 == null) {
throw new IllegalStateException("No listener register");
}
if (onLoadCanceledListener2 != onLoadCanceledListener) {
throw new IllegalArgumentException("Attempting to unregister the wrong listener");
}
this.mOnLoadCanceledListener = null;
}
@MainThread
public final void startLoading() {
this.mStarted = true;
this.mReset = false;
this.mAbandoned = false;
onStartLoading();
}
@MainThread
public boolean cancelLoad() {
return onCancelLoad();
}
@MainThread
public void forceLoad() {
onForceLoad();
}
@MainThread
public void stopLoading() {
this.mStarted = false;
onStopLoading();
}
@MainThread
public void abandon() {
this.mAbandoned = true;
onAbandon();
}
@MainThread
public void reset() {
onReset();
this.mReset = true;
this.mStarted = false;
this.mAbandoned = false;
this.mContentChanged = false;
this.mProcessingChange = false;
}
public void rollbackContentChanged() {
if (this.mProcessingChange) {
onContentChanged();
}
}
@MainThread
public void onContentChanged() {
if (this.mStarted) {
forceLoad();
} else {
this.mContentChanged = true;
}
}
@NonNull
public String dataToString(@Nullable D d) {
StringBuilder sb = new StringBuilder(64);
if (d == null) {
sb.append("null");
} else {
Class<?> cls = d.getClass();
sb.append(cls.getSimpleName());
sb.append("{");
sb.append(Integer.toHexString(System.identityHashCode(cls)));
sb.append("}");
}
return sb.toString();
}
@NonNull
public String toString() {
StringBuilder sb = new StringBuilder(64);
Class<?> cls = getClass();
sb.append(cls.getSimpleName());
sb.append("{");
sb.append(Integer.toHexString(System.identityHashCode(cls)));
sb.append(" id=");
sb.append(this.mId);
sb.append("}");
return sb.toString();
}
@Deprecated
public void dump(String str, FileDescriptor fileDescriptor, PrintWriter printWriter, String[] strArr) {
printWriter.print(str);
printWriter.print("mId=");
printWriter.print(this.mId);
printWriter.print(" mListener=");
printWriter.println(this.mListener);
if (this.mStarted || this.mContentChanged || this.mProcessingChange) {
printWriter.print(str);
printWriter.print("mStarted=");
printWriter.print(this.mStarted);
printWriter.print(" mContentChanged=");
printWriter.print(this.mContentChanged);
printWriter.print(" mProcessingChange=");
printWriter.println(this.mProcessingChange);
}
if (this.mAbandoned || this.mReset) {
printWriter.print(str);
printWriter.print("mAbandoned=");
printWriter.print(this.mAbandoned);
printWriter.print(" mReset=");
printWriter.println(this.mReset);
}
}
}