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

Commit fce9e635 authored by Tomasz Wasilczyk's avatar Tomasz Wasilczyk
Browse files

BluetoothRouteManagerTest: avoid looper leak

Bug: 365800992
Test: com.android.server.telecom.tests.BluetoothRouteManagerTest
Test: TelecomUnitTests
Flag: EXEMPT bugfix
Change-Id: Id280ce33ea3399908ac3d23f2ac2c51077271d07
parent 4c314cd6
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.os.BugreportManager;
import android.os.DropBoxManager;
import android.os.Looper;
import android.os.UserHandle;
import android.telecom.Log;
import android.telecom.PhoneAccountHandle;
@@ -230,7 +231,8 @@ public class TelecomSystem {
            Executor asyncCallAudioTaskExecutor,
            BlockedNumbersAdapter blockedNumbersAdapter,
            FeatureFlags featureFlags,
            com.android.internal.telephony.flags.FeatureFlags telephonyFlags) {
            com.android.internal.telephony.flags.FeatureFlags telephonyFlags,
            Looper looper) {
        mContext = context.getApplicationContext();
        mFeatureFlags = featureFlags;
        LogUtils.initLogging(mContext);
@@ -264,7 +266,7 @@ public class TelecomSystem {
                    communicationDeviceTracker, featureFlags);
            BluetoothRouteManager bluetoothRouteManager = new BluetoothRouteManager(mContext, mLock,
                    bluetoothDeviceManager, new Timeouts.Adapter(),
                    communicationDeviceTracker, featureFlags);
                    communicationDeviceTracker, featureFlags, looper);
            BluetoothStateReceiver bluetoothStateReceiver = new BluetoothStateReceiver(
                    bluetoothDeviceManager, bluetoothRouteManager,
                    communicationDeviceTracker, featureFlags);
+3 −2
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.bluetooth.BluetoothLeAudio;
import android.content.Context;
import android.media.AudioDeviceInfo;
import android.os.Message;
import android.os.Looper;
import android.telecom.Log;
import android.telecom.Logging.Session;
import android.util.Pair;
@@ -607,8 +608,8 @@ public class BluetoothRouteManager extends StateMachine {
    public BluetoothRouteManager(Context context, TelecomSystem.SyncRoot lock,
            BluetoothDeviceManager deviceManager, Timeouts.Adapter timeoutsAdapter,
            CallAudioCommunicationDeviceTracker communicationDeviceTracker,
            FeatureFlags featureFlags) {
        super(BluetoothRouteManager.class.getSimpleName());
            FeatureFlags featureFlags, Looper looper) {
        super(BluetoothRouteManager.class.getSimpleName(), looper);
        mContext = context;
        mLock = lock;
        mDeviceManager = deviceManager;
+6 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.Context;
import android.content.Intent;
import android.media.IAudioService;
import android.media.ToneGenerator;
import android.os.HandlerThread;
import android.os.IBinder;
import android.os.PowerManager;
import android.os.ServiceManager;
@@ -111,6 +112,9 @@ public class TelecomService extends Service implements TelecomSystem.Component {
                    new NotificationChannelManager();
            notificationChannelManager.createChannels(context);

            HandlerThread handlerThread = new HandlerThread("TelecomSystem");
            handlerThread.start();

            TelecomSystem.setInstance(
                    new TelecomSystem(
                            context,
@@ -242,7 +246,8 @@ public class TelecomService extends Service implements TelecomSystem.Component {
                                }
                            },
                            featureFlags,
                            new com.android.internal.telephony.flags.FeatureFlagsImpl()));
                            new com.android.internal.telephony.flags.FeatureFlagsImpl(),
                            handlerThread.getLooper()));
        }
    }

+2 −1
Original line number Diff line number Diff line
@@ -299,7 +299,8 @@ public class BluetoothRouteManagerTest extends TelecomTestCase {
        resetMocks();
        BluetoothRouteManager sm = new BluetoothRouteManager(mContext,
                new TelecomSystem.SyncRoot() { }, mDeviceManager,
                mTimeoutsAdapter, mCommunicationDeviceTracker, mFeatureFlags);
                mTimeoutsAdapter, mCommunicationDeviceTracker, mFeatureFlags,
                mContext.getMainLooper());
        sm.setListener(mListener);
        sm.setInitialStateForTesting(initialState, initialDevice);
        waitForHandlerAction(sm.getHandler(), TEST_TIMEOUT);
+2 −1
Original line number Diff line number Diff line
@@ -420,7 +420,8 @@ public class BluetoothRouteTransitionTests extends TelecomTestCase {
                nullable(ContentResolver.class))).thenReturn(100000L);
        BluetoothRouteManager sm = new BluetoothRouteManager(mContext,
                new TelecomSystem.SyncRoot() { }, mDeviceManager,
                mTimeoutsAdapter, mCommunicationDeviceTracker, mFeatureFlags);
                mTimeoutsAdapter, mCommunicationDeviceTracker, mFeatureFlags,
                mContext.getMainLooper());
        sm.setListener(mListener);
        sm.setInitialStateForTesting(initialState, initialDevice);
        waitForHandlerAction(sm.getHandler(), TEST_TIMEOUT);
Loading