diff options
author | Rahul Sabnis <rahulsabnis@google.com> | 2019-11-19 14:54:25 -0800 |
---|---|---|
committer | Rahul Sabnis <rahulsabnis@google.com> | 2019-11-21 13:16:02 -0800 |
commit | eeccce5a2e6aede9f5eeb7e3612c45e9452e71f0 (patch) | |
tree | 8ad5d8005a9e430c7ef2a7a69963d3e692bb94f6 /framework/java/android/bluetooth/BluetoothPan.java | |
parent | 2ad71dd2fc1f41418be88098c2ea5e09e3edb6ec (diff) |
Resolve API dependencies on BluetoothPan
Bug: 143244283
Test: Manual
Change-Id: Ie419b2f83358d06d094dcf4921c4595fc0e72857
Diffstat (limited to 'framework/java/android/bluetooth/BluetoothPan.java')
-rw-r--r-- | framework/java/android/bluetooth/BluetoothPan.java | 43 |
1 files changed, 38 insertions, 5 deletions
diff --git a/framework/java/android/bluetooth/BluetoothPan.java b/framework/java/android/bluetooth/BluetoothPan.java index cfb363a083..4e9762737c 100644 --- a/framework/java/android/bluetooth/BluetoothPan.java +++ b/framework/java/android/bluetooth/BluetoothPan.java @@ -16,8 +16,13 @@ package android.bluetooth; +import android.annotation.IntDef; +import android.annotation.NonNull; +import android.annotation.Nullable; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; +import android.annotation.SuppressLint; +import android.annotation.SystemApi; import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.os.Binder; @@ -25,6 +30,8 @@ import android.os.IBinder; import android.os.RemoteException; import android.util.Log; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.List; @@ -40,6 +47,7 @@ import java.util.List; * * @hide */ +@SystemApi public final class BluetoothPan implements BluetoothProfile { private static final String TAG = "BluetoothPan"; private static final boolean DBG = true; @@ -67,6 +75,7 @@ public final class BluetoothPan implements BluetoothProfile { * <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission to * receive. */ + @SuppressLint("ActionValue") @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED"; @@ -76,19 +85,32 @@ public final class BluetoothPan implements BluetoothProfile { * The local role of the PAN profile that the remote device is bound to. * It can be one of {@link #LOCAL_NAP_ROLE} or {@link #LOCAL_PANU_ROLE}. */ + @SuppressLint("ActionValue") public static final String EXTRA_LOCAL_ROLE = "android.bluetooth.pan.extra.LOCAL_ROLE"; + /** @hide */ + @IntDef({PAN_ROLE_NONE, LOCAL_NAP_ROLE, LOCAL_PANU_ROLE}) + @Retention(RetentionPolicy.SOURCE) + public @interface LocalPanRole {} + public static final int PAN_ROLE_NONE = 0; /** * The local device is acting as a Network Access Point. */ public static final int LOCAL_NAP_ROLE = 1; - public static final int REMOTE_NAP_ROLE = 1; /** * The local device is acting as a PAN User. */ public static final int LOCAL_PANU_ROLE = 2; + + /** @hide */ + @IntDef({PAN_ROLE_NONE, REMOTE_NAP_ROLE, REMOTE_PANU_ROLE}) + @Retention(RetentionPolicy.SOURCE) + public @interface RemotePanRole {} + + public static final int REMOTE_NAP_ROLE = 1; + public static final int REMOTE_PANU_ROLE = 2; /** @@ -134,6 +156,8 @@ public final class BluetoothPan implements BluetoothProfile { /** * Create a BluetoothPan proxy object for interacting with the local * Bluetooth Service which handles the Pan profile + * + * @hide */ @UnsupportedAppUsage /*package*/ BluetoothPan(Context context, ServiceListener listener) { @@ -235,7 +259,7 @@ public final class BluetoothPan implements BluetoothProfile { * {@inheritDoc} */ @Override - public List<BluetoothDevice> getConnectedDevices() { + public @NonNull List<BluetoothDevice> getConnectedDevices() { if (VDBG) log("getConnectedDevices()"); final IBluetoothPan service = getService(); if (service != null && isEnabled()) { @@ -252,6 +276,7 @@ public final class BluetoothPan implements BluetoothProfile { /** * {@inheritDoc} + * @hide */ @Override public List<BluetoothDevice> getDevicesMatchingConnectionStates(int[] states) { @@ -273,7 +298,7 @@ public final class BluetoothPan implements BluetoothProfile { * {@inheritDoc} */ @Override - public int getConnectionState(BluetoothDevice device) { + public int getConnectionState(@Nullable BluetoothDevice device) { if (VDBG) log("getState(" + device + ")"); final IBluetoothPan service = getService(); if (service != null && isEnabled() && isValidDevice(device)) { @@ -288,7 +313,11 @@ public final class BluetoothPan implements BluetoothProfile { return BluetoothProfile.STATE_DISCONNECTED; } - @UnsupportedAppUsage + /** + * Turns on/off bluetooth tethering + * + * @param value is whether to enable or disable bluetooth tethering + */ public void setBluetoothTethering(boolean value) { String pkgName = mContext.getOpPackageName(); if (DBG) log("setBluetoothTethering(" + value + "), calling package:" + pkgName); @@ -302,7 +331,11 @@ public final class BluetoothPan implements BluetoothProfile { } } - @UnsupportedAppUsage + /** + * Determines whether tethering is enabled + * + * @return true if tethering is on, false if not or some error occurred + */ public boolean isTetheringOn() { if (VDBG) log("isTetheringOn()"); final IBluetoothPan service = getService(); |