Themes: Update LoadedApk resources.

Instead of creating a new LoadedApk when resources are not up to
date, we use the existing LoadedApk but recreate mResources.

Change-Id: Ic1ad810863d03c2cedc751c9e84dd7c954daf3d7
PhoneStatusBar: Readd headsup view when theme change occurs.

Change-Id: I5bbfa56650a1b2f9cd9c4365650f769bed009ab0
Use ArrayListExtra for broadcasting theme changes [1/2]

Change-Id: I897cfbbe293b73f9e8f069f4b4cefa7c3ffb79ed
Modify config to support app specific themes [1/4]

Summary of Changes
1. The configuration now supports each app to have their own theme.
Each theme can include icons, styles (ie overlays) and font.

2. The theme config is serialized into a json string and stored
in secure settings.  This entry consolidates what was previously 3 separate
keys (style, icon, font) into a single field.

3. 'CustomTheme' was renamed to 'ThemeConfiguration'.

Note: This commit is for the configuration. Additional work needs to be done to
the framework and UI to support app specific themes.

Change-Id: I6f72f542829578201c57c54786456486f6a6e2e3
Add getThemedResourcesForApplicationAsUser()

Change-Id: I90b7cb441e4056f59b7260ffa55e31eba644e25a
Allow specifying a theme when creating a Context

A Context normally loads the resources associated with the given
package that this context is for.  This patch allows us to specify
a theme we want attached to a given context's resources.

Change-Id: I1e619f038566233bd89ee96eb8eb87fa6894e630
Use systemui's applied theme for notifications.

Notifications contain RemoteViews which are inflated using the
application's context for which this notification belongs to.  This
can look out of place if SystemUI is using a different theme than the
rest of the system.

This patch will use SystemUIs theme when inflating the RemoteViews,
giving us a more consistent look in the notification drawer.

Change-Id: I9514ce7fcc4858bad3d3c4190f55c1f5a1441d7c
BaseStatusBar: Dismiss heads up on backpress.

Change-Id: I5b6191657cf0b74d825eb653a6e82c33e0527aad
Fix translatability of External media format message

Change-Id: I10c76ff40012f982fd7b75ac383ad29a6e698179
MountService: Check for null pointer when looking for vold code

* There is actually no code path that will set an event into
  NativeDaemonConnectorException, so any reference to the event code
  will result in a null pointer exception, taking down MountService and
  the rest of the system with it.

Change-Id: Id62f724953aacc363b3455584c6a3ad1381c6138
Revert "listview: ensure active views are filled prior than scrap views"

This reverts commit 830a0024f1de9655d50c703ed1d10a81005db40e.

See http://review.cyanogenmod.org/#/c/67348/

Change-Id: I066e6ee8d9dc478c752ecfa161fd638bce7cee40
Fix setting change observing.

The observer doesn't deal with keyguard related options only.

Change-Id: Ib185662f4f8ca7508be3dce10091b5132aa823e1
Allow subclasses to override bindPreferences().

Allows them to modify adapter behaviour.

Change-Id: I6767e3988740b674fbdf40a903cd2ef3949ca7db
Themes: Style, boot animation, and wallpaper previews

Change-Id: I2b367bf5336c03f2a4972a05b68922065cd4a701
Fix crash in widget pager - DO NOT MERGE

Fixes bug 14299491

Change-Id: I3c94cbd7f7923dc5a429c9929bc432a5dd29d04f
KeyChain: add explicit package for getPrivateKey.

Bug: 9964538
Change-Id: If67c1938e9506d4fa81b241bcbce2193d1b194ef
Use the correct package name for CHOOSER.

Bug: 13013106
Change-Id: I1f715de18e7108274f5a98234376d48c2d329438
frameworks/base: Fix binder parcel leak with getMetadata() API

When VideoView calls getMetadata API of MediaPlayer, parcel object
is getting allocated by MediaPlayer and metadata is created over
parcel object. This metadata object is returned to the VideoView
which is being GC without calling recycle on parcel which was
creating leak in binder virtual memory.

CRs-fixed: 669303
Change-Id: I1e265909ee42d4fabd8b2552668b3d84af994294
server: clear forwarding rules when tethering is disabled

Since disabling NAT needs tethered iface's address info,
but sometimes the iface goes down before disabling NAT, this fix
just caches the iface's address.

Change-Id: Ie3f14093e8673c34821a3c86d1470c7dda3f3a42
CRs-fixed: 672354
Use a content observer for getting the default APN

Instead of executing a query of the database for the
default APN on every network state change, an observer
is used on the database to be notifited when the apn
has changed. This prevents unneccesary queries on the
the database.

CRs-fixed: 662137

Change-Id: I3155bd8b53a1877413ed54a861df1bfb1853b9e4