Triggering EarlySuspend based on BackLight brightness

EarlySuspend is triggered currently based on just timeout. Due to this,
backlight brightness is not coming down to zero.

Change-Id: If89ec6650308109630dbb7ee1be0b96df4ed3534
CRs-Fixed: 381087

Allowing display turning off animation before Early suspend.

This change passes display turning off information to
animation call so that display off animation can be played
before early suspend call.
Reverted two and three changes in the below list with this patch.
Changes introduced in previous patch were:
1.Send early suspend call after display baclklight off
2.All animations off once display goes to dim.
3.Removed duration to turn off screen as i don't see this in ICS.

Change-Id: Id411fe2c4d4fd219fc198405d6c2f221a87874ff
Telephony: Initialize RIL with the correct CDMA subscription mode setting

Users choice of CDMA Subscription Source is stored in CDMA_SUBSCRIPTION_MODE
setting in database.
If telephony restarts after a crash, PhoneFactory sets the
CDMA subscription source value from PREFERRED_CDMA_SUBSCRIPTION
setting and that causes the mismatch with the value in the settings
database chosen by the user. The change is to use the
CDMA_SUBSCRIPTION_MODE setting instead when creating the RIL object.

Also, remove the Setting PREFERRED_CDMA_SUBSCRIPTION from the database.
With this change the special treatment for LTE on CDMA will not be needed.
The correct value can be set in the database for CDMA_SUBSCRIPTION_MODE
and that will be taken on power-up by this code.

Change-Id: I80edd1be0673332823fa690f119f7fb427b756d7
StorageManager: fix issue that GREF has increased to 2011 in system server with intel stress test.

Issue description:
When run ICS stress test, always meet GREF issue. one of contributor is MountService$MountServiceBinderListener.
log info
19:21:11.609   222 24316 W dalvikvm:        24 of com.android.server.am.ActivityManagerService$AppDeathRecipient (24 unique instances)
19:21:11.609   222 24316 W dalvikvm:       479 of com.android.server.MountService$MountServiceBinderListener (479 unique instances)
19:21:11.619   222 24316 W dalvikvm:         7 of com.android.server.accessibility.AccessibilityManagerService$6 (7 unique instances)
Note: PID 222 is system server.

Issue alaysis:
Everyone can call getSystemService(Context.STORAGE_SERVICE) to get service.
When other service get StorageManager, StorageManager will new MountServiceBinderLister and
register a listener in MountService, which won't be unregistered. It's easy to generate a lot of
instance of unused MountService$MountServiceBinderListener in system server.

Issue fix:
So change the policy to be:
1. Doesn't new MountServiceBinderLister in construction.
2. when other service needs to register listener in StorageManager,
StorageManager will register listener with MountService.
3. When other service needs to unregister listener in StorageManager,
if there is no more other listeners in StorageManager, StorageManager
will unregister listener in MountService.

Change-Id: Iaaf889f44a1a5f62b9f65b3ab1b486c9b7dcaf7f
Author: Chuanxiao Dong <chuanxiao.dong@intel.com>
Signed-off-by: Bo Huang <bo.b.huang@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Signed-off-by: Bruce Beare  <bruce.j.beare@intel.com>
PowerManagerService: fix getAutoBrightnessValue for btn/kbd

getAutoBrightnessValue calculations are correct only for LCD
backlight brightness values increasing with higher light values.
Skip the calculation for the reversed button/keyboard backlight
arrays, where the backlight brightness decreases with increasing
light values.

Change-Id: Ib72b8325fe2b0f83780e91dc94eea2e38061224b