Merge "Remove unnecessary UWB functions"
This commit is contained in:
@@ -12779,21 +12779,10 @@ 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 @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int getAngleOfArrivalSupport();
|
|
||||||
method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int getMaxRemoteDevicesPerInitiatorSession();
|
|
||||||
method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int getMaxRemoteDevicesPerResponderSession();
|
|
||||||
method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int getMaxSimultaneousSessions();
|
|
||||||
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 java.util.List<java.lang.Integer> getSupportedChannelNumbers();
|
|
||||||
method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public java.util.Set<java.lang.Integer> getSupportedPreambleCodeIndices();
|
|
||||||
method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public boolean isRangingSupported();
|
|
||||||
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 AutoCloseable 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);
|
||||||
field public static final int ANGLE_OF_ARRIVAL_SUPPORT_TYPE_2D = 2; // 0x2
|
|
||||||
field public static final int ANGLE_OF_ARRIVAL_SUPPORT_TYPE_3D_HEMISPHERICAL = 3; // 0x3
|
|
||||||
field public static final int ANGLE_OF_ARRIVAL_SUPPORT_TYPE_3D_SPHERICAL = 4; // 0x4
|
|
||||||
field public static final int ANGLE_OF_ARRIVAL_SUPPORT_TYPE_NONE = 1; // 0x1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static interface UwbManager.AdapterStateCallback {
|
public static interface UwbManager.AdapterStateCallback {
|
||||||
|
|||||||
@@ -1,44 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2020 The Android Open Source Project
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package android.uwb;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @hide
|
|
||||||
*/
|
|
||||||
@Backing(type="int")
|
|
||||||
enum AngleOfArrivalSupport {
|
|
||||||
/**
|
|
||||||
* The device does not support angle of arrival
|
|
||||||
*/
|
|
||||||
NONE,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The device supports planar angle of arrival
|
|
||||||
*/
|
|
||||||
TWO_DIMENSIONAL,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The device does supports three dimensional angle of arrival with hemispherical azimuth angles
|
|
||||||
*/
|
|
||||||
THREE_DIMENSIONAL_HEMISPHERICAL,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The device does supports three dimensional angle of arrival with full azimuth angles
|
|
||||||
*/
|
|
||||||
THREE_DIMENSIONAL_SPHERICAL,
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -17,7 +17,6 @@
|
|||||||
package android.uwb;
|
package android.uwb;
|
||||||
|
|
||||||
import android.os.PersistableBundle;
|
import android.os.PersistableBundle;
|
||||||
import android.uwb.AngleOfArrivalSupport;
|
|
||||||
import android.uwb.IUwbAdapterStateCallbacks;
|
import android.uwb.IUwbAdapterStateCallbacks;
|
||||||
import android.uwb.IUwbRangingCallbacks;
|
import android.uwb.IUwbRangingCallbacks;
|
||||||
import android.uwb.SessionHandle;
|
import android.uwb.SessionHandle;
|
||||||
@@ -46,43 +45,6 @@ interface IUwbAdapter {
|
|||||||
*/
|
*/
|
||||||
void unregisterAdapterStateCallbacks(in IUwbAdapterStateCallbacks callbacks);
|
void unregisterAdapterStateCallbacks(in IUwbAdapterStateCallbacks callbacks);
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns true if ranging is supported, false otherwise
|
|
||||||
*/
|
|
||||||
boolean isRangingSupported();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the angle of arrival supported by this device
|
|
||||||
*
|
|
||||||
* @return the angle of arrival type supported
|
|
||||||
*/
|
|
||||||
AngleOfArrivalSupport getAngleOfArrivalSupport();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generates a list of the supported 802.15.4z channels
|
|
||||||
*
|
|
||||||
* The list must be prioritized in the order of preferred channel usage.
|
|
||||||
*
|
|
||||||
* The list must only contain channels that are permitted to be used in the
|
|
||||||
* device's current location.
|
|
||||||
*
|
|
||||||
* @return an array of support channels on the device for the current location.
|
|
||||||
*/
|
|
||||||
int[] getSupportedChannels();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generates a list of the supported 802.15.4z preamble codes
|
|
||||||
*
|
|
||||||
* The list must be prioritized in the order of preferred preamble usage.
|
|
||||||
*
|
|
||||||
* The list must only contain preambles that are permitted to be used in the
|
|
||||||
* device's current location.
|
|
||||||
*
|
|
||||||
* @return an array of supported preambles on the device for the current
|
|
||||||
* location.
|
|
||||||
*/
|
|
||||||
int[] getSupportedPreambleCodes();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the accuracy of the ranging timestamps
|
* Get the accuracy of the ranging timestamps
|
||||||
*
|
*
|
||||||
@@ -90,27 +52,6 @@ interface IUwbAdapter {
|
|||||||
*/
|
*/
|
||||||
long getTimestampResolutionNanos();
|
long getTimestampResolutionNanos();
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the supported number of simultaneous ranging sessions
|
|
||||||
*
|
|
||||||
* @return the supported number of simultaneous ranging sessions
|
|
||||||
*/
|
|
||||||
int getMaxSimultaneousSessions();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the maximum number of remote devices per session when local device is initiator
|
|
||||||
*
|
|
||||||
* @return the maximum number of remote devices supported in a single session
|
|
||||||
*/
|
|
||||||
int getMaxRemoteDevicesPerInitiatorSession();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the maximum number of remote devices per session when local device is responder
|
|
||||||
*
|
|
||||||
* @return the maximum number of remote devices supported in a single session
|
|
||||||
*/
|
|
||||||
int getMaxRemoteDevicesPerResponderSession();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides the capabilities and features of the device
|
* Provides the capabilities and features of the device
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -32,10 +32,6 @@ import android.os.ServiceManager;
|
|||||||
|
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.concurrent.Executor;
|
import java.util.concurrent.Executor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -194,133 +190,6 @@ public final class UwbManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if ranging is supported, regardless of ranging method
|
|
||||||
*
|
|
||||||
* @return true if ranging is supported
|
|
||||||
*/
|
|
||||||
@RequiresPermission(Manifest.permission.UWB_PRIVILEGED)
|
|
||||||
public boolean isRangingSupported() {
|
|
||||||
try {
|
|
||||||
return mUwbAdapter.isRangingSupported();
|
|
||||||
} catch (RemoteException e) {
|
|
||||||
throw e.rethrowFromSystemServer();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @hide
|
|
||||||
*/
|
|
||||||
@Retention(RetentionPolicy.SOURCE)
|
|
||||||
@IntDef(value = {
|
|
||||||
ANGLE_OF_ARRIVAL_SUPPORT_TYPE_NONE,
|
|
||||||
ANGLE_OF_ARRIVAL_SUPPORT_TYPE_2D,
|
|
||||||
ANGLE_OF_ARRIVAL_SUPPORT_TYPE_3D_HEMISPHERICAL,
|
|
||||||
ANGLE_OF_ARRIVAL_SUPPORT_TYPE_3D_SPHERICAL})
|
|
||||||
public @interface AngleOfArrivalSupportType {}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate absence of support for angle of arrival measurement
|
|
||||||
*/
|
|
||||||
public static final int ANGLE_OF_ARRIVAL_SUPPORT_TYPE_NONE = 1;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate support for planar angle of arrival measurement, due to antenna
|
|
||||||
* limitation. Typically requires at least two antennas.
|
|
||||||
*/
|
|
||||||
public static final int ANGLE_OF_ARRIVAL_SUPPORT_TYPE_2D = 2;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate support for three dimensional angle of arrival measurement.
|
|
||||||
* Typically requires at least three antennas. However, due to antenna
|
|
||||||
* arrangement, a platform may only support hemi-spherical azimuth angles
|
|
||||||
* ranging from -pi/2 to pi/2
|
|
||||||
*/
|
|
||||||
public static final int ANGLE_OF_ARRIVAL_SUPPORT_TYPE_3D_HEMISPHERICAL = 3;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate support for three dimensional angle of arrival measurement.
|
|
||||||
* Typically requires at least three antennas. This mode supports full
|
|
||||||
* azimuth angles ranging from -pi to pi.
|
|
||||||
*/
|
|
||||||
public static final int ANGLE_OF_ARRIVAL_SUPPORT_TYPE_3D_SPHERICAL = 4;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the {@link AngleOfArrivalSupportType} supported on this platform
|
|
||||||
* <p>Possible return values are
|
|
||||||
* {@link #ANGLE_OF_ARRIVAL_SUPPORT_TYPE_NONE},
|
|
||||||
* {@link #ANGLE_OF_ARRIVAL_SUPPORT_TYPE_2D},
|
|
||||||
* {@link #ANGLE_OF_ARRIVAL_SUPPORT_TYPE_3D_HEMISPHERICAL},
|
|
||||||
* {@link #ANGLE_OF_ARRIVAL_SUPPORT_TYPE_3D_SPHERICAL}.
|
|
||||||
*
|
|
||||||
* @return angle of arrival type supported
|
|
||||||
*/
|
|
||||||
@AngleOfArrivalSupportType
|
|
||||||
@RequiresPermission(Manifest.permission.UWB_PRIVILEGED)
|
|
||||||
public int getAngleOfArrivalSupport() {
|
|
||||||
try {
|
|
||||||
switch (mUwbAdapter.getAngleOfArrivalSupport()) {
|
|
||||||
case AngleOfArrivalSupport.TWO_DIMENSIONAL:
|
|
||||||
return ANGLE_OF_ARRIVAL_SUPPORT_TYPE_2D;
|
|
||||||
|
|
||||||
case AngleOfArrivalSupport.THREE_DIMENSIONAL_HEMISPHERICAL:
|
|
||||||
return ANGLE_OF_ARRIVAL_SUPPORT_TYPE_3D_HEMISPHERICAL;
|
|
||||||
|
|
||||||
case AngleOfArrivalSupport.THREE_DIMENSIONAL_SPHERICAL:
|
|
||||||
return ANGLE_OF_ARRIVAL_SUPPORT_TYPE_3D_SPHERICAL;
|
|
||||||
|
|
||||||
case AngleOfArrivalSupport.NONE:
|
|
||||||
default:
|
|
||||||
return ANGLE_OF_ARRIVAL_SUPPORT_TYPE_NONE;
|
|
||||||
}
|
|
||||||
} catch (RemoteException e) {
|
|
||||||
throw e.rethrowFromSystemServer();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get a {@link List} of supported channel numbers based on the device's current location
|
|
||||||
* <p>The returned values are ordered by the system's desired ordered of use, with the first
|
|
||||||
* entry being the most preferred.
|
|
||||||
*
|
|
||||||
* <p>Channel numbers are defined based on the IEEE 802.15.4z standard for UWB.
|
|
||||||
*
|
|
||||||
* @return {@link List} of supported channel numbers ordered by preference
|
|
||||||
*/
|
|
||||||
@NonNull
|
|
||||||
@RequiresPermission(Manifest.permission.UWB_PRIVILEGED)
|
|
||||||
public List<Integer> getSupportedChannelNumbers() {
|
|
||||||
List<Integer> channels = new ArrayList<>();
|
|
||||||
try {
|
|
||||||
for (int channel : mUwbAdapter.getSupportedChannels()) {
|
|
||||||
channels.add(channel);
|
|
||||||
}
|
|
||||||
} catch (RemoteException e) {
|
|
||||||
throw e.rethrowFromSystemServer();
|
|
||||||
}
|
|
||||||
return channels;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get a {@link List} of supported preamble code indices
|
|
||||||
* <p> Preamble code indices are defined based on the IEEE 802.15.4z standard for UWB.
|
|
||||||
*
|
|
||||||
* @return {@link List} of supported preamble code indices
|
|
||||||
*/
|
|
||||||
@NonNull
|
|
||||||
@RequiresPermission(Manifest.permission.UWB_PRIVILEGED)
|
|
||||||
public Set<Integer> getSupportedPreambleCodeIndices() {
|
|
||||||
Set<Integer> preambles = new HashSet<>();
|
|
||||||
try {
|
|
||||||
for (int preamble : mUwbAdapter.getSupportedPreambleCodes()) {
|
|
||||||
preambles.add(preamble);
|
|
||||||
}
|
|
||||||
} catch (RemoteException e) {
|
|
||||||
throw e.rethrowFromSystemServer();
|
|
||||||
}
|
|
||||||
return preambles;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the timestamp resolution for events in nanoseconds
|
* Get the timestamp resolution for events in nanoseconds
|
||||||
* <p>This value defines the maximum error of all timestamps for events reported to
|
* <p>This value defines the maximum error of all timestamps for events reported to
|
||||||
@@ -338,50 +207,6 @@ public final class UwbManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the number of simultaneous sessions allowed in the system
|
|
||||||
*
|
|
||||||
* @return the maximum allowed number of simultaneously open {@link RangingSession} instances.
|
|
||||||
*/
|
|
||||||
@RequiresPermission(Manifest.permission.UWB_PRIVILEGED)
|
|
||||||
public int getMaxSimultaneousSessions() {
|
|
||||||
try {
|
|
||||||
return mUwbAdapter.getMaxSimultaneousSessions();
|
|
||||||
} catch (RemoteException e) {
|
|
||||||
throw e.rethrowFromSystemServer();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the maximum number of remote devices in a {@link RangingSession} when the local device
|
|
||||||
* is the initiator.
|
|
||||||
*
|
|
||||||
* @return the maximum number of remote devices per {@link RangingSession}
|
|
||||||
*/
|
|
||||||
@RequiresPermission(Manifest.permission.UWB_PRIVILEGED)
|
|
||||||
public int getMaxRemoteDevicesPerInitiatorSession() {
|
|
||||||
try {
|
|
||||||
return mUwbAdapter.getMaxRemoteDevicesPerInitiatorSession();
|
|
||||||
} catch (RemoteException e) {
|
|
||||||
throw e.rethrowFromSystemServer();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the maximum number of remote devices in a {@link RangingSession} when the local device
|
|
||||||
* is a responder.
|
|
||||||
*
|
|
||||||
* @return the maximum number of remote devices per {@link RangingSession}
|
|
||||||
*/
|
|
||||||
@RequiresPermission(Manifest.permission.UWB_PRIVILEGED)
|
|
||||||
public int getMaxRemoteDevicesPerResponderSession() {
|
|
||||||
try {
|
|
||||||
return mUwbAdapter.getMaxRemoteDevicesPerResponderSession();
|
|
||||||
} catch (RemoteException e) {
|
|
||||||
throw e.rethrowFromSystemServer();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Open a {@link RangingSession} with the given parameters
|
* Open a {@link RangingSession} with the given parameters
|
||||||
* <p>The {@link RangingSession.Callback#onOpened(RangingSession)} function is called with a
|
* <p>The {@link RangingSession.Callback#onOpened(RangingSession)} function is called with a
|
||||||
|
|||||||
Reference in New Issue
Block a user