Merge "Revert "BluetoothInCallService: Wait for disconnect tone at onCallRemoved"" into sc-v2-dev
diff --git a/src/com/android/bluetooth/telephony/BluetoothInCallService.java b/src/com/android/bluetooth/telephony/BluetoothInCallService.java
index 8ded280..fdf70e7 100644
--- a/src/com/android/bluetooth/telephony/BluetoothInCallService.java
+++ b/src/com/android/bluetooth/telephony/BluetoothInCallService.java
@@ -26,7 +26,6 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
-import android.media.AudioManager;
import android.net.Uri;
import android.os.Binder;
import android.os.Bundle;
@@ -57,9 +56,6 @@
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.TimeUnit;
/**
* Used to receive updates about calls from the Telecom component. This service is bound to Telecom
@@ -94,8 +90,6 @@
// Indicates that no BluetoothCall is ringing
private static final int DEFAULT_RINGING_ADDRESS_TYPE = 128;
- private static final int DISCONNECT_TONE_TIMEOUT_SECONDS = 1;
-
private int mNumActiveCalls = 0;
private int mNumHeldCalls = 0;
private int mNumChildrenOfActiveCall = 0;
@@ -109,13 +103,6 @@
private static final Object LOCK = new Object();
private BluetoothHeadsetProxy mBluetoothHeadset;
- private Semaphore mDisconnectionToneSemaphore = new Semaphore(0);
- private int mAudioMode = AudioManager.MODE_INVALID;
- private final Object mAudioModeLock = new Object();
-
- @VisibleForTesting
- public AudioManager mAudioManager;
-
@VisibleForTesting
public TelephonyManager mTelephonyManager;
@@ -305,19 +292,6 @@
}
}
- class BluetoothOnModeChangedListener implements AudioManager.OnModeChangedListener {
- @Override
- public void onModeChanged(int mode) {
- synchronized (mAudioModeLock) {
- mAudioMode = mode;
- }
- if (mode == AudioManager.MODE_NORMAL) {
- mDisconnectionToneSemaphore.release();
- }
- }
- }
- private BluetoothOnModeChangedListener mBluetoothOnModeChangedListener;
-
@Override
public IBinder onBind(Intent intent) {
Log.i(TAG, "onBind. Intent: " + intent);
@@ -548,26 +522,6 @@
return;
}
Log.d(TAG, "onCallRemoved");
- BluetoothCall heldCall = mCallInfo.getHeldCall();
- if (mCallInfo.isNullCall(heldCall)) {
- // current call is the only call
-
- mDisconnectionToneSemaphore.drainPermits();
- boolean isAudioModeNormal = false;
- synchronized (mAudioModeLock) {
- isAudioModeNormal = (mAudioMode == AudioManager.MODE_NORMAL);
- }
- if (!isAudioModeNormal) {
- Log.d(TAG, "Acquiring mDisconnectionToneSemaphore");
- try {
- boolean result = mDisconnectionToneSemaphore.tryAcquire(
- DISCONNECT_TONE_TIMEOUT_SECONDS, TimeUnit.SECONDS);
- Log.d(TAG, "Acquiring mDisconnectionToneSemaphore result " + result);
- } catch (InterruptedException e) {
- Log.w(TAG, "Failed to acquire mDisconnectionToneSemaphore");
- }
- }
- }
CallStateCallback callback = getCallback(call);
if (callback != null) {
call.unregisterCallback(callback);
@@ -608,19 +562,11 @@
mBluetoothAdapterReceiver = new BluetoothAdapterReceiver();
IntentFilter intentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
registerReceiver(mBluetoothAdapterReceiver, intentFilter);
- mBluetoothOnModeChangedListener = new BluetoothOnModeChangedListener();
- mAudioManager = getSystemService(AudioManager.class);
- mAudioManager.addOnModeChangedListener(
- Executors.newSingleThreadExecutor(), mBluetoothOnModeChangedListener);
}
@Override
public void onDestroy() {
Log.d(TAG, "onDestroy");
- if (mBluetoothOnModeChangedListener != null) {
- mAudioManager.removeOnModeChangedListener(mBluetoothOnModeChangedListener);
- mBluetoothOnModeChangedListener = null;
- }
if (mBluetoothAdapterReceiver != null) {
unregisterReceiver(mBluetoothAdapterReceiver);
mBluetoothAdapterReceiver = null;