else if (time_reference == U_HARDWARE_ALARM_TIME_REFERENCE_RTC) switch(behavior)
{ case U_HARDWARE_ALARM_SLEEP_BEHAVIOR_WAKEUP_DEVICE: type = ANDROID_ALARM_RTC_WAKEUP; break; case U_HARDWARE_ALARM_SLEEP_BEHAVIOR_KEEP_DEVICE_ASLEEP: type = ANDROID_ALARM_RTC; break;
}
int result = ::ioctl(fd, ANDROID_ALARM_SET(type), ts);
The use of the API by powerd is correct
u_hardware_ alarm_set_ relative_ to_with_ behavior(
hardware_ alarm,
U_HARDWARE_ ALARM_TIME_ REFERENCE_ RTC,
U_HARDWARE_ ALARM_SLEEP_ BEHAVIOR_ WAKEUP_ DEVICE,
&sleep_ interval) ;w
Which platform_api maps to
else if (time_reference == U_HARDWARE_ ALARM_TIME_ REFERENCE_ RTC)
switch( behavior)
case U_HARDWARE_ ALARM_SLEEP_ BEHAVIOR_ WAKEUP_ DEVICE:
type = ANDROID_ ALARM_RTC_ WAKEUP;
break;
case U_HARDWARE_ ALARM_SLEEP_ BEHAVIOR_ KEEP_DEVICE_ ASLEEP:
type = ANDROID_ALARM_RTC;
break;
{
}
int result = ::ioctl(fd, ANDROID_ ALARM_SET( type), ts);