SystemUI: Restore bounds when loading new gradient

This fixes an issue introduced with the reloading of the nav bar
transitions after a theme change in Change-Id: I256afc30fc018ea752769029c5246bc7310c23a6

Change-Id: I648039506b826583d554b2a0cf4f6ab9a9bb1de8

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/BarTransitions.java
Add SET_WALLPAPER permission to SystemUI

If an exception is thrown in updateWallpaperLocked, a call to
WallpaperManager.clear() is made.  This requires the SET_WALLPAPER
permission and will throw a SecurityException if that permission
is not granted to SystemUI.

Change-Id: I61811b65dcfe8b15f0e9030f7aa6d1dc09cea351
ChooseTypeAndAccountActivity: Fix the Null pointer Exception of monkey test

ChooseTypeAndAccountActivity crashed during monkey test, due to Null
pointer exception occurred.

To fix this issue, Add Null pointer check before we use it.

CRs-Fixed: 478250

Change-Id: Iae3e331edfda238ecb0c6d5d32b15329b1dfee0b
Themes: Allow theming navbar bg color

Change-Id: I256afc30fc018ea752769029c5246bc7310c23a6

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/BarTransitions.java
Themes: Make notification list bg themeable

Thanks Thomas Ekelschot :)

Screen of themed resource https://imgur.com/c8t1Zn0

PS2: Add Clark's proposed changes
PS3: Cleanup old color resource in main xml
PS4: Add informative screen

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
Change-Id: I8eb4427747c3eb035b416860c3ca47122e45c16f
IconPackHelper: Don't respect an icons original size if too large.

  - Otherwise, if an application isn't following app icon guidelines,
  it can create an OOM situation when creating the new icon based
  on the original resource's height and width.

Change-Id: I9430445da5e393cdbf76ed9ebd9698bf30df6a95

Conflicts:
	core/java/android/app/IconPackHelper.java
Themes: Whitelist animations

Change-Id: I981a8e4741cf03d8649bc4828e597d1a7035e080
Load original drawable if cached icon throws NotFoundException

If for some reason we get a NotFoundException while trying to retrieve
a cached icon we will attempt to load the original.

Change-Id: I36a708d3e653fed12e88fe93c6d0a7f8e46726c9
WallpaperCropper: fix lockscreen wallpaper "Set wallpaper" string

The string is wrong and does not reflect the correct action the user is
about to apply.

Change-Id: I91eba87a38546563d6cf88138a0ed07219ec794f
Signed-off-by: Roman Birg <roman@cyngn.com>
SystemUI: Separate system bar BGs for themes

This commit separates the navigation bar background colors from the
status bar background colors which allows more modular theme-ability.
Backwards compatibility for the old system bar values is still
preserved, but the new values are to be prioritized.

Thanks to Arz Bhatia for the suggestion.

Change-Id: Ibe579d16ea35ca5bdcfe9f98143c3f91cd24900f

Conflicts:
	packages/SystemUI/res/values/oct_attrs.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/BarTransitions.java
Framework: Make the dialog divider color themeable

The holo blue color might not be suitable for some themes. This commit
swaps out the background of all titleDivider elements to use another
resource. This has no difference from the perspective of the user of a
"stock" build but this is huge for theme users.

Thanks to Arz Bhatia for the suggestion.

Change-Id: Icb917220accac3ad38770067120a7b1be894961a
Move 3rd party wallpaper pickers to the front

This is a feature request from Steve so here you go!

Change-Id: Iac6a26c7b51752d65026a871712c3590caa926d9
Include default wallpaper in LockscreenWallpaperPickerActivity

Change-Id: I0e3d46688bdb257bc32e10d9255dfc4fbf7beb4c
Add navbar background preview to ThemesContract

Change-Id: Id3ed43c86649b1757fec7f3fc7dee2d2730258e2
Fix: wallpaper changes when changing lockscreen WP

Since LockscreenWallpaperPickerActivity did not override
cropImageAndSetWallpaper the homescreen wallpaper was changing
when selecting the default_wallpaper resource.

Change-Id: I26dd28e628a3ef701ad92a81aa80327d3ccba092
Add column for tracking when a theme was installed

Change-Id: Ie8d13aaaf968c21d765062ae598fdac62caa7b2d
Revert "IconPackHelper: Don't respect an icons original size if too large."

This reverts commit bae48129e5233f9b6f2ca3850ec0ca5540568a93.
Themes: Pass resource IDs instead of bitmaps [1/2]

Rather than passing around bitmaps in the ComposedIconInfo we
can pass the resource IDs associated with each of the components
and retrieve those drawables when composing the icon.

Change-Id: If855e60e505571f25316e6728e423fbee62c32d3
Themes: setUserRequired(false) when updating audibles

This prevents the following exception
F/Environment(18007): Path requests must specify a user by using UserEnvironment
F/Environment(18007): java.lang.Throwable
F/Environment(18007):   at android.os.Environment.throwIfUserRequired(Environment.java:787)

Change-Id: Ic6ac7537079ed27912c40683c877e05992b708e9
Themes: Build icon cache when applying icons

The theme service will schedule building of the icon cache when
an icon pack is applied.  This will allow the icon cache to be
populated immediately after icons are applied rather than build
it up as icons are requested.

Change-Id: I453eda5f6298ff79e22827c622a0eddcab9c721d