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

Commit ce765caa authored by Jayden Kim's avatar Jayden Kim Committed by Gerrit Code Review
Browse files

Merge "Adds screen on/off event counter"

parents 1f3cdb14 27479cc7
Loading
Loading
Loading
Loading
+10 −0
Original line number Original line Diff line number Diff line
@@ -394,6 +394,15 @@ import java.util.Objects;
        }
        }
    }
    }


    @GuardedBy("sLock")
    private static void recordScreenOnOffMetrics(boolean isScreenOn) {
        if (isScreenOn) {
            MetricsLogger.getInstance().cacheCount(BluetoothProtoEnums.SCREEN_ON_EVENT, 1);
        } else {
            MetricsLogger.getInstance().cacheCount(BluetoothProtoEnums.SCREEN_OFF_EVENT, 1);
        }
    }

    private static int getScanWeight(int scanMode) {
    private static int getScanWeight(int scanMode) {
        switch (scanMode) {
        switch (scanMode) {
            case ScanSettings.SCAN_MODE_OPPORTUNISTIC:
            case ScanSettings.SCAN_MODE_OPPORTUNISTIC:
@@ -439,6 +448,7 @@ import java.util.Objects;
                recordScanRadioDurationMetrics();
                recordScanRadioDurationMetrics();
                sRadioStartTime = SystemClock.elapsedRealtime();
                sRadioStartTime = SystemClock.elapsedRealtime();
            }
            }
            recordScreenOnOffMetrics(isScreenOn);
            sIsScreenOn = isScreenOn;
            sIsScreenOn = isScreenOn;
        }
        }
    }
    }
+22 −3
Original line number Original line Diff line number Diff line
@@ -37,6 +37,7 @@ import static org.mockito.Mockito.atMost;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.mockito.Mockito.when;


@@ -1054,7 +1055,6 @@ public class ScanManagerTest {
        final boolean isFiltered = true;
        final boolean isFiltered = true;
        // Turn on screen
        // Turn on screen
        sendMessageWaitForProcessed(createScreenOnOffMessage(true));
        sendMessageWaitForProcessed(createScreenOnOffMessage(true));
        verify(mMetricsLogger, never()).cacheCount(anyInt(), anyLong());
        Mockito.clearInvocations(mMetricsLogger);
        Mockito.clearInvocations(mMetricsLogger);
        // Create scan client
        // Create scan client
        ScanClient client = createScanClient(0, isFiltered, SCAN_MODE_LOW_POWER);
        ScanClient client = createScanClient(0, isFiltered, SCAN_MODE_LOW_POWER);
@@ -1085,7 +1085,6 @@ public class ScanManagerTest {
        final boolean isFiltered = true;
        final boolean isFiltered = true;
        // Turn on screen
        // Turn on screen
        sendMessageWaitForProcessed(createScreenOnOffMessage(true));
        sendMessageWaitForProcessed(createScreenOnOffMessage(true));
        verify(mMetricsLogger, never()).cacheCount(anyInt(), anyLong());
        Mockito.clearInvocations(mMetricsLogger);
        Mockito.clearInvocations(mMetricsLogger);
        // Create scan client
        // Create scan client
        ScanClient client = createScanClient(0, isFiltered, SCAN_MODE_LOW_POWER);
        ScanClient client = createScanClient(0, isFiltered, SCAN_MODE_LOW_POWER);
@@ -1136,7 +1135,6 @@ public class ScanManagerTest {
        final boolean isFiltered = true;
        final boolean isFiltered = true;
        // Turn on screen
        // Turn on screen
        sendMessageWaitForProcessed(createScreenOnOffMessage(true));
        sendMessageWaitForProcessed(createScreenOnOffMessage(true));
        verify(mMetricsLogger, never()).cacheCount(anyInt(), anyLong());
        Mockito.clearInvocations(mMetricsLogger);
        Mockito.clearInvocations(mMetricsLogger);
        // Create scan clients with different duty cycles
        // Create scan clients with different duty cycles
        ScanClient client = createScanClient(0, isFiltered, SCAN_MODE_LOW_POWER);
        ScanClient client = createScanClient(0, isFiltered, SCAN_MODE_LOW_POWER);
@@ -1217,4 +1215,25 @@ public class ScanManagerTest {
            Mockito.clearInvocations(mMetricsLogger);
            Mockito.clearInvocations(mMetricsLogger);
        }
        }
    }
    }

    @Test
    public void testMetricsScreenOnOff() {
        // Turn off screen initially
        sendMessageWaitForProcessed(createScreenOnOffMessage(false));
        Mockito.clearInvocations(mMetricsLogger);
        // Turn on screen
        sendMessageWaitForProcessed(createScreenOnOffMessage(true));
        verify(mMetricsLogger, never()).cacheCount(
                eq(BluetoothProtoEnums.SCREEN_OFF_EVENT), anyLong());
        verify(mMetricsLogger, times(1)).cacheCount(
                eq(BluetoothProtoEnums.SCREEN_ON_EVENT), anyLong());
        Mockito.clearInvocations(mMetricsLogger);
        // Turn off screen
        sendMessageWaitForProcessed(createScreenOnOffMessage(false));
        verify(mMetricsLogger, never()).cacheCount(
                eq(BluetoothProtoEnums.SCREEN_ON_EVENT), anyLong());
        verify(mMetricsLogger, times(1)).cacheCount(
                eq(BluetoothProtoEnums.SCREEN_OFF_EVENT), anyLong());
        Mockito.clearInvocations(mMetricsLogger);
    }
}
}