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

Commit 26571181 authored by Kweku Adams's avatar Kweku Adams Committed by Android (Google) Code Review
Browse files

Merge "Integrate AlarmManager with TARE."

parents 1ccf3fbf 5175461c
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ import java.util.Date;
 */
class Alarm {
    @VisibleForTesting
    public static final int NUM_POLICIES = 4;
    public static final int NUM_POLICIES = 5;
    /**
     * Index used to store the time the alarm was requested to expire. To be used with
     * {@link #setPolicyElapsed(int, long)}.
@@ -66,6 +66,12 @@ class Alarm {
     */
    public static final int BATTERY_SAVER_POLICY_INDEX = 3;

    /**
     * Index used to store the earliest time the alarm can expire based on TARE policy.
     * To be used with {@link #setPolicyElapsed(int, long)}.
     */
    public static final int TARE_POLICY_INDEX = 4;

    /**
     * Reason to use for inexact alarms.
     */
@@ -254,8 +260,10 @@ class Alarm {
                return "device_idle";
            case BATTERY_SAVER_POLICY_INDEX:
                return "battery_saver";
            case TARE_POLICY_INDEX:
                return "tare";
            default:
                return "--unknown--";
                return "--unknown(" + index + ")--";
        }
    }

+303 −11

File changed.

Preview size limit exceeded, changes collapsed.

+144 −0

File added.

Preview size limit exceeded, changes collapsed.

+88 −0

File changed.

Preview size limit exceeded, changes collapsed.

+17 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import static com.android.server.alarm.Alarm.APP_STANDBY_POLICY_INDEX;
import static com.android.server.alarm.Alarm.NUM_POLICIES;
import static com.android.server.alarm.Alarm.REQUESTER_POLICY_INDEX;
import static com.android.server.alarm.AlarmManagerService.isExemptFromAppStandby;
import static com.android.server.alarm.AlarmManagerService.isExemptFromTare;
import static com.android.server.alarm.Constants.TEST_CALLING_PACKAGE;
import static com.android.server.alarm.Constants.TEST_CALLING_UID;

@@ -193,4 +194,20 @@ public class AlarmTest {
                createDefaultAlarm(anything, anything, FLAG_ALLOW_WHILE_IDLE_UNRESTRICTED)));
        assertTrue("Alarm clock not exempt", isExemptFromAppStandby(createAlarmClock(anything)));
    }

    @Test
    public void testIsExemptFromTare() {
        final long anything = 54321;    // Arbitrary number, doesn't matter for this test.

        assertFalse("Basic alarm exempt", isExemptFromTare(
                createDefaultAlarm(anything, anything, 0)));
        assertFalse("FLAG_ALLOW_WHILE_IDLE_COMPAT exempt", isExemptFromTare(
                createDefaultAlarm(anything, anything, FLAG_ALLOW_WHILE_IDLE_COMPAT)));
        assertFalse("ALLOW_WHILE_IDLE exempt", isExemptFromTare(
                createDefaultAlarm(anything, anything, FLAG_ALLOW_WHILE_IDLE)));

        assertTrue("ALLOW_WHILE_IDLE_UNRESTRICTED not exempt", isExemptFromTare(
                createDefaultAlarm(anything, anything, FLAG_ALLOW_WHILE_IDLE_UNRESTRICTED)));
        assertTrue("Alarm clock not exempt", isExemptFromTare(createAlarmClock(anything)));
    }
}