Fix ringer mode being unneededly changed by setting ringer mode volume
to 0.

When having set the ringer mode to silent on a device with vibrator and
calling setStreamVolume() for the ringer stream again (e.g. in one of
the volume control dialogs in the settings app), the ringer mode is set
to vibrate, although there's no reason to do so.

Fix that by remembering the last non-normal (that is, either silent or
vibrate) ringer mode and using that when setting the stream volume to 0.

Change-Id: I27f1c75a0fef52bd63ac20f4101042808ce2c458
JIRA: CYAN-1403
QuickSettings : Battery initial status

Battery tile upon being added relies on a battery level changed call
to update its status. Thus if upon adding, the battery level is not changing
or till the period when it updates, the tile shows an unknown state.

This patchset resolves this issue by making the controller store its last received value
and distributing it to the tiles when they register for changes.

https://jira.cyanogenmod.org/browse/CYAN-1374

Change-Id: Ia2e887e545430ed02c179a3c8f4b7e269a4817c8
Check and fail early if requested wallpaper size exceeds maximum texture size.

This fixes an issue where OpenGL initialization succeeds but buffer allocation fails because the requested wallpaper size
is too large (or otherwise unsupported) by the graphics hardware. This fixes an issue where SystemUI crashes constantly
on the PandaBoard when connected to a full HD display. Tested only on PandaBoard, no access to alternative hardware.
Signed-off-by: Wim Vander Schelden <wim.vander.schelden@philips.com>

Change-Id: I8d2e1ae9fd9772977c4e365f23f2f58bbca3787c
Don't assume any ringtone is present on external storage.

If that assumption doesn't hold true, the user will lose his ringtone
and won't know why.

Change-Id: I89409e1351792d020c5458f5104f4bb9f2a040f2
Merge "Don't assume any ringtone is present on external storage." into cm-10.1
Lockscreen : Fix widgets disabled

Currently, when keyguard widgets are disabled via the DevicePolicyManager,
a default widget if specified via widget_default_package_name/widget_default_class_name
is added on the main screen, and if not successful the default status widget is added.

However in its current state, each cycle of the lockscreen alternates between the two widgets.
Reason is, the default app widget is constantly recycled on screen power cycles, and in such events,
when checkAppWidgetConsistency() fails to add the widget (since the id is no longer valid), it toggles
back to the default status widget, and resets the stored id. Next cycle a new id is allocated and it works
and so on ...

This patchset addresses this issue by not removing the default status widget if not necessary, hence
preserving its id and fixing the toggling issue.

Change-Id: I6b21d18346fed5accc72141097939c92ee9aaa3c
Fix mobile data button in power widget.

Change-Id: Ide0417768350081250af24518b6831d70196ba73
JIRA:CYAN-1189
Fix dock battery tile display.

Change-Id: I624663149da1161c2cd4f4b20b388bd711d9883c
Merge "Fix dock battery tile display." into cm-10.1
AssetRedirectionService: Check for permissions before running dump()

Fix android.security.cts.ServicePermissionsTest failure

Change-Id: I9d629d19f3ff231db477d156c8bf557d4b8ee861
Merge "Fix ringer mode being unneededly changed by setting ringer mode volume to 0." into cm-10.1
Merge "Lockscreen : Fix widgets disabled" into cm-10.1
Merge "Check and fail early if requested wallpaper size exceeds maximum texture size." into cm-10.1
Close notification panel when swiping away the last clearable
notification.

Change-Id: I4e5114f66e799a7c80e18b38abce5678da460846
Merge branch 'cm-10.1' of git://github.com/CyanogenMod/android_frameworks_base into jb-mv