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

Commit de766919 authored by William Escande's avatar William Escande
Browse files

ScanManager: Apply nits comment

remove mContext and use a static getter for time provider

Bug: 330956986
Test: atest ScanManagerTest --rerun-until-failure 3000
Flag: Exempt refactor
Change-Id: I04c3659da75cb81c38ed02deb1994bca38cea19f
parent f4d52353
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -1290,7 +1290,11 @@ public final class Utils {
        long elapsedRealtime();
    }

    public static final TimeProvider sSystemClock = new SystemClockTimeProvider();
    private static final TimeProvider sSystemClock = new SystemClockTimeProvider();

    public static TimeProvider getSystemClock() {
        return sSystemClock;
    }

    private static final class SystemClockTimeProvider implements TimeProvider {
        @Override
+12 −14
Original line number Diff line number Diff line
@@ -119,7 +119,6 @@ public class ScanManager {
    @GuardedBy("mCurUsedTrackableAdvertisementsLock")
    private int mCurUsedTrackableAdvertisements = 0;

    private final Context mContext;
    private final TransitionalScanHelper mScanHelper;
    private final AdapterService mAdapterService;
    private final TimeProvider mTimeProvider;
@@ -170,13 +169,12 @@ public class ScanManager {
        mBatchClients = Collections.newSetFromMap(new ConcurrentHashMap<ScanClient, Boolean>());
        mSuspendedScanClients =
                Collections.newSetFromMap(new ConcurrentHashMap<ScanClient, Boolean>());
        mContext = adapterService;
        mScanHelper = scanHelper;
        mAdapterService = adapterService;
        mTimeProvider = timeProvider;
        mScanNative = new ScanNative(scanHelper);
        mDisplayManager = mContext.getSystemService(DisplayManager.class);
        mActivityManager = mContext.getSystemService(ActivityManager.class);
        mDisplayManager = mAdapterService.getSystemService(DisplayManager.class);
        mActivityManager = mAdapterService.getSystemService(ActivityManager.class);
        mLocationManager = mAdapterService.getSystemService(LocationManager.class);
        mBluetoothAdapterProxy = bluetoothAdapterProxy;
        mIsConnecting = false;
@@ -203,7 +201,7 @@ public class ScanManager {
        }
        IntentFilter locationIntentFilter = new IntentFilter(LocationManager.MODE_CHANGED_ACTION);
        locationIntentFilter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
        mContext.registerReceiver(mLocationReceiver, locationIntentFilter);
        mAdapterService.registerReceiver(mLocationReceiver, locationIntentFilter);
    }

    public void cleanup() {
@@ -232,7 +230,7 @@ public class ScanManager {
        }

        try {
            mContext.unregisterReceiver(mLocationReceiver);
            mAdapterService.unregisterReceiver(mLocationReceiver);
        } catch (IllegalArgumentException e) {
            Log.w(TAG, "exception when invoking unregisterReceiver(mLocationReceiver)", e);
        }
@@ -1024,11 +1022,11 @@ public class ScanManager {
            mFilterIndexStack = new ArrayDeque<Integer>();
            mClientFilterIndexMap = new HashMap<Integer, Deque<Integer>>();

            mAlarmManager = mContext.getSystemService(AlarmManager.class);
            mAlarmManager = mAdapterService.getSystemService(AlarmManager.class);
            Intent batchIntent = new Intent(ACTION_REFRESH_BATCHED_SCAN, null);
            mBatchScanIntervalIntent =
                    PendingIntent.getBroadcast(
                            mContext, 0, batchIntent, PendingIntent.FLAG_IMMUTABLE);
                            mAdapterService, 0, batchIntent, PendingIntent.FLAG_IMMUTABLE);
            IntentFilter filter = new IntentFilter();
            filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
            filter.addAction(ACTION_REFRESH_BATCHED_SCAN);
@@ -1050,7 +1048,7 @@ public class ScanManager {
                            }
                        }
                    });
            mContext.registerReceiver(mBatchAlarmReceiver.get(), filter);
            mAdapterService.registerReceiver(mBatchAlarmReceiver.get(), filter);

            mIsMsftSupported =
                    Flags.leScanMsftSupport()
@@ -1323,7 +1321,7 @@ public class ScanManager {
        // infrequently anyway. To avoid redefining parameter sets, map to the low duty cycle
        // parameter set as follows.
        private int getBatchScanWindowMillis(int scanMode) {
            ContentResolver resolver = mContext.getContentResolver();
            ContentResolver resolver = mAdapterService.getContentResolver();
            switch (scanMode) {
                case ScanSettings.SCAN_MODE_LOW_LATENCY:
                    return Settings.Global.getInt(
@@ -1341,7 +1339,7 @@ public class ScanManager {
        }

        private int getBatchScanIntervalMillis(int scanMode) {
            ContentResolver resolver = mContext.getContentResolver();
            ContentResolver resolver = mAdapterService.getContentResolver();
            switch (scanMode) {
                case ScanSettings.SCAN_MODE_LOW_LATENCY:
                    return Settings.Global.getInt(
@@ -1521,7 +1519,7 @@ public class ScanManager {
            // Protect against multiple calls of cleanup.
            BroadcastReceiver receiver = mBatchAlarmReceiver.getAndSet(null);
            if (receiver != null) {
                mContext.unregisterReceiver(receiver);
                mAdapterService.unregisterReceiver(receiver);
            }
            mNativeInterface.cleanup();
        }
@@ -1781,7 +1779,7 @@ public class ScanManager {
        }

        private int getScanWindowMillis(ScanSettings settings) {
            ContentResolver resolver = mContext.getContentResolver();
            ContentResolver resolver = mAdapterService.getContentResolver();
            if (settings == null) {
                return Settings.Global.getInt(
                        resolver,
@@ -1819,7 +1817,7 @@ public class ScanManager {
        }

        private int getScanIntervalMillis(ScanSettings settings) {
            ContentResolver resolver = mContext.getContentResolver();
            ContentResolver resolver = mAdapterService.getContentResolver();
            if (settings == null) {
                return Settings.Global.getInt(
                        resolver,
+2 −2
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@

package com.android.bluetooth.le_scan;

import static com.android.bluetooth.Utils.sSystemClock;
import static com.android.bluetooth.Utils.getSystemClock;

import android.os.Looper;
import android.util.Log;
@@ -79,7 +79,7 @@ public class ScanObjectsFactory {
            BluetoothAdapterProxy bluetoothAdapterProxy,
            Looper looper) {
        return new ScanManager(
                adapterService, scanHelper, bluetoothAdapterProxy, looper, sSystemClock);
                adapterService, scanHelper, bluetoothAdapterProxy, looper, getSystemClock());
    }

    public PeriodicScanManager createPeriodicScanManager(AdapterService adapterService) {
+7 −2
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@
 */
package com.android.bluetooth.le_scan;

import static com.android.bluetooth.Utils.sSystemClock;
import static com.android.bluetooth.Utils.getSystemClock;
import static com.android.bluetooth.util.AttributionSourceUtil.getLastAttributionTag;

import android.annotation.Nullable;
@@ -95,7 +95,12 @@ public class ScannerMap {
        if (appScanStats == null) {
            appScanStats =
                    new AppScanStats(
                            appName, workSource, this, adapterService, scanHelper, sSystemClock);
                            appName,
                            workSource,
                            this,
                            adapterService,
                            scanHelper,
                            getSystemClock());
            mAppScanStatsMap.put(appUid, appScanStats);
        }
        ScannerApp app =
+5 −3
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@

package com.android.bluetooth.le_scan;

import static com.android.bluetooth.Utils.sSystemClock;
import static com.android.bluetooth.Utils.getSystemClock;

import static com.google.common.truth.Truth.assertThat;

@@ -78,7 +78,8 @@ public class AppScanStatsTest {
        WorkSource source = null;

        AppScanStats appScanStats =
                new AppScanStats(name, source, map, mAdapterService, mMockScanHelper, sSystemClock);
                new AppScanStats(
                        name, source, map, mAdapterService, mMockScanHelper, getSystemClock());

        assertThat(appScanStats.mScannerMap).isEqualTo(map);
        assertThat(appScanStats.mScanHelper).isEqualTo(mMockScanHelper);
@@ -92,7 +93,8 @@ public class AppScanStatsTest {
        WorkSource source = null;

        AppScanStats appScanStats =
                new AppScanStats(name, source, map, mAdapterService, mMockScanHelper, sSystemClock);
                new AppScanStats(
                        name, source, map, mAdapterService, mMockScanHelper, getSystemClock());

        ScanSettings settings = new ScanSettings.Builder().build();
        List<ScanFilter> filters = new ArrayList<>();