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

Commit d29c5dcf authored by Ajay Panicker's avatar Ajay Panicker Committed by android-build-merger
Browse files

Merge "Switch GATT scan timekeeping to use a different clock"

am: 32956449

Change-Id: Ia339c87eba6924c9f61311c88ed14f049a4a08c9
parents fc6eebec 32956449
Loading
Loading
Loading
Loading
+10 −8
Original line number Original line Diff line number Diff line
@@ -19,6 +19,7 @@ import android.bluetooth.le.ScanSettings;
import android.os.Binder;
import android.os.Binder;
import android.os.WorkSource;
import android.os.WorkSource;
import android.os.ServiceManager;
import android.os.ServiceManager;
import android.os.SystemClock;
import android.os.RemoteException;
import android.os.RemoteException;
import com.android.internal.app.IBatteryStats;
import com.android.internal.app.IBatteryStats;
import java.text.DateFormat;
import java.text.DateFormat;
@@ -117,7 +118,7 @@ import com.android.bluetooth.btservice.BluetoothProto;


        this.scansStarted++;
        this.scansStarted++;
        isScanning = true;
        isScanning = true;
        startTime = System.currentTimeMillis();
        startTime = SystemClock.elapsedRealtime();


        LastScan scan = new LastScan(startTime, 0, false, false, filtered);
        LastScan scan = new LastScan(startTime, 0, false, false, filtered);
        if (settings != null) {
        if (settings != null) {
@@ -146,7 +147,7 @@ import com.android.bluetooth.btservice.BluetoothProto;


        this.scansStopped++;
        this.scansStopped++;
        isScanning = false;
        isScanning = false;
        stopTime = System.currentTimeMillis();
        stopTime = SystemClock.elapsedRealtime();
        long scanDuration = stopTime - startTime;
        long scanDuration = stopTime - startTime;


        minScanTime = Math.min(scanDuration, minScanTime);
        minScanTime = Math.min(scanDuration, minScanTime);
@@ -189,8 +190,8 @@ import com.android.bluetooth.btservice.BluetoothProto;
            return false;
            return false;
        }
        }


        return (System.currentTimeMillis() - lastScans.get(0).timestamp) <
        return (SystemClock.elapsedRealtime() - lastScans.get(0).timestamp)
            EXCESSIVE_SCANNING_PERIOD_MS;
                < EXCESSIVE_SCANNING_PERIOD_MS;
    }
    }


    synchronized boolean isScanningTooLong() {
    synchronized boolean isScanningTooLong() {
@@ -198,7 +199,7 @@ import com.android.bluetooth.btservice.BluetoothProto;
            return false;
            return false;
        }
        }


        return (System.currentTimeMillis() - startTime) > SCAN_TIMEOUT_MS;
        return (SystemClock.elapsedRealtime() - startTime) > SCAN_TIMEOUT_MS;
    }
    }


    // This function truncates the app name for privacy reasons. Apps with
    // This function truncates the app name for privacy reasons. Apps with
@@ -222,7 +223,7 @@ import com.android.bluetooth.btservice.BluetoothProto;
    }
    }


    synchronized void dumpToString(StringBuilder sb) {
    synchronized void dumpToString(StringBuilder sb) {
        long currTime = System.currentTimeMillis();
        long currTime = SystemClock.elapsedRealtime();
        long maxScan = maxScanTime;
        long maxScan = maxScanTime;
        long minScan = minScanTime;
        long minScan = minScanTime;
        long scanDuration = 0;
        long scanDuration = 0;
@@ -273,7 +274,8 @@ import com.android.bluetooth.btservice.BluetoothProto;


            for (int i = 0; i < lastScansSize; i++) {
            for (int i = 0; i < lastScansSize; i++) {
                LastScan scan = lastScans.get(i);
                LastScan scan = lastScans.get(i);
                Date timestamp = new Date(scan.timestamp);
                Date timestamp = new Date(System.currentTimeMillis() - SystemClock.elapsedRealtime()
                        + scan.timestamp);
                sb.append("    " + dateFormat.format(timestamp) + " - ");
                sb.append("    " + dateFormat.format(timestamp) + " - ");
                sb.append(scan.duration + "ms ");
                sb.append(scan.duration + "ms ");
                if (scan.opportunistic) sb.append("Opp ");
                if (scan.opportunistic) sb.append("Opp ");
@@ -305,7 +307,7 @@ import com.android.bluetooth.btservice.BluetoothProto;
            Iterator<ContextMap.Connection> ii = connections.iterator();
            Iterator<ContextMap.Connection> ii = connections.iterator();
            while(ii.hasNext()) {
            while(ii.hasNext()) {
                ContextMap.Connection connection = ii.next();
                ContextMap.Connection connection = ii.next();
                long connectionTime = System.currentTimeMillis() - connection.startTime;
                long connectionTime = SystemClock.elapsedRealtime() - connection.startTime;
                sb.append("    " + connection.connId + ": " +
                sb.append("    " + connection.connId + ": " +
                          connection.address + " " + connectionTime + "ms\n");
                          connection.address + " " + connectionTime + "ms\n");
            }
            }