Fix ResourceNotFoundException when updating  applied theme

If the user has a theme applied and there is an update to that theme,
then the themed apps will crash. This is because the theme's APK path changes,
but the apps do not update their resources. Apps were not updating their resources
because updateConfiguration() determined that the config (which only has pkgName) hasn't changed.

The problem is fixed by first applying the default theme config and then re-applying the
updated theme.

SystemUI was crashing with a NPE while verifying this fix, so a NP check was added to SystemUI as well.

Change-Id: I00e32fc1535b4d279fcb37c35f868501ecc1dd19

Conflicts:
	packages/SystemUI/src/com/android/systemui/quicksettings/UserTile.java

(cherry picked from commit 59bbf0077664946920dd41293e66999909126ab0)
IconPackHelper: Respect the original size of bitmap icons

When use icon packs on low-resolution devices, for example, my HDPI
phone, it seems that using the size returned by
getLauncherLargeIconSize() will cause a blurness on
some icons that are not included in the icon pack because of the compose
function.

This patch respects the original size of the icon if the icon is an
instance of BitmapDrawable but use the size returned by
getLauncherLargeIconSize() if the icon is an instance of PaintDrawable.
This will remove icon blurness on low-resolution devices.

Change-Id: Ifcb39020d934a9c7cb409e1206a179d64f99aa37
(cherry picked from commit b0201db62168eef79e9b2119c38686f04937dd9a)
Allow 3 letter language codes in InputMethodUtils.

Replace locale.substring(0, 2) with a function that always
returns the first component of the locale (assumed to be the
language).

bug: 10090157

(cherry picked from commit cefc79c6b18bb2e824c299e7b9e212071e5ebc43)

Change-Id: I56b02dd0c6dc222daa3ceade841a30879449bb4a
(cherry picked from commit 811e17eccb08a3fbde3d22bb2762b7db0f3957c6)
SystemUI: fix torch toggle delay on boot

Change-Id: I7b1a1a310cf88fdde4250ae40643570016e1f380
Signed-off-by: Roman Birg <roman@cyngn.com>
(cherry picked from commit b601c88669d54220e55652feceef189acc97c9c2)