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;