Fix possible NPE in SyncHandler.onBootCompleted()

If onBootCompleted() was called a second time, it would have throw a
NullPointerException since the queue object would have already been
set to null by the previous call. This commit just makes such an
object behave as an empty queue instead of throwing the exception.

Change-Id: I7ef82ba1e2504ceb0a2c11694d32f0588db7d0af
Themes: Revert "Send broadcast when package is 'about' to be removed"

This reverts commit 238e80a5c7edcb922ce15feebec74ea2475c31cb.
This was a band-aid that is being fixed in a future commit.

Change-Id: I89a928e2fd9cff2b1992a6e85eb5c96c5b8b9b0e
Automatic Translation Import

Change-Id: I35b5cce6e47d9d765b5cc8dbc48bb16e1c4c3d4b
Merge "Themes: Revert "Send broadcast when package is 'about' to be removed"" into kitkat
Themes: Partial change: Use ArrayListExtra for broadcasting theme changes [1/2]

Change-Id: I897cfbbe293b73f9e8f069f4b4cefa7c3ffb79ed
Merge "Themes: Partial change: Use ArrayListExtra for broadcasting theme changes [1/2]" into kitkat
Themes: Style, boot animation, and wallpaper previews

Change-Id: I2b367bf5336c03f2a4972a05b68922065cd4a701
Merge "Automatic Translation Import" into kitkat
Merge "Themes: Style, boot animation, and wallpaper previews" into kitkat
SystemUI: Display Pie in forced immersive mode

When an app developer decides that it is needed, immersive mode can be
turned on by the app. Prior to this commit, the stock navigation bar
was always shown when it was done. This commit creates a special
immersive mode (forced immersive mode) which is enabled when an app
requests immersive mode (status bar and navigation bar can be hidden)
if the user has chosen to use Pie prior to this. This mode then makes
Pie appear instead of the stock navigation bar.

It should be noted that this also introduces a minor issue when the
user turns off the standard immersive mode as when doing so, the new
forced immersive state is enabled until the QS panel is closed/swiped
up, after which the system automatically switches over to the fully
disabled state. This is caused by the QS panel still appearing to be
immersive to the system. It can be seen on the other side of the QS
tile as it will say "Forced" for the new special immersive state and
"Disabled" for the fully disabled immersive state.

Change-Id: I7beaaa5771f97de187c506cfa2547c52f084b51f
Themes: Add method to "apply all" a theme

Change-Id: Ic8feaeade6c52707e6b5b17921b1b577b94ec8cf
Themes: Add URI for querying previews of applied components.

Change-Id: I97417901f3b03fc82df5a823970991ddd8092df2
QS: Link the screen timeout tile to the settings

This commit simply makes long-pressing the back of the sleep tile (the
screen timeout selection part of the tile) start the appropriate
settings activity (Display settings). This matches the behaviour of
most other QS tiles where there are additional settings screens.

Change-Id: Ia36764f1a606cd3166a11516fe3709ce9bffd125
Themes: Make notification list bg themeable

Thanks Thomas Ekelschot :)

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
Themes: Allow theming navbar bg color

Change-Id: I256afc30fc018ea752769029c5246bc7310c23a6
Merge "Themes: Make notification list bg themeable" into kitkat
Merge "QS: Link the screen timeout tile to the settings" into kitkat
Merge "SystemUI: Display Pie in forced immersive mode" into kitkat
Merge "Themes: Allow theming navbar bg color" into kitkat
QuickSettings: Refresh RSSI tile on tap

When tapping the RSSI tile to disable mobile data, the indicator
would not show immediately because the view is not updated until
the next signal refresh.  Refreshing on tap makes more since so
that the user sees instant feedback.

Change-Id: I70d3e08e9a4af4f5d764d8c90cbaf944f4f25139
Signed-off-by: Evan Anderson <evan@thelinuxman.us>