tree ac12284be349ef2007b2dc4f97efc03abe86bc4b
parent 026a58476ba219bcc08608c2e6156683c9158d5d
author Koji Fukui <koji.fukui@sonymobile.com> 1450262581 +0900
committer Akira Numata <akira.numata@sonymobile.com> 1454550984 +0900

Transit to correct state after alarm is fired

Symptom:
When AlarmClock fires in IDLE, state is changed to ACTIVE.
But the ACTIVE state continues under some conditions.

Root cause:
Transition from IDLE state to ACTIVE state when AlarmClock fires
1.	Send ACTION_STEP_IDLE_STATE intent
2.	Calles onReceive() in BroadcastReceiver
3.	Calles stepIdleStateLocked()
4.	Calles becomeActiveLocked()　

Check point (1) to change from ACTIVE state to INACTIVE
(Display On -> Off)
1.	onDisplayChanged()
2.	updateDisplayLocked()
3.	becomeInactiveIfAppropriateLocked()

Check point (2) to change from ACTIVE state to INACTIVE
(charging -> not charging)
1.	ACTION_BATTERY_CHANGED
2.	updateChargingLocked()
3.	becomeInactiveIfAppropriateLocked()

There are only two check points to change from ACTIVE to INACTIVE.
If state transition, from IDLE to ACTIVE,
happened by AlarmClock when display is off and not charging,
ACTIVE state will be kept and never changes to INACTIVE state.

Change-Id: I93398366307f529b9c0074ac58b19ad6e4695790
