1 /* 2 * Copyright 2008, The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package android.bluetooth; 18 19 import android.app.PendingIntent; 20 import android.bluetooth.IBluetoothActivityEnergyInfoListener; 21 import android.bluetooth.IBluetoothCallback; 22 import android.bluetooth.IBluetoothConnectionCallback; 23 import android.bluetooth.IBluetoothMetadataListener; 24 import android.bluetooth.IBluetoothOobDataCallback; 25 import android.bluetooth.IBluetoothSocketManager; 26 import android.bluetooth.IBluetoothStateChangeCallback; 27 import android.bluetooth.BluetoothActivityEnergyInfo; 28 import android.bluetooth.BluetoothSinkAudioPolicy; 29 import android.bluetooth.BluetoothClass; 30 import android.bluetooth.BluetoothDevice; 31 import android.bluetooth.IncomingRfcommSocketInfo; 32 import android.bluetooth.OobData; 33 import android.content.AttributionSource; 34 import android.os.ParcelUuid; 35 import android.os.ParcelFileDescriptor; 36 import android.os.ResultReceiver; 37 38 import com.android.modules.utils.SynchronousResultReceiver; 39 40 /** 41 * System private API for talking with the Bluetooth service. 42 * 43 * {@hide} 44 */ 45 interface IBluetooth 46 { 47 @JavaPassthrough(annotation="@android.annotation.RequiresNoPermission") getState(in SynchronousResultReceiver receiver)48 oneway void getState(in SynchronousResultReceiver receiver); 49 50 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") enable(boolean quietMode, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)51 oneway void enable(boolean quietMode, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 52 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") disable(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)53 oneway void disable(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 54 55 @UnsupportedAppUsage 56 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.LOCAL_MAC_ADDRESS})") getAddress()57 String getAddress(); 58 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.LOCAL_MAC_ADDRESS})") getAddressWithAttribution(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)59 oneway void getAddressWithAttribution(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 60 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getUuids(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)61 oneway void getUuids(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 62 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") setName(in String name, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)63 oneway void setName(in String name, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 64 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getIdentityAddress(in String address, in SynchronousResultReceiver receiver)65 oneway void getIdentityAddress(in String address, in SynchronousResultReceiver receiver); 66 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getName(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)67 oneway void getName(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 68 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE)") getNameLengthForAdvertise(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)69 oneway void getNameLengthForAdvertise(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 70 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getBluetoothClass(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)71 oneway void getBluetoothClass(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 72 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") setBluetoothClass(in BluetoothClass bluetoothClass, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)73 oneway void setBluetoothClass(in BluetoothClass bluetoothClass, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 74 75 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getIoCapability(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)76 oneway void getIoCapability(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 77 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") setIoCapability(int capability, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)78 oneway void setIoCapability(int capability, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 79 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getLeIoCapability(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)80 oneway void getLeIoCapability(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 81 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") setLeIoCapability(int capability, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)82 oneway void setLeIoCapability(int capability, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 83 84 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN)") getScanMode(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)85 oneway void getScanMode(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 86 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN)") setScanMode(int mode, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)87 oneway void setScanMode(int mode, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 88 89 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN)") getDiscoverableTimeout(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)90 oneway void getDiscoverableTimeout(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 91 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN)") setDiscoverableTimeout(long timeout, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)92 oneway void setDiscoverableTimeout(long timeout, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 93 94 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN)") startDiscovery(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)95 oneway void startDiscovery(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 96 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN)") cancelDiscovery(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)97 oneway void cancelDiscovery(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 98 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN)") isDiscovering(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)99 oneway void isDiscovering(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 100 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") getDiscoveryEndMillis(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)101 oneway void getDiscoveryEndMillis(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 102 103 @JavaPassthrough(annotation="@android.annotation.RequiresNoPermission") getAdapterConnectionState(in SynchronousResultReceiver receiver)104 oneway void getAdapterConnectionState(in SynchronousResultReceiver receiver); 105 @JavaPassthrough(annotation="@android.annotation.RequiresNoPermission") getProfileConnectionState(int profile, in SynchronousResultReceiver receiver)106 oneway void getProfileConnectionState(int profile, in SynchronousResultReceiver receiver); 107 108 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getBondedDevices(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)109 oneway void getBondedDevices(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 110 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") createBond(in BluetoothDevice device, in int transport, in OobData p192Data, in OobData p256Data, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)111 oneway void createBond(in BluetoothDevice device, in int transport, in OobData p192Data, in OobData p256Data, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 112 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") cancelBondProcess(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)113 oneway void cancelBondProcess(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 114 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") removeBond(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)115 oneway void removeBond(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 116 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getBondState(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)117 oneway void getBondState(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 118 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") isBondingInitiatedLocally(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)119 oneway void isBondingInitiatedLocally(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 120 @JavaPassthrough(annotation="@android.annotation.RequiresNoPermission") getSupportedProfiles(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)121 oneway void getSupportedProfiles(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 122 @UnsupportedAppUsage 123 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getConnectionState(in BluetoothDevice device)124 int getConnectionState(in BluetoothDevice device); 125 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getConnectionStateWithAttribution(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)126 oneway void getConnectionStateWithAttribution(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 127 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getRemoteName(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)128 oneway void getRemoteName(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 129 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getRemoteType(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)130 oneway void getRemoteType(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 131 @UnsupportedAppUsage 132 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getRemoteAlias(in BluetoothDevice device)133 String getRemoteAlias(in BluetoothDevice device); 134 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getRemoteAliasWithAttribution(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)135 oneway void getRemoteAliasWithAttribution(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 136 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") setRemoteAlias(in BluetoothDevice device, in String name, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)137 oneway void setRemoteAlias(in BluetoothDevice device, in String name, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 138 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getRemoteClass(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)139 oneway void getRemoteClass(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 140 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getRemoteUuids(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)141 oneway void getRemoteUuids(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 142 @UnsupportedAppUsage 143 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") fetchRemoteUuids(in BluetoothDevice device)144 boolean fetchRemoteUuids(in BluetoothDevice device); 145 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") fetchRemoteUuidsWithAttribution(in BluetoothDevice device, in int transport, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)146 oneway void fetchRemoteUuidsWithAttribution(in BluetoothDevice device, in int transport, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 147 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") sdpSearch(in BluetoothDevice device, in ParcelUuid uuid, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)148 oneway void sdpSearch(in BluetoothDevice device, in ParcelUuid uuid, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 149 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getBatteryLevel(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)150 oneway void getBatteryLevel(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 151 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getMaxConnectedAudioDevices(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)152 oneway void getMaxConnectedAudioDevices(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 153 154 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") setPin(in BluetoothDevice device, boolean accept, int len, in byte[] pinCode, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)155 oneway void setPin(in BluetoothDevice device, boolean accept, int len, in byte[] pinCode, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 156 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") setPasskey(in BluetoothDevice device, boolean accept, int len, in byte[] passkey, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)157 oneway void setPasskey(in BluetoothDevice device, boolean accept, int len, in byte[] passkey, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 158 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") setPairingConfirmation(in BluetoothDevice device, boolean accept, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)159 oneway void setPairingConfirmation(in BluetoothDevice device, boolean accept, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 160 161 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getPhonebookAccessPermission(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)162 oneway void getPhonebookAccessPermission(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 163 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") setSilenceMode(in BluetoothDevice device, boolean silence, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)164 oneway void setSilenceMode(in BluetoothDevice device, boolean silence, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 165 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") getSilenceMode(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)166 oneway void getSilenceMode(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 167 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") setPhonebookAccessPermission(in BluetoothDevice device, int value, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)168 oneway void setPhonebookAccessPermission(in BluetoothDevice device, int value, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 169 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getMessageAccessPermission(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)170 oneway void getMessageAccessPermission(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 171 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") setMessageAccessPermission(in BluetoothDevice device, int value, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)172 oneway void setMessageAccessPermission(in BluetoothDevice device, int value, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 173 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getSimAccessPermission(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)174 oneway void getSimAccessPermission(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 175 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") setSimAccessPermission(in BluetoothDevice device, int value, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)176 oneway void setSimAccessPermission(in BluetoothDevice device, int value, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 177 178 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") registerCallback(in IBluetoothCallback callback, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)179 oneway void registerCallback(in IBluetoothCallback callback, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 180 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") unregisterCallback(in IBluetoothCallback callback, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)181 oneway void unregisterCallback(in IBluetoothCallback callback, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 182 183 // For Socket 184 @JavaPassthrough(annotation="@android.annotation.RequiresNoPermission") getSocketManager()185 IBluetoothSocketManager getSocketManager(); 186 187 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") factoryReset(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)188 oneway void factoryReset(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 189 190 @JavaPassthrough(annotation="@android.annotation.RequiresNoPermission") isMultiAdvertisementSupported(in SynchronousResultReceiver receiver)191 oneway void isMultiAdvertisementSupported(in SynchronousResultReceiver receiver); 192 @JavaPassthrough(annotation="@android.annotation.RequiresNoPermission") isOffloadedFilteringSupported(in SynchronousResultReceiver receiver)193 oneway void isOffloadedFilteringSupported(in SynchronousResultReceiver receiver); 194 @JavaPassthrough(annotation="@android.annotation.RequiresNoPermission") isOffloadedScanBatchingSupported(in SynchronousResultReceiver receiver)195 oneway void isOffloadedScanBatchingSupported(in SynchronousResultReceiver receiver); 196 @JavaPassthrough(annotation="@android.annotation.RequiresNoPermission") isActivityAndEnergyReportingSupported(in SynchronousResultReceiver receiver)197 oneway void isActivityAndEnergyReportingSupported(in SynchronousResultReceiver receiver); 198 @JavaPassthrough(annotation="@android.annotation.RequiresNoPermission") isLe2MPhySupported(in SynchronousResultReceiver receiver)199 oneway void isLe2MPhySupported(in SynchronousResultReceiver receiver); 200 @JavaPassthrough(annotation="@android.annotation.RequiresNoPermission") isLeCodedPhySupported(in SynchronousResultReceiver receiver)201 oneway void isLeCodedPhySupported(in SynchronousResultReceiver receiver); 202 @JavaPassthrough(annotation="@android.annotation.RequiresNoPermission") isLeExtendedAdvertisingSupported(in SynchronousResultReceiver receiver)203 oneway void isLeExtendedAdvertisingSupported(in SynchronousResultReceiver receiver); 204 @JavaPassthrough(annotation="@android.annotation.RequiresNoPermission") isLePeriodicAdvertisingSupported(in SynchronousResultReceiver receiver)205 oneway void isLePeriodicAdvertisingSupported(in SynchronousResultReceiver receiver); 206 @JavaPassthrough(annotation="@android.annotation.RequiresNoPermission") isLeAudioSupported(in SynchronousResultReceiver receiver)207 oneway void isLeAudioSupported(in SynchronousResultReceiver receiver); 208 @JavaPassthrough(annotation="@android.annotation.RequiresNoPermission") isLeAudioBroadcastSourceSupported(in SynchronousResultReceiver receiver)209 oneway void isLeAudioBroadcastSourceSupported(in SynchronousResultReceiver receiver); 210 @JavaPassthrough(annotation="@android.annotation.RequiresNoPermission") isLeAudioBroadcastAssistantSupported(in SynchronousResultReceiver receiver)211 oneway void isLeAudioBroadcastAssistantSupported(in SynchronousResultReceiver receiver); 212 @JavaPassthrough(annotation="@android.annotation.RequiresNoPermission") getLeMaximumAdvertisingDataLength(in SynchronousResultReceiver receiver)213 oneway void getLeMaximumAdvertisingDataLength(in SynchronousResultReceiver receiver); 214 215 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") reportActivityInfo(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)216 oneway void reportActivityInfo(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 217 218 // For Metadata 219 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") registerMetadataListener(in IBluetoothMetadataListener listener, in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)220 oneway void registerMetadataListener(in IBluetoothMetadataListener listener, in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 221 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") unregisterMetadataListener(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)222 oneway void unregisterMetadataListener(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 223 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") setMetadata(in BluetoothDevice device, in int key, in byte[] value, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)224 oneway void setMetadata(in BluetoothDevice device, in int key, in byte[] value, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 225 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") getMetadata(in BluetoothDevice device, in int key, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)226 oneway void getMetadata(in BluetoothDevice device, in int key, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 227 228 /** 229 * Requests the controller activity info asynchronously. 230 * The implementor is expected to reply with the 231 * {@link android.bluetooth.BluetoothActivityEnergyInfo} object placed into the Bundle with the 232 * key {@link android.os.BatteryStats#RESULT_RECEIVER_CONTROLLER_KEY}. 233 * The result code is ignored. 234 */ 235 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") requestActivityInfo(in IBluetoothActivityEnergyInfoListener listener, in AttributionSource attributionSource)236 oneway void requestActivityInfo(in IBluetoothActivityEnergyInfoListener listener, in AttributionSource attributionSource); 237 238 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") onLeServiceUp(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)239 oneway void onLeServiceUp(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 240 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") onBrEdrDown(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)241 oneway void onBrEdrDown(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 242 243 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED,android.Manifest.permission.MODIFY_PHONE_STATE})") connectAllEnabledProfiles(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)244 oneway void connectAllEnabledProfiles(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 245 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") disconnectAllEnabledProfiles(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)246 oneway void disconnectAllEnabledProfiles(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 247 248 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED,android.Manifest.permission.MODIFY_PHONE_STATE})") setActiveDevice(in BluetoothDevice device, in int profiles, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)249 oneway void setActiveDevice(in BluetoothDevice device, in int profiles, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 250 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED)") getActiveDevices(in int profile, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)251 oneway void getActiveDevices(in int profile, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 252 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getMostRecentlyConnectedDevices(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)253 oneway void getMostRecentlyConnectedDevices(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 254 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED,android.Manifest.permission.MODIFY_PHONE_STATE})") removeActiveDevice(in int profiles, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)255 oneway void removeActiveDevice(in int profiles, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 256 257 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") registerBluetoothConnectionCallback(in IBluetoothConnectionCallback callback, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)258 oneway void registerBluetoothConnectionCallback(in IBluetoothConnectionCallback callback, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 259 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") unregisterBluetoothConnectionCallback(in IBluetoothConnectionCallback callback, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)260 oneway void unregisterBluetoothConnectionCallback(in IBluetoothConnectionCallback callback, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 261 262 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") canBondWithoutDialog(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)263 oneway void canBondWithoutDialog(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 264 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") generateLocalOobData(in int transport, IBluetoothOobDataCallback callback, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)265 oneway void generateLocalOobData(in int transport, IBluetoothOobDataCallback callback, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 266 267 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") allowLowLatencyAudio(in boolean allowed, in BluetoothDevice device, in SynchronousResultReceiver receiver)268 oneway void allowLowLatencyAudio(in boolean allowed, in BluetoothDevice device, in SynchronousResultReceiver receiver); 269 270 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") isRequestAudioPolicyAsSinkSupported(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)271 void isRequestAudioPolicyAsSinkSupported(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 272 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") requestAudioPolicyAsSink(in BluetoothDevice device, in BluetoothSinkAudioPolicy policies, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)273 void requestAudioPolicyAsSink(in BluetoothDevice device, in BluetoothSinkAudioPolicy policies, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 274 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getRequestedAudioPolicyAsSink(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)275 void getRequestedAudioPolicyAsSink(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 276 277 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") startRfcommListener(String name, in ParcelUuid uuid, in PendingIntent intent, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)278 oneway void startRfcommListener(String name, in ParcelUuid uuid, in PendingIntent intent, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 279 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") stopRfcommListener(in ParcelUuid uuid, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)280 oneway void stopRfcommListener(in ParcelUuid uuid, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 281 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") retrievePendingSocketForServiceRecord(in ParcelUuid uuid, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)282 oneway void retrievePendingSocketForServiceRecord(in ParcelUuid uuid, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 283 284 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") setForegroundUserId(in int userId, in AttributionSource attributionSource)285 oneway void setForegroundUserId(in int userId, in AttributionSource attributionSource); 286 } 287