Implementing app standby quotas for alarms

Adding a quota mechanism for deferring alarms based on their standby
buckets.
Number of times an app can receive alarms in an hour is now capped by a
maximum depending on their standby bucket, with the frequency getting
more restricted as the buckets move higher.

Restricting presubmit test to only run when AlarmManagerService changed,
as some tests can take a while to complete.

Test: atest android.util.LongArrayQueueTest
atest CtsAlarmManagerTestCases:AppStandbyTests
atest FrameworksMockingServicesTests:AlarmManagerServiceTest

Bug: 122974477
Change-Id: Icbd5bbb8aeef91b543d09acee553fd0aa3a23f30
5 files changed