Revert "fb: TRDS 3.0 and new theme engine preparation (1/4)"

This reverts commit 75c31ca885820ffe75807e98d94275e82a703679.

Conflicts:

	core/res/res/values/strings.xml
Revert "PackageManager: Prevent themes from going into ASEC containers"

This reverts commit 1e1595da667d0cc3ede1fdc80891acea52b38ed3.
Revert "ResourcesManager: Fix theme insertion at boot"

This reverts commit 1754824eeadecab240949c2b0f30db8290a943ce.
Revert "Check themes of current user, not user 0."

This reverts commit d99f742eafb6249e17d860d7d65be04f4a517d9c.
Revert "Fix theme provider crashing for non-primary user."

This reverts commit d84042c42b904ee18ec406563167d4619da34eda.
Revert "DERP!"

This reverts commit d645c45cfabfbc69982d64f04c6a682fea2f0393.
Revert "Squashed commit of the theme engine support."

This reverts commit e48f02d64182a614b518bc3b8bf2f0fcebd4ae90.
fb: TRDS 3.0 and new theme engine preparation (1/4)

For the one who do not know this feature see as reference
the first two versions here:

https://github.com/SlimRoms/frameworks_base/commit/b330fde28306286572ba390e451a72539c0c3576

https://github.com/SlimRoms/frameworks_base/commit/3194015737b7944b4185fca007b8d167a0675cd8

we got now over a year now a lot experience how to handle the qualifier fallback
as well how to theme it and how to handle other apps. Based on this knowledge we
redid some parts of TRDS engine with following new features/additions and fixes
to have now a final perfect working TRDS

- compared to the old versions where it was needed on some apps to restart them
  in background this is not needed any more. All is handled about the internal
  AOSP resource handling and on qualifier change the caches are cleared
  and the apps get an onconfigurationchanged to restart the activity
  like it is doing on orientation change eg
- inverted folder is now depreciated and the new folders are holodark
  and hololight which allows on the one hand a dark theme (at least
  how TRDS started) and a light based theme hololight
- This name change is mainly because of the new theme engine which
  will come which uses this as base to add 2 external themes at the same
  time and give the user the ability to switch between them. But this is
  still in early stages and this commit is just the preparation for it
- Two new automodes are now integrated. User can enable the twilight modus
  which enables/disables holodark/hololight depending on the daytime...means
  on the evening it switches to holodark on normal day it is hololight.
  The other automode is based on light conditions....means that if it is
  dark outside it switches to holodark....if we have bright light conditions
  it switches immediatelly to hololight. Due of the resource cache handling now
  this happens immediatelly for the user and feels completly system integrated
  and happens without delay. A bit comparable to some navigation tool for cars
  which can switch automatically from dark to light and back
- currently the auto modes as well the manual mode switches between holodark
  and hololight. Due that we do not have currently anything hololight themed
  in the source hololight = stock theme. We will give the user the ability
  later when done to choose between which modes the user want to switch
  (stock/holodark/hololight). But this does not make sense at the moment.
  As soon as we have done the light theme or theme engine (lets see what
  comes first) we will open the ability to choose it. This is only a small code change
- a lot small tweaks and fixes went as well into the new version

Whatever this commit as usual adds the support for it. The themeing is done in the
other commits by kroz which is as well way more extended then on the older versions

cheers

PatchSets:
- minor code cleanup

PatchSet5:
- use one value for auto modes

PatchSet6:
- kill resource caches on configuration change

PatchSet7:
- register settings observer lol

PatchSet8:
- fix not assigment of config mode change (typo lol)

PatchsSet 9 -11:
- playing around aosp qualifier is not that flexible then I thought
whatever back in most parts to original implementation handling

PatchSet 12:
- now no restarts of any application needed any more like it was on 4.3...yeaaah
- fix wrong shifting in native adapter
- fix wrong call of twilightmode
- disable debug
- cleanup

PatchSet 13:
- fix lightsensor

Patchset 14:
- no need currently to recreate the navbar we can do if a theme needs it

Patchset 16:
- synchronize on sending config change
- only send if system is ready
- fire first update when system is ready

-rebase

Change-Id: Ic88838247c47d2a92b55d1cb1b00330f2d62fb88
fb: TRDS dark base theme

Change-Id: Ie25abfbf5258ac479ca8bc91033f6892bbbc6741
trds:[framework] dark images adjustments

Change-Id: Ie038c4a1aa535708c23f099fb5e836407e3d1603
TRDS: Dark DocumentsUI

for Downloads app

PS:
- fix settings

Change-Id: I87d49e97b8a0a67bd4d85f0137eb0960155428cb
fb: add theme switch (TRDS) to navbar and navring

and show toast if a mode is running wich does not support
lightsensors

- rebase

Change-Id: Ie89589e1e0343e734728f0db00171a4e137370bb
fb: TRDS some tweaks and fixes (1/2)

some smaller issues fixed and optimizations:

- fix twilightmode was wrong assigned to wrong value
- ligtsensor mode after first immediattely switch it does
  not allow for 5sec to switch again....after the 5sec it switches
  to current state if the sensor changed its state in this time.
  This prevends on the one hand on bad light conditions a permanent
  switch between dark/light as well it does not bring the system into
  troubles due of to much configuration changes at the same time
- get rid completly of the observe for the UI_THEME_MODE value and
  handle all over the UIModeManager
- adapt slimActions and settings to this new behaviour/method
- some cleanup and minor fixes

Change-Id: I4b2401bf7bef992ad3112ae5ccc852cd29b46bd0
trds: improve dialogs and menu popups

Change-Id: I54da4ac0236dfe16ee964ccb070944206d0544e2
fb: fix reconstruct statusbar illegal argument exception

Finally I got a logcat what is happening in rare cases. If the reconstruct
happens during a notification ticker was send it returns a negative
width value for the static layout and systemUI crashes.

E/AndroidRuntime(  970): java.lang.IllegalArgumentException: Layout: -23 < 0
E/AndroidRuntime(  970):        at android.text.Layout.<init>(Layout.java:138)
E/AndroidRuntime(  970):        at android.text.StaticLayout.<init>(StaticLayout.java:104)
E/AndroidRuntime(  970):        at android.text.StaticLayout.<init>(StaticLayout.java:90)
E/AndroidRuntime(  970):        at android.text.StaticLayout.<init>(StaticLayout.java:68)
E/AndroidRuntime(  970):        at android.text.StaticLayout.<init>(StaticLayout.java:48)
E/AndroidRuntime(  970):        at com.android.systemui.statusbar.phone.Ticker$Segment.getLayout(Ticker.java:72)
E/AndroidRuntime(  970):        at com.android.systemui.statusbar.phone.Ticker$Segment.getText(Ticker.java:91)
E/AndroidRuntime(  970):        at com.android.systemui.statusbar.phone.Ticker.addEntry(Ticker.java:226)
E/AndroidRuntime(  970):        at com.android.systemui.statusbar.phone.PhoneStatusBar.tick(PhoneStatusBar.java:2862)
E/AndroidRuntime(  970):        at com.android.systemui.statusbar.phone.PhoneStatusBar.addNotification(PhoneStatusBar.java:1432)
E/AndroidRuntime(  970):        at com.android.systemui.statusbar.CommandQueue$H.handleMessage(CommandQueue.java:322)

to avoid this check before a new StaticLayout is constructed if the width is < 0 and if this
is the case abort the operation. This is in this case a legit way due that the notification
gets reconstructed during this process later so or so

Change-Id: I6ed68bbb9226101d3573f3d76deb793ddae69627
WifiController: fix high perf lock sometimes not respected

When the device screen is turned off, the state is DeviceActive for
15 minutes. In this time, high perf lock is not respected and
Wi-Fi power-saving mode will be turned on because screen is off.

Fix by adding a new DeviceActiveHighPerfState.

Change-Id: I71074beec4d41286dea0861107d7931da205aca2
JIRA: CYAN-2860
fb: fix possible NPE on power key handling

fixes reported NPE which can cause SoD

E/InputManager-JNI(  805): An exception was thrown by callback 'interceptKeyBeforeQueueing'.
E/InputManager-JNI(  805): java.lang.NullPointerException
E/InputManager-JNI(  805):      at com.android.internal.policy.impl.PhoneWindowManager.interceptKeyBeforeQueueing(PhoneWindowManager.java:4185)
E/InputManager-JNI(  805):      at com.android.server.wm.InputMonitor.interceptKeyBeforeQueueing(InputMonitor.java:357)
E/InputManager-JNI(  805):      at com.android.server.input.InputManagerService.interceptKeyBeforeQueueing(InputManagerService.java:1351)
E/InputManager-JNI(  805):      at dalvik.system.NativeStart.run(Native Method)
E/InputManager-JNI(  805): An exception was thrown by callback 'interceptKeyBeforeQueueing'.
E/InputManager-JNI(  805): java.lang.NullPointerException
E/InputManager-JNI(  805):      at com.android.internal.policy.impl.PhoneWindowManager.interceptKeyBeforeQueueing(PhoneWindowManager.java:4185)

Change-Id: Ia0aa32c5472d0381d629a83492b42dec419b840e
Fix appwidgets not updating

Previously there was a bug where if an appwidget's update caused a
TransactionTooLargeException then the AppWidgetServiceImpl.Host's
callbacks were completely disabled, for all widgets.

The fix still allows a DeadObjectException or other RemoteException
to disable the host callbacks, as that would be caused by a bad host.

Fixes issue 28216 on the public tracker
https://code.google.com/p/android/issues/detail?id=28216

Change-Id: I5c5d5939d7211ed23cca69e6674de730b51b0f3e
Signed-off-by: Kevin Barry <kevin@teslacoilsw.com>
Prevent nullPointerException by updateBondedBluetoothDevices

In some very rare cases difficult to identify, it seems that the
IBluetooth.getBondedDevices() returns a Set with a null element.

This patch will prevent calling getBondState() if the device is null to
avoid a nullPointerException.

Change-Id: I9bcad60c37e03c77ec39227e5c947c002a3ae2c7
Orig-Change-Id: I8845f0e6b8fdcda679bc71e2b5c33fd4a52f3ac5
Signed-off-by: Patrick Combes <patrick.combes@intel.com>
Reviewed-on: http://android.intel.com:8080/116592
Reviewed-by: Bondier, CedricX <cedricx.bondier@intel.com>
Reviewed-by: Chen, HuaqiangX <huaqiangx.chen@intel.com>
Reviewed-by: Yao, Yong <yong.yao@intel.com>
Reviewed-by: Aquilone, RaffaeleX <raffaelex.aquilone@intel.com>
Tested-by: Lestienne, ChristopheX <christophex.lestienne@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
Signed-off-by: Jian Luo <jian.luo@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 90085
NPE in SearchManager.triggerSearch

mAssociatedPackage field is never initialized and cause NPE.

Change-Id: Ibf0d44b2170b7cbfe4a883008254a086e03579c5