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

Commit ca33f5b6 authored by Stanley Tng's avatar Stanley Tng
Browse files

Increase the timeout for Hearing Aids Pairing

Some device will need a longer time to do its service discovery process
and therefore, need a longer timeout. This is especially true for the
second device where the connection interval is increased.

Bug: 131835452
Test: Manual
Change-Id: I2e0821e30a0f08a4a123b8b5447a8b44c8830f9a
Merged-In: I2e0821e30a0f08a4a123b8b5447a8b44c8830f9a
(cherry picked from commit 8ce72cf350eec6beeabb03353bf07541a8f2671c)
(cherry picked from commit 5489a5fb)
parent 8783e44c
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -50,6 +50,8 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>

    // See mConnectAttempted
    private static final long MAX_UUID_DELAY_FOR_AUTO_CONNECT = 5000;
    // Some Hearing Aids (especially the 2nd device) needs more time to do service discovery
    private static final long MAX_HEARING_AIDS_DELAY_FOR_AUTO_CONNECT = 15000;
    private static final long MAX_HOGP_DELAY_FOR_AUTO_CONNECT = 30000;

    private final Context mContext;
@@ -223,7 +225,7 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
                // various profiles
                // If UUIDs are not available yet, connect will be happen
                // upon arrival of the ACTION_UUID intent.
                Log.d(TAG, "No profiles. Maybe we will connect later");
                Log.d(TAG, "No profiles. Maybe we will connect later for device " + mDevice);
                return;
            }

@@ -608,10 +610,12 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
        long timeout = MAX_UUID_DELAY_FOR_AUTO_CONNECT;
        if (BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.Hogp)) {
            timeout = MAX_HOGP_DELAY_FOR_AUTO_CONNECT;
        } else if (BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.HearingAid)) {
            timeout = MAX_HEARING_AIDS_DELAY_FOR_AUTO_CONNECT;
        }

        if (BluetoothUtils.D) {
            Log.d(TAG, "onUuidChanged: Time since last connect"
            Log.d(TAG, "onUuidChanged: Time since last connect="
                    + (SystemClock.elapsedRealtime() - mConnectAttempted));
        }