Alarm: Use dedicated alarm type for poweroff alarm.

RTC_POWEROFF_WAKEUP is a new alarm type introduced by framework
to perform poweroff alarm. The time (RTC_WAKEUP) set to framework
is not the same as the alarm time set in deskclock.  In this case
the RTC register might not be correctly set. So both RTC_WAKEUP
and RTC_POWEROFF_WAKEUP types need to be set at the same time:
RTC_WAKEUP type will handle the normal alarm process, and
RTC_POWEROFF_WAKEUP is used to set the correct alarm time to RTC
register.

Change-Id: Ic03f87018e163adf6f6e6013963a497d340fbec7
Remove LOCAL_SDK_VERSION definition to use hidden API

Remove LOCAL_SDK_VERSION definition to use the hidden alarm type
RTC_POWEROFF_WAKEUP in DeskClock.

Change-Id: I3e3ebc2a1be75eddf6980915b598d2a9523dfd61
DeskClock: Fix the delay or missed condition of the alarm after boot

After boot completed, if low memory condition happens or some ordered
broadcasts have time out It will cause some delay to some other ordered
broadcasts like "change_state" broadcast for alarm. Because alarm is
very sensitive to the time, its broadcast should be changed into one
with high priority. And the priority of AlarmInitReceiver should be
impoved to receive the BOOT_COMPLETE action in time. Otherwise the
alarm will be missed if AlarmInitReceiver receive the action after
the alarm time.

CRs-Fixed: 621073
Change-Id: I18f37378e5eef0504c9c412d3a2ff85487093245
DeskClock: Add selection for external device

User can choose external audio file as the ringtone for each alarm

Change-Id: I241f0ccd6caddc8a5548aa168550601a6a787861
DeskClock: handle call events on alarm

Alarm clock ringing while incoming call received.

When call ringing,alarm clock time arrived.Only Call ringing and no alarm
clock ringing.and after hang up the phone,alarm start ring.
When alarm ringing,receive a call,the alarm is stopped,and it can answer
or hang up the phone.after hang up the phone ,there has some reminder.

Change-Id: Id1bdf689f709e78ced30cec06cbc93a7a06a5b3b
DeskClock: Sometimes alarm can't stop while coming a MT voice call

Alarm can't stop sometimes. Add stopCurrentAlarm() in PhoneStateListener
to stop Alarm when receive a call.

Change-Id: Ie9dadb5f050ec066e7c3e0156bdf8f40f398e9c7
DeskClock: Avoid DeskClock layout abnormal on landscape

When the activity recreates it will reset music seletion source to
be zero which lead to the music picker uri null. Save and restore
the seletion before re-createing.

Change-Id: If680f0b262231cf3b8b7186c9dbacea7c0d1574e
Clock: Customize Alarm for carrier

- Customize the default auto silience value and alarm behavier in a
  call.
- Ring alarm in all user profiles even in silent and meeting mode.

Change-Id: I9fdf6e7dd61408230b3f84a043fbb92d070ddd05
Forward port "Add option to hide AlarmClock Icon in StatusBar"

From http://review.cyanogenmod.org/#/c/29106/

Change-Id: I757fcce947536ac78a954eda72470f507c6ddb23
DeskClock: Move the strings from AlarmClock Icon hiding

* Move the strings from strings.xml to cm_strings.xml
* Forward port DE translation from 10.2

Change-Id: I2b6f5b46ec61ccaccfdeb428e2ac1b5b38766736
DeskClock: Add increasing volume option for alarm clocks

Patchset 2: Fix database, layout, code style and check alarm volume
Patchset 3: Fix string typo

Based on:
http://review.cyanogenmod.org/#/c/31623/
http://review.cyanogenmod.org/#/c/31798/

Thanks to:
Austen Dicken <cvpcsm@gmail.com> as author of original patch
Jorge Ruesga <jorge@ruesga.com> for improvements and fixes

Change-Id: I865c1cd91c21f6c598c384c8c7424e901c07d92f
DeskClock: Add back switch to profile

Change-Id: I3c74631677c8cb5c6cef31178716f0afe973bc15
DeskClock: Add back user-defined world cities

Ported from:
 * http://review.cyanogenmod.org/#/c/33001/
 * http://review.cyanogenmod.org/#/c/44805/

Change-Id: Icec0c4f47431abf53382bd3f536dfea211220f4a
Alarm: Use dedicated alarm type for poweroff alarm.

RTC_POWEROFF_WAKEUP is a new alarm type introduced by framework
to perform poweroff alarm. The time (RTC_WAKEUP) set to framework
is not the same as the alarm time set in deskclock.  In this case
the RTC register might not be correctly set. So both RTC_WAKEUP
and RTC_POWEROFF_WAKEUP types need to be set at the same time:
RTC_WAKEUP type will handle the normal alarm process, and
RTC_POWEROFF_WAKEUP is used to set the correct alarm time to RTC
register.

Change-Id: Icdbf18c9b4ebe7732a85ac189de7eb5877b1accd
deskclock: internationalize repeat days layout

Change-Id: I434510a0ad18c33d7e7f856d1db7eaff282d7197
JIRA: CYAN-3347
Issue: https://jira.cyanogenmod.org/browse/CYAN-3347
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
DeskClock: Support double-digit hours for timers

Change-Id: I8aa4960c03d710ca7889c8d91701ca5b5376c9ef
DeskClock: Add feature to play random song as an alarm.

Change-Id: I38c346beb0746fcebd224e9641e2d397183ba9a2
DeskClock: Fix NullPointerException in AlarmClockFragment

RingtoneManager.getRingtone could return null so add a check for that

Change-Id: Ic3ec042e7c3fe02eee6388a469f19624d90fdddd
Alarm: Show a warning toast when alarm volume is set to silent

Change-Id: I97edae55351101046def5058a2459ab88edf2d0d
DeskClock: Add selection for external device

User can choose external audio file as the ringtone for each alarm.

Change-Id: I3f9ec6dae36682f83170038cfc447cc43f635785