package androidx.work.impl.utils; import androidx.annotation.NonNull; import androidx.annotation.RestrictTo; import androidx.annotation.VisibleForTesting; import androidx.work.Logger; import androidx.work.RunnableScheduler; import androidx.work.impl.model.WorkGenerationalId; import java.util.HashMap; import java.util.Map; @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP}) /* loaded from: classes.dex */ public class WorkTimer { private static final String TAG = Logger.tagWithPrefix("WorkTimer"); final RunnableScheduler mRunnableScheduler; final Map mTimerMap = new HashMap(); final Map mListeners = new HashMap(); final Object mLock = new Object(); @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP}) public interface TimeLimitExceededListener { void onTimeLimitExceeded(@NonNull WorkGenerationalId workGenerationalId); } public WorkTimer(@NonNull RunnableScheduler runnableScheduler) { this.mRunnableScheduler = runnableScheduler; } public void startTimer(@NonNull WorkGenerationalId workGenerationalId, long j, @NonNull TimeLimitExceededListener timeLimitExceededListener) { synchronized (this.mLock) { Logger.get().debug(TAG, "Starting timer for " + workGenerationalId); stopTimer(workGenerationalId); WorkTimerRunnable workTimerRunnable = new WorkTimerRunnable(this, workGenerationalId); this.mTimerMap.put(workGenerationalId, workTimerRunnable); this.mListeners.put(workGenerationalId, timeLimitExceededListener); this.mRunnableScheduler.scheduleWithDelay(j, workTimerRunnable); } } public void stopTimer(@NonNull WorkGenerationalId workGenerationalId) { synchronized (this.mLock) { try { if (this.mTimerMap.remove(workGenerationalId) != null) { Logger.get().debug(TAG, "Stopping timer for " + workGenerationalId); this.mListeners.remove(workGenerationalId); } } catch (Throwable th) { throw th; } } } @NonNull @VisibleForTesting public Map getTimerMap() { Map map; synchronized (this.mLock) { map = this.mTimerMap; } return map; } @NonNull @VisibleForTesting public Map getListeners() { Map map; synchronized (this.mLock) { map = this.mListeners; } return map; } @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP}) public static class WorkTimerRunnable implements Runnable { static final String TAG = "WrkTimerRunnable"; private final WorkGenerationalId mWorkGenerationalId; private final WorkTimer mWorkTimer; public WorkTimerRunnable(@NonNull WorkTimer workTimer, @NonNull WorkGenerationalId workGenerationalId) { this.mWorkTimer = workTimer; this.mWorkGenerationalId = workGenerationalId; } @Override // java.lang.Runnable public void run() { synchronized (this.mWorkTimer.mLock) { try { if (this.mWorkTimer.mTimerMap.remove(this.mWorkGenerationalId) != null) { TimeLimitExceededListener remove = this.mWorkTimer.mListeners.remove(this.mWorkGenerationalId); if (remove != null) { remove.onTimeLimitExceeded(this.mWorkGenerationalId); } } else { Logger.get().debug(TAG, String.format("Timer with %s is already marked as complete.", this.mWorkGenerationalId)); } } catch (Throwable th) { throw th; } } } } }