All exact alarms now require SCHEDULE_EXACT_ALARM

Even exact alarms outside of idle require this permission. This is to
draw a clear boundary of the permission. If the app needs exact timing,
it should request this permission and then choose the most appropriate
API for its needs. Otherwise, it has to work with inexact alarms, which
now cannot have a window smaller than a set minimum, currently, ten
seconds.

Test: atest FrameworksMockingServicesTests:com.android.server.alarm
atest CtsAlarmManagerTestCases

Bug: 182226633
Change-Id: Iec953dbe8570f1ea6aaf81d864468ef1eb690de6
7 files changed