Files
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

495 lines
18 KiB
Java

package androidx.loader.app;
import android.os.Bundle;
import android.os.Looper;
import android.util.Log;
import androidx.annotation.MainThread;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.collection.SparseArrayCompat;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelProvider;
import androidx.lifecycle.ViewModelStore;
import androidx.loader.app.LoaderManager;
import androidx.loader.content.Loader;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.lang.reflect.Modifier;
/* loaded from: classes.dex */
class LoaderManagerImpl extends LoaderManager {
static boolean DEBUG = false;
private static final String TAG = "LoaderManager";
@NonNull
private final LifecycleOwner mLifecycleOwner;
@NonNull
private final LoaderViewModel mLoaderViewModel;
public static class LoaderInfo<D> extends MutableLiveData<D> implements Loader.OnLoadCompleteListener<D> {
@Nullable
private final Bundle mArgs;
private final int mId;
private LifecycleOwner mLifecycleOwner;
@NonNull
private final Loader<D> mLoader;
private LoaderObserver<D> mObserver;
private Loader<D> mPriorLoader;
@NonNull
public Loader<D> getLoader() {
return this.mLoader;
}
public LoaderInfo(int i, @Nullable Bundle bundle, @NonNull Loader<D> loader, @Nullable Loader<D> loader2) {
this.mId = i;
this.mArgs = bundle;
this.mLoader = loader;
this.mPriorLoader = loader2;
loader.registerListener(i, this);
}
@Override // androidx.lifecycle.LiveData
public void onActive() {
if (LoaderManagerImpl.DEBUG) {
StringBuilder sb = new StringBuilder();
sb.append(" Starting: ");
sb.append(this);
}
this.mLoader.startLoading();
}
@Override // androidx.lifecycle.LiveData
public void onInactive() {
if (LoaderManagerImpl.DEBUG) {
StringBuilder sb = new StringBuilder();
sb.append(" Stopping: ");
sb.append(this);
}
this.mLoader.stopLoading();
}
@NonNull
@MainThread
public Loader<D> setCallback(@NonNull LifecycleOwner lifecycleOwner, @NonNull LoaderManager.LoaderCallbacks<D> loaderCallbacks) {
LoaderObserver<D> loaderObserver = new LoaderObserver<>(this.mLoader, loaderCallbacks);
observe(lifecycleOwner, loaderObserver);
LoaderObserver<D> loaderObserver2 = this.mObserver;
if (loaderObserver2 != null) {
removeObserver(loaderObserver2);
}
this.mLifecycleOwner = lifecycleOwner;
this.mObserver = loaderObserver;
return this.mLoader;
}
public void markForRedelivery() {
LifecycleOwner lifecycleOwner = this.mLifecycleOwner;
LoaderObserver<D> loaderObserver = this.mObserver;
if (lifecycleOwner == null || loaderObserver == null) {
return;
}
super.removeObserver(loaderObserver);
observe(lifecycleOwner, loaderObserver);
}
public boolean isCallbackWaitingForData() {
LoaderObserver<D> loaderObserver;
return (!hasActiveObservers() || (loaderObserver = this.mObserver) == null || loaderObserver.hasDeliveredData()) ? false : true;
}
/* JADX WARN: Multi-variable type inference failed */
@Override // androidx.lifecycle.LiveData
public void removeObserver(@NonNull Observer<? super D> observer) {
super.removeObserver(observer);
this.mLifecycleOwner = null;
this.mObserver = null;
}
@MainThread
public Loader<D> destroy(boolean z) {
if (LoaderManagerImpl.DEBUG) {
StringBuilder sb = new StringBuilder();
sb.append(" Destroying: ");
sb.append(this);
}
this.mLoader.cancelLoad();
this.mLoader.abandon();
LoaderObserver<D> loaderObserver = this.mObserver;
if (loaderObserver != null) {
removeObserver(loaderObserver);
if (z) {
loaderObserver.reset();
}
}
this.mLoader.unregisterListener(this);
if ((loaderObserver == null || loaderObserver.hasDeliveredData()) && !z) {
return this.mLoader;
}
this.mLoader.reset();
return this.mPriorLoader;
}
@Override // androidx.loader.content.Loader.OnLoadCompleteListener
public void onLoadComplete(@NonNull Loader<D> loader, @Nullable D d) {
if (LoaderManagerImpl.DEBUG) {
StringBuilder sb = new StringBuilder();
sb.append("onLoadComplete: ");
sb.append(this);
}
if (Looper.myLooper() == Looper.getMainLooper()) {
setValue(d);
return;
}
if (LoaderManagerImpl.DEBUG) {
Log.w(LoaderManagerImpl.TAG, "onLoadComplete was incorrectly called on a background thread");
}
postValue(d);
}
@Override // androidx.lifecycle.MutableLiveData, androidx.lifecycle.LiveData
public void setValue(D d) {
super.setValue(d);
Loader<D> loader = this.mPriorLoader;
if (loader != null) {
loader.reset();
this.mPriorLoader = null;
}
}
@NonNull
public String toString() {
StringBuilder sb = new StringBuilder(64);
sb.append("LoaderInfo{");
sb.append(Integer.toHexString(System.identityHashCode(this)));
sb.append(" #");
sb.append(this.mId);
sb.append(" : ");
Class<?> cls = this.mLoader.getClass();
sb.append(cls.getSimpleName());
sb.append("{");
sb.append(Integer.toHexString(System.identityHashCode(cls)));
sb.append("}}");
return sb.toString();
}
public void dump(String str, FileDescriptor fileDescriptor, PrintWriter printWriter, String[] strArr) {
printWriter.print(str);
printWriter.print("mId=");
printWriter.print(this.mId);
printWriter.print(" mArgs=");
printWriter.println(this.mArgs);
printWriter.print(str);
printWriter.print("mLoader=");
printWriter.println(this.mLoader);
this.mLoader.dump(str + " ", fileDescriptor, printWriter, strArr);
if (this.mObserver != null) {
printWriter.print(str);
printWriter.print("mCallbacks=");
printWriter.println(this.mObserver);
this.mObserver.dump(str + " ", printWriter);
}
printWriter.print(str);
printWriter.print("mData=");
printWriter.println(getLoader().dataToString(getValue()));
printWriter.print(str);
printWriter.print("mStarted=");
printWriter.println(hasActiveObservers());
}
}
public static class LoaderObserver<D> implements Observer<D> {
@NonNull
private final LoaderManager.LoaderCallbacks<D> mCallback;
private boolean mDeliveredData = false;
@NonNull
private final Loader<D> mLoader;
public boolean hasDeliveredData() {
return this.mDeliveredData;
}
public LoaderObserver(@NonNull Loader<D> loader, @NonNull LoaderManager.LoaderCallbacks<D> loaderCallbacks) {
this.mLoader = loader;
this.mCallback = loaderCallbacks;
}
@Override // androidx.lifecycle.Observer
public void onChanged(@Nullable D d) {
if (LoaderManagerImpl.DEBUG) {
StringBuilder sb = new StringBuilder();
sb.append(" onLoadFinished in ");
sb.append(this.mLoader);
sb.append(": ");
sb.append(this.mLoader.dataToString(d));
}
this.mDeliveredData = true;
this.mCallback.onLoadFinished(this.mLoader, d);
}
@MainThread
public void reset() {
if (this.mDeliveredData) {
if (LoaderManagerImpl.DEBUG) {
StringBuilder sb = new StringBuilder();
sb.append(" Resetting: ");
sb.append(this.mLoader);
}
this.mCallback.onLoaderReset(this.mLoader);
}
}
@NonNull
public String toString() {
return this.mCallback.toString();
}
public void dump(String str, PrintWriter printWriter) {
printWriter.print(str);
printWriter.print("mDeliveredData=");
printWriter.println(this.mDeliveredData);
}
}
public static class LoaderViewModel extends ViewModel {
private static final ViewModelProvider.Factory FACTORY = new ViewModelProvider.Factory() { // from class: androidx.loader.app.LoaderManagerImpl.LoaderViewModel.1
@Override // androidx.lifecycle.ViewModelProvider.Factory
@NonNull
public <T extends ViewModel> T create(@NonNull Class<T> cls) {
return new LoaderViewModel();
}
};
private SparseArrayCompat<LoaderInfo> mLoaders = new SparseArrayCompat<>();
private boolean mCreatingLoader = false;
public void finishCreatingLoader() {
this.mCreatingLoader = false;
}
public boolean isCreatingLoader() {
return this.mCreatingLoader;
}
public void startCreatingLoader() {
this.mCreatingLoader = true;
}
@NonNull
public static LoaderViewModel getInstance(ViewModelStore viewModelStore) {
return (LoaderViewModel) new ViewModelProvider(viewModelStore, FACTORY).get(LoaderViewModel.class);
}
public void putLoader(int i, @NonNull LoaderInfo loaderInfo) {
this.mLoaders.put(i, loaderInfo);
}
public <D> LoaderInfo<D> getLoader(int i) {
return this.mLoaders.get(i);
}
public void removeLoader(int i) {
this.mLoaders.remove(i);
}
public boolean hasRunningLoaders() {
int size = this.mLoaders.size();
for (int i = 0; i < size; i++) {
if (this.mLoaders.valueAt(i).isCallbackWaitingForData()) {
return true;
}
}
return false;
}
public void markForRedelivery() {
int size = this.mLoaders.size();
for (int i = 0; i < size; i++) {
this.mLoaders.valueAt(i).markForRedelivery();
}
}
@Override // androidx.lifecycle.ViewModel
public void onCleared() {
super.onCleared();
int size = this.mLoaders.size();
for (int i = 0; i < size; i++) {
this.mLoaders.valueAt(i).destroy(true);
}
this.mLoaders.clear();
}
public void dump(String str, FileDescriptor fileDescriptor, PrintWriter printWriter, String[] strArr) {
if (this.mLoaders.size() > 0) {
printWriter.print(str);
printWriter.println("Loaders:");
String str2 = str + " ";
for (int i = 0; i < this.mLoaders.size(); i++) {
LoaderInfo valueAt = this.mLoaders.valueAt(i);
printWriter.print(str);
printWriter.print(" #");
printWriter.print(this.mLoaders.keyAt(i));
printWriter.print(": ");
printWriter.println(valueAt.toString());
valueAt.dump(str2, fileDescriptor, printWriter, strArr);
}
}
}
}
public LoaderManagerImpl(@NonNull LifecycleOwner lifecycleOwner, @NonNull ViewModelStore viewModelStore) {
this.mLifecycleOwner = lifecycleOwner;
this.mLoaderViewModel = LoaderViewModel.getInstance(viewModelStore);
}
@NonNull
@MainThread
private <D> Loader<D> createAndInstallLoader(int i, @Nullable Bundle bundle, @NonNull LoaderManager.LoaderCallbacks<D> loaderCallbacks, @Nullable Loader<D> loader) {
try {
this.mLoaderViewModel.startCreatingLoader();
Loader<D> onCreateLoader = loaderCallbacks.onCreateLoader(i, bundle);
if (onCreateLoader == null) {
throw new IllegalArgumentException("Object returned from onCreateLoader must not be null");
}
if (onCreateLoader.getClass().isMemberClass() && !Modifier.isStatic(onCreateLoader.getClass().getModifiers())) {
throw new IllegalArgumentException("Object returned from onCreateLoader must not be a non-static inner member class: " + onCreateLoader);
}
LoaderInfo loaderInfo = new LoaderInfo(i, bundle, onCreateLoader, loader);
if (DEBUG) {
StringBuilder sb = new StringBuilder();
sb.append(" Created new loader ");
sb.append(loaderInfo);
}
this.mLoaderViewModel.putLoader(i, loaderInfo);
this.mLoaderViewModel.finishCreatingLoader();
return loaderInfo.setCallback(this.mLifecycleOwner, loaderCallbacks);
} catch (Throwable th) {
this.mLoaderViewModel.finishCreatingLoader();
throw th;
}
}
@Override // androidx.loader.app.LoaderManager
@NonNull
@MainThread
public <D> Loader<D> initLoader(int i, @Nullable Bundle bundle, @NonNull LoaderManager.LoaderCallbacks<D> loaderCallbacks) {
if (this.mLoaderViewModel.isCreatingLoader()) {
throw new IllegalStateException("Called while creating a loader");
}
if (Looper.getMainLooper() != Looper.myLooper()) {
throw new IllegalStateException("initLoader must be called on the main thread");
}
LoaderInfo<D> loader = this.mLoaderViewModel.getLoader(i);
if (DEBUG) {
StringBuilder sb = new StringBuilder();
sb.append("initLoader in ");
sb.append(this);
sb.append(": args=");
sb.append(bundle);
}
if (loader == null) {
return createAndInstallLoader(i, bundle, loaderCallbacks, null);
}
if (DEBUG) {
StringBuilder sb2 = new StringBuilder();
sb2.append(" Re-using existing loader ");
sb2.append(loader);
}
return loader.setCallback(this.mLifecycleOwner, loaderCallbacks);
}
@Override // androidx.loader.app.LoaderManager
@NonNull
@MainThread
public <D> Loader<D> restartLoader(int i, @Nullable Bundle bundle, @NonNull LoaderManager.LoaderCallbacks<D> loaderCallbacks) {
if (this.mLoaderViewModel.isCreatingLoader()) {
throw new IllegalStateException("Called while creating a loader");
}
if (Looper.getMainLooper() != Looper.myLooper()) {
throw new IllegalStateException("restartLoader must be called on the main thread");
}
if (DEBUG) {
StringBuilder sb = new StringBuilder();
sb.append("restartLoader in ");
sb.append(this);
sb.append(": args=");
sb.append(bundle);
}
LoaderInfo<D> loader = this.mLoaderViewModel.getLoader(i);
return createAndInstallLoader(i, bundle, loaderCallbacks, loader != null ? loader.destroy(false) : null);
}
@Override // androidx.loader.app.LoaderManager
@MainThread
public void destroyLoader(int i) {
if (this.mLoaderViewModel.isCreatingLoader()) {
throw new IllegalStateException("Called while creating a loader");
}
if (Looper.getMainLooper() != Looper.myLooper()) {
throw new IllegalStateException("destroyLoader must be called on the main thread");
}
if (DEBUG) {
StringBuilder sb = new StringBuilder();
sb.append("destroyLoader in ");
sb.append(this);
sb.append(" of ");
sb.append(i);
}
LoaderInfo loader = this.mLoaderViewModel.getLoader(i);
if (loader != null) {
loader.destroy(true);
this.mLoaderViewModel.removeLoader(i);
}
}
@Override // androidx.loader.app.LoaderManager
@Nullable
public <D> Loader<D> getLoader(int i) {
if (this.mLoaderViewModel.isCreatingLoader()) {
throw new IllegalStateException("Called while creating a loader");
}
LoaderInfo<D> loader = this.mLoaderViewModel.getLoader(i);
if (loader != null) {
return loader.getLoader();
}
return null;
}
@Override // androidx.loader.app.LoaderManager
public void markForRedelivery() {
this.mLoaderViewModel.markForRedelivery();
}
@NonNull
public String toString() {
StringBuilder sb = new StringBuilder(128);
sb.append("LoaderManager{");
sb.append(Integer.toHexString(System.identityHashCode(this)));
sb.append(" in ");
Class<?> cls = this.mLifecycleOwner.getClass();
sb.append(cls.getSimpleName());
sb.append("{");
sb.append(Integer.toHexString(System.identityHashCode(cls)));
sb.append("}}");
return sb.toString();
}
@Override // androidx.loader.app.LoaderManager
@Deprecated
public void dump(String str, FileDescriptor fileDescriptor, PrintWriter printWriter, String[] strArr) {
this.mLoaderViewModel.dump(str, fileDescriptor, printWriter, strArr);
}
@Override // androidx.loader.app.LoaderManager
public boolean hasRunningLoaders() {
return this.mLoaderViewModel.hasRunningLoaders();
}
}