package com.afunx.ble.blelitelib.proxy.scheme; import com.afunx.ble.blelitelib.log.BleLiteLog; import java.util.Timer; import java.util.TimerTask; import java.util.concurrent.atomic.AtomicInteger; /* loaded from: classes.dex */ public class BleGattReconnectSchemeDefaultImpl implements BleGattReconnectScheme { private static final String TAG = "BleGattReconnectSchemeDefaultImpl"; private Runnable mDisconnectedCallback; private final AtomicInteger mCount = new AtomicInteger(); private final Timer mTimer = new Timer(); private TimerTask mTimerTask = null; private volatile long mTimeoutMilli = 0; private volatile boolean mTryAgain = true; private synchronized void addTimerTask(long j) { BleLiteLog.i(TAG, "addTimerTask() delayMilli: " + j); this.mTimerTask = new TimerTask() { // from class: com.afunx.ble.blelitelib.proxy.scheme.BleGattReconnectSchemeDefaultImpl.1 @Override // java.util.TimerTask, java.lang.Runnable public void run() { BleLiteLog.i(BleGattReconnectSchemeDefaultImpl.TAG, "addTimerTask() run()"); BleGattReconnectSchemeDefaultImpl.this.mTryAgain = false; if (BleGattReconnectSchemeDefaultImpl.this.mDisconnectedCallback != null) { BleGattReconnectSchemeDefaultImpl.this.mDisconnectedCallback.run(); } } }; this.mTimer.schedule(this.mTimerTask, j); } private synchronized boolean removeTimerTask() { BleLiteLog.i(TAG, "removeTimerTask()"); if (this.mTimerTask == null) { this.mTryAgain = true; BleLiteLog.i(TAG, "removeTimerTask() mTryAgain = true"); return false; } BleLiteLog.i(TAG, "removeTimerTask() cancel()"); boolean cancel = this.mTimerTask.cancel(); this.mTimerTask = null; return cancel; } @Override // com.afunx.ble.blelitelib.proxy.scheme.BleGattReconnectScheme public int addAndGetRetryCount() { return this.mCount.addAndGet(1); } @Override // com.afunx.ble.blelitelib.proxy.scheme.BleGattReconnectScheme public synchronized void callDisconnectCallbackInstantly() { BleLiteLog.i(TAG, "callDisconnectCallbackInstantly()"); if (this.mTimerTask == null) { BleLiteLog.i(TAG, "callDisconnectCallbackInstantly() run()"); if (this.mDisconnectedCallback != null) { this.mDisconnectedCallback.run(); } } else if (removeTimerTask()) { BleLiteLog.i(TAG, "callDisconnectCallbackInstantly() run() for cancelled already"); if (this.mDisconnectedCallback != null) { this.mDisconnectedCallback.run(); } } } @Override // com.afunx.ble.blelitelib.proxy.scheme.BleGattReconnectScheme public void clearRetryCount() { removeTimerTask(); this.mCount.set(0); } @Override // com.afunx.ble.blelitelib.proxy.scheme.BleGattReconnectScheme public synchronized long getSleepTimestamp(int i) { BleLiteLog.i(TAG, "getSleepTimestamp() retryCount: " + i + ", mDisconnectedCallback: " + this.mDisconnectedCallback); if (i == 1 && this.mDisconnectedCallback != null) { addTimerTask(this.mTimeoutMilli); } return (2 << (i - 1)) * 1000; } @Override // com.afunx.ble.blelitelib.proxy.scheme.BleGattReconnectScheme public synchronized void setDisconnectCallback(Runnable runnable, long j) { if (j < 0) { throw new IllegalArgumentException("timeoutMilli should >= 0"); } this.mTimeoutMilli = j; this.mDisconnectedCallback = runnable; } @Override // com.afunx.ble.blelitelib.proxy.scheme.BleGattReconnectScheme public boolean tryAgain() { return this.mTryAgain; } }