improve rotation handling

this commit was rewritten/inspired by one made to our jb 4.1 branch by sonicxml.

cheers buddy!

Change-Id: Ib3b46aa54e7bf6602f8c0557ed770624063af529
Prevent nullPointerException by updateBondedBluetoothDevices

In some very rare cases difficult to identify, it seems that the
IBluetooth.getBondedDevices() returns a Set with a null element.

This patch will prevent calling getBondState() if the device is null to
avoid a nullPointerException.

Change-Id: I9bcad60c37e03c77ec39227e5c947c002a3ae2c7
Orig-Change-Id: I8845f0e6b8fdcda679bc71e2b5c33fd4a52f3ac5
Signed-off-by: Patrick Combes <patrick.combes@intel.com>
Reviewed-on: http://android.intel.com:8080/116592
Reviewed-by: Bondier, CedricX <cedricx.bondier@intel.com>
Reviewed-by: Chen, HuaqiangX <huaqiangx.chen@intel.com>
Reviewed-by: Yao, Yong <yong.yao@intel.com>
Reviewed-by: Aquilone, RaffaeleX <raffaelex.aquilone@intel.com>
Tested-by: Lestienne, ChristopheX <christophex.lestienne@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
Signed-off-by: Jian Luo <jian.luo@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 90085
Framewors: bluetoothmanager avoid NPE

callback on unregister get sometimes null. Not sure
where it comes from currently due that all instances
calling the unregisterStateChangeCallback are
well. Whatever to prevend the NPE check callback for null
like stated in RemoteCallBackList.java

Change-Id: Ie49c2a507dcecdbdaa155fd1a5d93fc5d6a2baf8
build core/jni with fstrict

Change-Id: Ic2418b7b9a359a47ff8efc501c69b926c3c91c5a
FileUtils: add method to get UUID of a volume

Change-Id: I41b76c5e01c82a2f8e67b33133a76947877a2814
BootMessage: show more info in boot dialog

Tell the users what package we are running dexOpt on currently

Change-Id: I665ab3847ec1846e40915a1fae21c43e2e7ccf6d

Conflicts:
	services/java/com/android/server/pm/PackageManagerService.java
SystemUI: Fix recent animation coordinates in expanded desktop mode.

Change-Id: I2685dc1c23d709f0eb708f78243ebd8d053003a6
SystemUI: always use transparent notification shade

Devices with less than 512MB of memory have a solid
black notification shade. Remove the isHighEndGfx()
check to force a transparent notification shade on
all devices.

Change-Id: I9a68a2a8b0d36685f8899f3bbed43bb6bccb47b1
Keyguard: Set WIDGET_CATEGORY_KEYGUARD when AppWidgetHostView is created

Allows the default lockscreen widget to inherit the keyguard widget
host category.  Without this, only widgets added through
KeyguardActivityLauncher are assigned the correct
OPTION_APPWIDGET_HOST_CATEGORY.

Change-Id: Ic97818d85ca5f00da0ce43bb36006d66a6935363
Improve resolver layout in case package name is shown.

Change-Id: Ib2bd0c19727194205b6e4114c34bf96663030d5f
load non opengles wallpapers for platforms without hardware graphics

Platforms without a hardware graphics, frequently get
"Unfortunately, System UI Crashed" pop-up message on boot-up, which
is due to an Android Runtime Exception
"java.lang.RuntimeException: eglConfig not initialized" when SystemUI
fail to load OpenGLES wallpapers.

This patch make sure that Android runtime checks for GPU availability
(by checking a build time property "ro.nohardwaregfx") before loading
opengles wallpapers.

Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Fix error when cpufreq is loaded at runtime

Change-Id: I4691bbfbb1a49b130ba4b9a0ed5ded3601e220fc
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
BT: Fix memory leak when BT on & off done many times

Solves a memory leak in BatteryStatsService when Bluetooth
is turn on/off. Solution adds missing close of proxy then
Bluetooth is turned off.

Change-Id: I65f9db298459c7c15f6a10c752992f1d38469445
CRs-Fixed: 476145
android_os_FileUtils_getVolumeUUID: Fix the incorrect logical for call blkid_get_tag_value.
    There are two problems in here.
  1. For the function blkid_get_tag_value third parameter is should be the device, not the mount pointer, in the MediaPrivader.attachVolume, it will pass the mount path to call this function.
  2. The UUID for device is hex, so call atoi is not right. I think call strtol is better than atoi.

Change-Id: I76598a0993f08add3e9c7541cbc082d8d85e9af4
Navbar: Fix MDPI & HDPI landscape layout

Before: http://i.imgur.com/89SmFbX.png
After: http://i.imgur.com/UbuAggD.png

Change-Id: I6623cb97881313886de39a67baa98f7bd4b0696a
Fix certain setting writes being incorrectly skipped.

If a value that previously had a very long value (over the 500 char
threshold) is now set to null, isRedundantSetValue would incorrectly
return true even though the value was changed.

Change-Id: Ia5304743024ec01024be98aa51ed260d38caf93c
Audio: Fix abnormal keytone playback during silent mode changing

Change-Id: Icfc4003c9756b3c33578c137e59dc4a2b4f25647
Author: Chenyang Du <chenyang.du@intel.com>
Signed-off-by: Ertao Zhao <ertaox.zhao@intel.com>
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 19084 4898
Use generic alarm intent.

Change-Id: Ibb911c1e34ec95cdd52867b8a68cce25f09dbc10
Fix for Concurrency issue reported in  525529

List of services mainted by ActivityManager may get
updated/iterated concurrently if serviceTimeout() is
scheduled simultaneously with launch/stop of new services
for the same package.To fix the issue ,iteration of
proc.executingServices set in serviceTimeout() is synchronized
with same lock used by updating the set during
start/launch of service.

CRs-fixed: 525529

Change-Id: Ic230ad0d16e6ec64a20cf394aa1c1ce777c37a2b
services: Fix the bug in NFC shutdown logic

nfcOff should be checked for NFC shutdown instead of radioOff,
which is used for radio status.

Change-Id: Iafd620dc89ae8bed7855e313676527d4de32cb7c