@Override @NonNull public ConnectRequest before(@NonNull final BeforeCallback callback) { super.before(callback); return this; }
@NonNull @Override public DisconnectRequest done(@NonNull final SuccessCallback callback) { super.done(callback); return this; }
/** * Enqueues the request for asynchronous execution. * <p> * When the timeout occurs, the request will fail with {@link FailCallback#REASON_TIMEOUT} * and the device will get disconnected. * * @param timeout the request timeout in milliseconds, 0 to disable timeout. This value will * override one set in {@link #timeout(long)}. * @deprecated Use {@link #timeout(long)} and {@link #enqueue()} instead. */ @Deprecated public final void enqueue(@IntRange(from = 0) final long timeout) { timeout(timeout).enqueue(); }
assertNotMainThread(); syncLock.close(); final RequestCallback callback = new RequestCallback(); done(callback).fail(callback).invalid(callback).enqueue();
@NonNull @Override public ConnectRequest timeout(final long timeout) { super.timeout(timeout); return this; }
@NonNull @Override DisconnectRequest setManager(@NonNull final BleManager manager) { super.setManager(manager); return this; }
@NonNull @Override public ConnectRequest invalid(@NonNull final InvalidRequestCallback callback) { super.invalid(callback); return this; }
@NonNull @Override public DisconnectRequest fail(@NonNull final FailCallback callback) { super.fail(callback); return this; }
@Override void notifyStarted(@NonNull final BluetoothDevice device) { if (timeout > 0L) { timeoutCallback = () -> { timeoutCallback = null; if (!finished) { notifyFail(device, FailCallback.REASON_TIMEOUT); timeoutHandler.onRequestTimeout(this); } }; handler.postDelayed(timeoutCallback, timeout); } super.notifyStarted(device); }
@NonNull @Override public TimeoutableValueRequest<T> timeout(final long timeout) { super.timeout(timeout); return this; }
@NonNull @Override ConnectRequest setManager(@NonNull final BleManager manager) { super.setManager(manager); return this; }
@NonNull @Override public DisconnectRequest invalid(@NonNull final InvalidRequestCallback callback) { super.invalid(callback); return this; }
@NonNull @Override public ConnectRequest fail(@NonNull final FailCallback callback) { super.fail(callback); return this; }
@NonNull @Override public DisconnectRequest timeout(@IntRange(from = 0) final long timeout) { super.timeout(timeout); return this; }
/** * Use to set a completion callback. The callback will be invoked when the operation has * finished successfully unless {@link #await()} or its variant was used, in which case this * callback will be ignored. * <p> * The done callback will also be called when one or more of initialization requests has * failed due to a reason other than disconnect event. This is because * {@link BleManagerCallbacks#onDeviceReady(BluetoothDevice)} is called no matter * if the requests succeeded, or not. Set failure callbacks to initialization requests * to get information about failures. * * @param callback the callback. * @return The request. */ @NonNull @Override public ConnectRequest done(@NonNull final SuccessCallback callback) { super.done(callback); return this; }
@Override @NonNull public DisconnectRequest before(@NonNull final BeforeCallback callback) { super.before(callback); return this; } }