Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7948f5b5 authored by Hall Liu's avatar Hall Liu
Browse files

Fix tests breaking when bluetooth is on

BluetoothPhoneServiceImpl now uses a BluetoothAdapterProxy so that it is
now isolated from system bluetooth.

Bug: 27686250
Change-Id: If27c9ba642b163ecde68ae8956bc76523a552d31
parent ddad9e0d
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -401,7 +401,7 @@ public class BluetoothPhoneServiceImpl {
        }
        }
    };
    };


    private BluetoothAdapter mBluetoothAdapter;
    private BluetoothAdapterProxy mBluetoothAdapter;
    private BluetoothHeadsetProxy mBluetoothHeadset;
    private BluetoothHeadsetProxy mBluetoothHeadset;


    // A map from Calls to indexes used to identify calls for CLCC (C* List Current Calls).
    // A map from Calls to indexes used to identify calls for CLCC (C* List Current Calls).
@@ -422,6 +422,7 @@ public class BluetoothPhoneServiceImpl {
            Context context,
            Context context,
            TelecomSystem.SyncRoot lock,
            TelecomSystem.SyncRoot lock,
            CallsManager callsManager,
            CallsManager callsManager,
            BluetoothAdapterProxy bluetoothAdapter,
            PhoneAccountRegistrar phoneAccountRegistrar) {
            PhoneAccountRegistrar phoneAccountRegistrar) {
        Log.d(this, "onCreate");
        Log.d(this, "onCreate");


@@ -430,7 +431,7 @@ public class BluetoothPhoneServiceImpl {
        mCallsManager = callsManager;
        mCallsManager = callsManager;
        mPhoneAccountRegistrar = phoneAccountRegistrar;
        mPhoneAccountRegistrar = phoneAccountRegistrar;


        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
        mBluetoothAdapter = bluetoothAdapter;
        if (mBluetoothAdapter == null) {
        if (mBluetoothAdapter == null) {
            Log.d(this, "BluetoothPhoneService shutting down, no BT Adapter found.");
            Log.d(this, "BluetoothPhoneService shutting down, no BT Adapter found.");
            return;
            return;
+3 −1
Original line number Original line Diff line number Diff line
@@ -26,6 +26,7 @@ import android.os.PowerManager;
import android.os.ServiceManager;
import android.os.ServiceManager;


import com.android.internal.telephony.CallerInfoAsyncQuery;
import com.android.internal.telephony.CallerInfoAsyncQuery;
import com.android.server.telecom.BluetoothAdapterProxy;
import com.android.server.telecom.BluetoothPhoneServiceImpl;
import com.android.server.telecom.BluetoothPhoneServiceImpl;
import com.android.server.telecom.CallerInfoAsyncQueryFactory;
import com.android.server.telecom.CallerInfoAsyncQueryFactory;
import com.android.server.telecom.CallsManager;
import com.android.server.telecom.CallsManager;
@@ -140,7 +141,8 @@ public class TelecomService extends Service implements TelecomSystem.Component {
                                        CallsManager callsManager,
                                        CallsManager callsManager,
                                        PhoneAccountRegistrar phoneAccountRegistrar) {
                                        PhoneAccountRegistrar phoneAccountRegistrar) {
                                    return new BluetoothPhoneServiceImpl(context, lock,
                                    return new BluetoothPhoneServiceImpl(context, lock,
                                            callsManager, phoneAccountRegistrar);
                                            callsManager, new BluetoothAdapterProxy(),
                                            phoneAccountRegistrar);
                                }
                                }
                            }
                            }
                    ));
                    ));
+2 −1
Original line number Original line Diff line number Diff line
@@ -31,6 +31,7 @@ import android.telecom.TelecomManager;
import android.telephony.PhoneNumberUtils;
import android.telephony.PhoneNumberUtils;
import android.telephony.TelephonyManager;
import android.telephony.TelephonyManager;


import com.android.server.telecom.BluetoothAdapterProxy;
import com.android.server.telecom.BluetoothHeadsetProxy;
import com.android.server.telecom.BluetoothHeadsetProxy;
import com.android.server.telecom.BluetoothPhoneServiceImpl;
import com.android.server.telecom.BluetoothPhoneServiceImpl;
import com.android.server.telecom.Call;
import com.android.server.telecom.Call;
@@ -107,7 +108,7 @@ public class BluetoothPhoneServiceTest extends TelecomTestCase {
        doReturn(null).when(mMockCallsManager).getOutgoingCall();
        doReturn(null).when(mMockCallsManager).getOutgoingCall();
        doReturn(0).when(mMockCallsManager).getNumHeldCalls();
        doReturn(0).when(mMockCallsManager).getNumHeldCalls();
        mBluetoothPhoneService = new BluetoothPhoneServiceImpl(mContext, mLock, mMockCallsManager,
        mBluetoothPhoneService = new BluetoothPhoneServiceImpl(mContext, mLock, mMockCallsManager,
                mMockPhoneAccountRegistrar);
                mock(BluetoothAdapterProxy.class), mMockPhoneAccountRegistrar);


        // Bring in test Bluetooth Headset
        // Bring in test Bluetooth Headset
        mBluetoothPhoneService.setBluetoothHeadset(mMockBluetoothHeadset);
        mBluetoothPhoneService.setBluetoothHeadset(mMockBluetoothHeadset);