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

Commit d26bde7f authored by Hall Liu's avatar Hall Liu
Browse files

Fix flaky tests (tentatively)

Fix the flaky tests by force-enabling the earpiece route in the telecom
end-to-end tests

Change-Id: Ib83d3083d18dbebf095a7f6f5747e83671ffe8c0
Merged-In: Ib83d3083d18dbebf095a7f6f5747e83671ffe8c0
Fixes: 78481964
Test: unit test on gce
parent 877d5349
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -195,6 +195,7 @@ public class TelecomSystem {
            PhoneNumberUtilsAdapter phoneNumberUtilsAdapter,
            IncomingCallNotifier incomingCallNotifier,
            InCallTonePlayer.ToneGeneratorFactory toneGeneratorFactory,
            CallAudioRouteStateMachine.Factory callAudioRouteStateMachineFactory,
            ClockProxy clockProxy) {
        mContext = context.getApplicationContext();
        LogUtils.initLogging(mContext);
@@ -279,7 +280,7 @@ public class TelecomSystem {
                toneGeneratorFactory,
                clockProxy,
                bluetoothStateReceiver,
                new CallAudioRouteStateMachine.Factory(),
                callAudioRouteStateMachineFactory,
                new CallAudioModeStateMachine.Factory(),
                inCallControllerFactory);

+2 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import com.android.internal.telephony.CallerInfoAsyncQuery;
import com.android.server.telecom.AsyncRingtonePlayer;
import com.android.server.telecom.BluetoothAdapterProxy;
import com.android.server.telecom.BluetoothPhoneServiceImpl;
import com.android.server.telecom.CallAudioRouteStateMachine;
import com.android.server.telecom.CallerInfoAsyncQueryFactory;
import com.android.server.telecom.CallsManager;
import com.android.server.telecom.ClockProxy;
@@ -169,6 +170,7 @@ public class TelecomService extends Service implements TelecomSystem.Component {
                            new PhoneNumberUtilsAdapterImpl(),
                            new IncomingCallNotifier(context),
                            ToneGenerator::new,
                            new CallAudioRouteStateMachine.Factory(),
                            new ClockProxy() {
                                @Override
                                public long currentTimeMillis() {
+27 −22
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@ import com.android.internal.telecom.IInCallAdapter;
import com.android.server.telecom.AsyncRingtonePlayer;
import com.android.server.telecom.BluetoothPhoneServiceImpl;
import com.android.server.telecom.CallAudioManager;
import com.android.server.telecom.CallAudioRouteStateMachine;
import com.android.server.telecom.CallerInfoLookupHelper;
import com.android.server.telecom.CallsManager;
import com.android.server.telecom.CallsManagerListenerBase;
@@ -85,8 +86,11 @@ import com.android.server.telecom.PhoneNumberUtilsAdapter;
import com.android.server.telecom.PhoneNumberUtilsAdapterImpl;
import com.android.server.telecom.ProximitySensorManager;
import com.android.server.telecom.ProximitySensorManagerFactory;
import com.android.server.telecom.StatusBarNotifier;
import com.android.server.telecom.TelecomSystem;
import com.android.server.telecom.Timeouts;
import com.android.server.telecom.WiredHeadsetManager;
import com.android.server.telecom.bluetooth.BluetoothRouteManager;
import com.android.server.telecom.components.UserCallIntentProcessor;
import com.android.server.telecom.ui.IncomingCallNotifier;
import com.android.server.telecom.ui.MissedCallNotifierImpl.MissedCallNotifierImplFactory;
@@ -432,38 +436,39 @@ public class TelecomSystemTest extends TelecomTestCase {
        when(mClockProxy.elapsedRealtime()).thenReturn(TEST_CREATE_ELAPSED_TIME);
        mTelecomSystem = new TelecomSystem(
                mComponentContextFixture.getTestDouble(),
                new MissedCallNotifierImplFactory() {
                    @Override
                    public MissedCallNotifier makeMissedCallNotifierImpl(Context context,
                            PhoneAccountRegistrar phoneAccountRegistrar,
                            DefaultDialerCache defaultDialerCache) {
                        return mMissedCallNotifier;
                    }
                },
                (context, phoneAccountRegistrar, defaultDialerCache) -> mMissedCallNotifier,
                mCallerInfoAsyncQueryFactoryFixture.getTestDouble(),
                headsetMediaButtonFactory,
                proximitySensorManagerFactory,
                inCallWakeLockControllerFactory,
                new CallAudioManager.AudioServiceFactory() {
                    @Override
                    public IAudioService getAudioService() {
                        return mAudioService;
                    }
                },
                new BluetoothPhoneServiceImpl.BluetoothPhoneServiceImplFactory() {
                    @Override
                    public BluetoothPhoneServiceImpl makeBluetoothPhoneServiceImpl(Context context,
                            TelecomSystem.SyncRoot lock, CallsManager callsManager,
                            PhoneAccountRegistrar phoneAccountRegistrar) {
                        return mBluetoothPhoneServiceImpl;
                    }
                },
                () -> mAudioService,
                (context, lock, callsManager, phoneAccountRegistrar) -> mBluetoothPhoneServiceImpl,
                ConnectionServiceFocusManager::new,
                mTimeoutsAdapter,
                mAsyncRingtonePlayer,
                mPhoneNumberUtilsAdapter,
                mIncomingCallNotifier,
                (streamType, volume) -> mock(ToneGenerator.class),
                new CallAudioRouteStateMachine.Factory() {
                    @Override
                    public CallAudioRouteStateMachine create(
                            Context context,
                            CallsManager callsManager,
                            BluetoothRouteManager bluetoothManager,
                            WiredHeadsetManager wiredHeadsetManager,
                            StatusBarNotifier statusBarNotifier,
                            CallAudioManager.AudioServiceFactory audioServiceFactory,
                            int earpieceControl) {
                        return new CallAudioRouteStateMachine(context,
                                callsManager,
                                bluetoothManager,
                                wiredHeadsetManager,
                                statusBarNotifier,
                                audioServiceFactory,
                                // Force enable an earpiece for the end-to-end tests
                                CallAudioRouteStateMachine.EARPIECE_FORCE_ENABLED);
                    }
                },
                mClockProxy);

        mComponentContextFixture.setTelecomManager(new TelecomManager(