Loading core/java/android/bluetooth/BluetoothHeadset.java +42 −0 Original line number Diff line number Diff line Loading @@ -684,6 +684,48 @@ public final class BluetoothHeadset implements BluetoothProfile { return BluetoothHeadset.STATE_AUDIO_DISCONNECTED; } /** * Sets whether audio routing is allowed. When set to {@code false}, the AG will not route any * audio to the HF unless explicitly told to. * This method should be used in cases where the SCO channel is shared between multiple profiles * and must be delegated by a source knowledgeable * Note: This is an internal function and shouldn't be exposed * * @param allowed {@code true} if the profile can reroute audio, {@code false} otherwise. * * @hide */ public void setAudioRouteAllowed(boolean allowed) { if (VDBG) log("setAudioRouteAllowed"); if (mService != null && isEnabled()) { try { mService.setAudioRouteAllowed(allowed); } catch (RemoteException e) {Log.e(TAG, e.toString());} } else { Log.w(TAG, "Proxy not attached to service"); if (DBG) Log.d(TAG, Log.getStackTraceString(new Throwable())); } } /** * Returns whether audio routing is allowed. see {@link #setAudioRouteAllowed(boolean)}. * Note: This is an internal function and shouldn't be exposed * * @hide */ public boolean getAudioRouteAllowed() { if (VDBG) log("getAudioRouteAllowed"); if (mService != null && isEnabled()) { try { return mService.getAudioRouteAllowed(); } catch (RemoteException e) {Log.e(TAG, e.toString());} } else { Log.w(TAG, "Proxy not attached to service"); if (DBG) Log.d(TAG, Log.getStackTraceString(new Throwable())); } return false; } /** * Check if Bluetooth SCO audio is connected. * Loading core/java/android/bluetooth/IBluetoothHeadset.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,8 @@ interface IBluetoothHeadset { boolean isAudioOn(); boolean connectAudio(); boolean disconnectAudio(); void setAudioRouteAllowed(boolean allowed); boolean getAudioRouteAllowed(); boolean startScoUsingVirtualVoiceCall(in BluetoothDevice device); boolean stopScoUsingVirtualVoiceCall(in BluetoothDevice device); void phoneStateChanged(int numActive, int numHeld, int callState, String number, int type); Loading Loading
core/java/android/bluetooth/BluetoothHeadset.java +42 −0 Original line number Diff line number Diff line Loading @@ -684,6 +684,48 @@ public final class BluetoothHeadset implements BluetoothProfile { return BluetoothHeadset.STATE_AUDIO_DISCONNECTED; } /** * Sets whether audio routing is allowed. When set to {@code false}, the AG will not route any * audio to the HF unless explicitly told to. * This method should be used in cases where the SCO channel is shared between multiple profiles * and must be delegated by a source knowledgeable * Note: This is an internal function and shouldn't be exposed * * @param allowed {@code true} if the profile can reroute audio, {@code false} otherwise. * * @hide */ public void setAudioRouteAllowed(boolean allowed) { if (VDBG) log("setAudioRouteAllowed"); if (mService != null && isEnabled()) { try { mService.setAudioRouteAllowed(allowed); } catch (RemoteException e) {Log.e(TAG, e.toString());} } else { Log.w(TAG, "Proxy not attached to service"); if (DBG) Log.d(TAG, Log.getStackTraceString(new Throwable())); } } /** * Returns whether audio routing is allowed. see {@link #setAudioRouteAllowed(boolean)}. * Note: This is an internal function and shouldn't be exposed * * @hide */ public boolean getAudioRouteAllowed() { if (VDBG) log("getAudioRouteAllowed"); if (mService != null && isEnabled()) { try { return mService.getAudioRouteAllowed(); } catch (RemoteException e) {Log.e(TAG, e.toString());} } else { Log.w(TAG, "Proxy not attached to service"); if (DBG) Log.d(TAG, Log.getStackTraceString(new Throwable())); } return false; } /** * Check if Bluetooth SCO audio is connected. * Loading
core/java/android/bluetooth/IBluetoothHeadset.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,8 @@ interface IBluetoothHeadset { boolean isAudioOn(); boolean connectAudio(); boolean disconnectAudio(); void setAudioRouteAllowed(boolean allowed); boolean getAudioRouteAllowed(); boolean startScoUsingVirtualVoiceCall(in BluetoothDevice device); boolean stopScoUsingVirtualVoiceCall(in BluetoothDevice device); void phoneStateChanged(int numActive, int numHeld, int callState, String number, int type); Loading