package androidx.loader.content; import android.content.Context; import android.os.Handler; import android.os.SystemClock; import androidx.core.os.OperationCanceledException; import androidx.core.util.TimeUtils; import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.concurrent.CountDownLatch; import java.util.concurrent.Executor; /* loaded from: classes2.dex */ public abstract class AsyncTaskLoader extends Loader { static final boolean DEBUG = false; static final String TAG = "AsyncTaskLoader"; volatile AsyncTaskLoader.LoadTask mCancellingTask; private final Executor mExecutor; Handler mHandler; long mLastLoadCompleteTime; volatile AsyncTaskLoader.LoadTask mTask; long mUpdateThrottle; public void cancelLoadInBackground() { } public boolean isLoadInBackgroundCanceled() { return this.mCancellingTask != null; } public abstract D loadInBackground(); public void onCanceled(D d) { } /* JADX INFO: Access modifiers changed from: package-private */ /* loaded from: classes2.dex */ public final class LoadTask extends ModernAsyncTask implements Runnable { private final CountDownLatch mDone = new CountDownLatch(1); boolean waiting; LoadTask() { } /* JADX INFO: Access modifiers changed from: protected */ @Override // androidx.loader.content.ModernAsyncTask public D doInBackground(Void... voidArr) { try { return (D) AsyncTaskLoader.this.onLoadInBackground(); } catch (OperationCanceledException e) { if (this.isCancelled()) { return null; } throw e; } } @Override // androidx.loader.content.ModernAsyncTask protected void onPostExecute(D d) { try { AsyncTaskLoader.this.dispatchOnLoadComplete(this, d); } finally { this.mDone.countDown(); } } @Override // androidx.loader.content.ModernAsyncTask protected void onCancelled(D d) { try { AsyncTaskLoader.this.dispatchOnCancelled(this, d); } finally { this.mDone.countDown(); } } @Override // java.lang.Runnable public void run() { this.waiting = false; AsyncTaskLoader.this.executePendingTask(); } public void waitForLoader() { try { this.mDone.await(); } catch (InterruptedException unused) { } } } public AsyncTaskLoader(Context context) { this(context, ModernAsyncTask.THREAD_POOL_EXECUTOR); } private AsyncTaskLoader(Context context, Executor executor) { super(context); this.mLastLoadCompleteTime = -10000L; this.mExecutor = executor; } public void setUpdateThrottle(long j) { this.mUpdateThrottle = j; if (j != 0) { this.mHandler = new Handler(); } } /* JADX INFO: Access modifiers changed from: protected */ @Override // androidx.loader.content.Loader public void onForceLoad() { super.onForceLoad(); cancelLoad(); this.mTask = new LoadTask(); executePendingTask(); } @Override // androidx.loader.content.Loader protected boolean onCancelLoad() { if (this.mTask == null) { return false; } if (!this.mStarted) { this.mContentChanged = true; } if (this.mCancellingTask != null) { if (this.mTask.waiting) { this.mTask.waiting = false; this.mHandler.removeCallbacks(this.mTask); } this.mTask = null; return false; } if (this.mTask.waiting) { this.mTask.waiting = false; this.mHandler.removeCallbacks(this.mTask); this.mTask = null; return false; } boolean cancel = this.mTask.cancel(false); if (cancel) { this.mCancellingTask = this.mTask; cancelLoadInBackground(); } this.mTask = null; return cancel; } void executePendingTask() { if (this.mCancellingTask != null || this.mTask == null) { return; } if (this.mTask.waiting) { this.mTask.waiting = false; this.mHandler.removeCallbacks(this.mTask); } if (this.mUpdateThrottle > 0 && SystemClock.uptimeMillis() < this.mLastLoadCompleteTime + this.mUpdateThrottle) { this.mTask.waiting = true; this.mHandler.postAtTime(this.mTask, this.mLastLoadCompleteTime + this.mUpdateThrottle); } else { this.mTask.executeOnExecutor(this.mExecutor, null); } } void dispatchOnCancelled(AsyncTaskLoader.LoadTask loadTask, D d) { onCanceled(d); if (this.mCancellingTask == loadTask) { rollbackContentChanged(); this.mLastLoadCompleteTime = SystemClock.uptimeMillis(); this.mCancellingTask = null; deliverCancellation(); executePendingTask(); } } void dispatchOnLoadComplete(AsyncTaskLoader.LoadTask loadTask, D d) { if (this.mTask != loadTask) { dispatchOnCancelled(loadTask, d); return; } if (isAbandoned()) { onCanceled(d); return; } commitContentChanged(); this.mLastLoadCompleteTime = SystemClock.uptimeMillis(); this.mTask = null; deliverResult(d); } protected D onLoadInBackground() { return loadInBackground(); } public void waitForLoader() { AsyncTaskLoader.LoadTask loadTask = this.mTask; if (loadTask != null) { loadTask.waitForLoader(); } } @Override // androidx.loader.content.Loader @Deprecated public void dump(String str, FileDescriptor fileDescriptor, PrintWriter printWriter, String[] strArr) { super.dump(str, fileDescriptor, printWriter, strArr); if (this.mTask != null) { printWriter.print(str); printWriter.print("mTask="); printWriter.print(this.mTask); printWriter.print(" waiting="); printWriter.println(this.mTask.waiting); } if (this.mCancellingTask != null) { printWriter.print(str); printWriter.print("mCancellingTask="); printWriter.print(this.mCancellingTask); printWriter.print(" waiting="); printWriter.println(this.mCancellingTask.waiting); } if (this.mUpdateThrottle != 0) { printWriter.print(str); printWriter.print("mUpdateThrottle="); TimeUtils.formatDuration(this.mUpdateThrottle, printWriter); printWriter.print(" mLastLoadCompleteTime="); TimeUtils.formatDuration(this.mLastLoadCompleteTime, SystemClock.uptimeMillis(), printWriter); printWriter.println(); } } }