Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 683333d2 authored by Brian Stack's avatar Brian Stack Committed by Automerger Merge Worker
Browse files

Return CancellationSignal when opening UWB session am: 23d41b8f am: bc33456c

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1595754

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie554bb0c7f7f1d2099f034b669a3380b62686953
parents 70609c57 bc33456c
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -12420,7 +12420,7 @@ package android.uwb {
  public final class UwbManager {
  public final class UwbManager {
    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos();
    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos();
    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo();
    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo();
    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public AutoCloseable openRangingSession(@NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.uwb.RangingSession.Callback);
    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.CancellationSignal openRangingSession(@NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.uwb.RangingSession.Callback);
    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerAdapterStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdapterStateCallback);
    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerAdapterStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdapterStateCallback);
    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterAdapterStateCallback(@NonNull android.uwb.UwbManager.AdapterStateCallback);
    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterAdapterStateCallback(@NonNull android.uwb.UwbManager.AdapterStateCallback);
  }
  }
+8 −3
Original line number Original line Diff line number Diff line
@@ -17,6 +17,7 @@
package android.uwb;
package android.uwb;


import android.annotation.NonNull;
import android.annotation.NonNull;
import android.os.CancellationSignal;
import android.os.PersistableBundle;
import android.os.PersistableBundle;
import android.os.RemoteException;
import android.os.RemoteException;
import android.util.Log;
import android.util.Log;
@@ -44,9 +45,11 @@ public class RangingManager extends android.uwb.IUwbRangingCallbacks.Stub {
     * @param executor {@link Executor} to run callbacks
     * @param executor {@link Executor} to run callbacks
     * @param callbacks {@link RangingSession.Callback} to associate with the {@link RangingSession}
     * @param callbacks {@link RangingSession.Callback} to associate with the {@link RangingSession}
     *                  that is being opened.
     *                  that is being opened.
     * @return a new {@link RangingSession}
     * @return a {@link CancellationSignal} that may be used to cancel the opening of the
     *         {@link RangingSession}.
     */
     */
    public RangingSession openSession(@NonNull PersistableBundle params, @NonNull Executor executor,
    public CancellationSignal openSession(@NonNull PersistableBundle params,
            @NonNull Executor executor,
            @NonNull RangingSession.Callback callbacks) {
            @NonNull RangingSession.Callback callbacks) {
        SessionHandle sessionHandle;
        SessionHandle sessionHandle;
        try {
        try {
@@ -66,7 +69,9 @@ public class RangingManager extends android.uwb.IUwbRangingCallbacks.Stub {
            RangingSession session =
            RangingSession session =
                    new RangingSession(executor, callbacks, mAdapter, sessionHandle);
                    new RangingSession(executor, callbacks, mAdapter, sessionHandle);
            mRangingSessionTable.put(sessionHandle, session);
            mRangingSessionTable.put(sessionHandle, session);
            return session;
            CancellationSignal cancellationSignal = new CancellationSignal();
            cancellationSignal.setOnCancelListener(() -> session.close());
            return cancellationSignal;
        }
        }
    }
    }


+3 −2
Original line number Original line Diff line number Diff line
@@ -25,6 +25,7 @@ import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.annotation.SystemApi;
import android.annotation.SystemService;
import android.annotation.SystemService;
import android.content.Context;
import android.content.Context;
import android.os.CancellationSignal;
import android.os.IBinder;
import android.os.IBinder;
import android.os.PersistableBundle;
import android.os.PersistableBundle;
import android.os.RemoteException;
import android.os.RemoteException;
@@ -228,14 +229,14 @@ public final class UwbManager {
     * @param callbacks {@link RangingSession.Callback} to associate with the
     * @param callbacks {@link RangingSession.Callback} to associate with the
     *                  {@link RangingSession} that is being opened.
     *                  {@link RangingSession} that is being opened.
     *
     *
     * @return an {@link AutoCloseable} that is able to be used to close or cancel the opening of a
     * @return an {@link CancellationSignal} that is able to be used to cancel the opening of a
     *         {@link RangingSession} that has been requested through {@link #openRangingSession}
     *         {@link RangingSession} that has been requested through {@link #openRangingSession}
     *         but has not yet been made available by
     *         but has not yet been made available by
     *         {@link RangingSession.Callback#onOpened(RangingSession)}.
     *         {@link RangingSession.Callback#onOpened(RangingSession)}.
     */
     */
    @NonNull
    @NonNull
    @RequiresPermission(Manifest.permission.UWB_PRIVILEGED)
    @RequiresPermission(Manifest.permission.UWB_PRIVILEGED)
    public AutoCloseable openRangingSession(@NonNull PersistableBundle parameters,
    public CancellationSignal openRangingSession(@NonNull PersistableBundle parameters,
            @NonNull @CallbackExecutor Executor executor,
            @NonNull @CallbackExecutor Executor executor,
            @NonNull RangingSession.Callback callbacks) {
            @NonNull RangingSession.Callback callbacks) {
        return mRangingManager.openSession(parameters, executor, callbacks);
        return mRangingManager.openSession(parameters, executor, callbacks);