FW: Update battery
Camera button rebinding and lockscreen action additions (1/2)

Adds new config_deviceHardwareKeys bitmask for camera button.
Lets you rebind the camera press/longpress and adds a new KEYCODE_CAMERA handler to inject a longpress KeyEvent
in order to let you bind keys to actually trigger the shutter, in addition to launching the app itself.

This also adds KEYCODE_ASSIST and KEYCODE_APP_SWITCH to the available keys to assign longpress lockscreen actions to.

Change-Id: I63583dbbaa0f6a3d21724f4948f86bb01e44b71b

Conflicts:
	core/java/android/provider/Settings.java
	core/res/res/values/config.xml
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Validate restored file paths against their nominal domain

Bug 8460775

Change-Id: Ib16d740a001adf4f9cb9ccaa31066ac7cadfb430
Ensure install-during-restore is like install-then-restore

When we've installed an apk from the archive, recheck whether
to apply the system-uid policy restrictions around file system
restores.

Bug 8833099

(cherry picked from commit 2baf6dcfcf7fc1705db25e64dc0cb11fa3509d39)

Change-Id: I972fe1543f2234aa76baf562d6f806175ac0248e
Add a delimiter between scheme and host

Bug: 6923539
Change-Id: I49aac145e8e80a5af7475cfe93ef4a353d2d3fe6
libdrm: fix bad strncpy / snprintf calls

Fix the following bugs reported by IOActive:
* GOOGLE-AN01 - Android libdrm drm_parseDM.c Boundary-CRLF Buffer Overflow
* GOOGLE-AN02 - Android libdrm 'drm_parseDM.c' contentType-CRLF
		Buffer Overflow
* GOOGLE-AN03 - Android libdrm drm_parseDM.c contentID-CRLF Buffer Overflow
* GOOGLE-AN04 - Android libdrm 'parser_dcf.c' Multiple Headers
		Buffer Overflow
* GOOGLE-AN05 - Android libdrm 'parser_dcf.c' ContentType Buffer Overflow

Bug: 8727221
Change-Id: If386922e907567f54e26897beffaa1cfe4777896
HALO: show halo button in pie

Change-Id: I858ec08837559f4b2806df0ac68b8a703189b1db
Prevent notification acces via HALO on protected lockscreens
Don't show pinned Halo))) apps on PIE (hide count, icons and text)
Enable Bare style PIE on protected lock screen
Frameworks: SlimPIE extended (1/2)

This commit introduces SlimPIE. A very popular feature which
was till now for us no point to integrate it because it did
not fit our concept. Now I found a bit time to program a PIE
which is much more extended then the usual kanged PIE on
most roms but still resource friendly. At this point
many thanks for the great basic idea to PA and the work
from Jens Doll from CM. Based on this ideas SlimPIE goes
it's way now.

@kangers....we would like to see if you can wait till we
released this feature this week.  Thanks a lot.

Features of SlimPIE

- custom Buttons (user can choose between 11 different default actions (like navbar/hardware key bind)
  + custom app/shortcut for every button
- custom longpress action for every button (user has  same possibility like the normal custom Button)
- button quantitiy up to 5 buttons (so 5 + 5 longpress actions are possible)
- selectable trigger positions + trigger width (with optical help to set up)
- turn off text and status information + abillity to hide statusbar information which are redundant
- turn off snap points
- turn off background
- ability to use SlimPIE only on expanded desktop as well as using it always
- integrated logic disable triggers which can conflict with system actions
  (like statusbar or navbar.....SlimPIE detects if one is present and turns this edge off
  temporaly)
- same for snap points
- option to disable bottom trigger and reduce left and right trigger when
  IME keyboard is active

Style feature:

- button color + transparency
- button pressed and button longpress color + transparency
- button outline color
- snap point color
- text color
- background color + transparency
- for every shortcut user can choose a  custom icon from gallery
- custom icon color
- custom icon  color mode (only system icons eg or gallery icons + system icons or all icons)
- Pie size

Also it is possible via overlay to set a minimum, default and max trigger height
due that some phones need a bit adjustment on that (this setting reflects on
the trigger seekbar in settings user can adjust)

Screenshots:

https://dl.dropboxusercontent.com/u/106208842/use_it_for_app_shortcuts.png
https://dl.dropboxusercontent.com/u/106208842/other_colors_or_icons_no_problem.png

Last PatchSet:
- reduce trigger sizes and disable bottom trigger if IME shows up
  optional in trigger settings, default value is on
- DEBUG mod fixes
- autoHide feature worked in
- string corrections
- some minor fixes

Change-Id: I9bcc88375bbd770b0f5bd24fc84aaf7cdbf17238

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/res/values/colors.xml
	packages/SystemUI/res/values/dimens.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/CircleBattery.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/SbBatteryController.java
Frameworks: fix possible NPE

due a race condition this can happen....prevend it

cheers

Change-Id: I65222389c6b0beecaebed915644ab5e800c5f119
Frameworks: Race conditions can be funny

especially on slower phones. Whatever this commit
changes the disable logic for PIE on lockscreen.
With this correction SlimPIE is now unbreakable
lmao

cheers

Change-Id: I442f771b57f1cbeb661418dea17ca0f4362428c5

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
Frameworks: kufikugel should not work with headaches

small correction....now all triggers are disabled on
Lockscreen like it should

cheers

Change-Id: I33b23e082135662635eb304726ae075ad26a1f41

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
Frameworks: Fix SlimPIE mirror

as reported on the right edge the buttons are in wrong order. This
commit fixes this.

Change-Id: I365cbc857fd3492632bfe4b5b34abe2321b4006b
Frameworks: SlimPIE the second (1/2)

This commit changes the following:
- add possibility to set trigger height on the left and right trigger
- add possibility to set gravity on the lef and right trigger
- change touch detection logic and calculation (it shows now up immediately...super fast :p)
- reduces values in dimens.xml because of the new touch detection much lesser are needed
- remove on settings the shown values on the left @seekbar on entries where it does not make sense
- reset option for trigger dimensions
- minor string changes
- cleanup
- minor bugfixes

for me it is now like a PIE should be lol

IMPORTANT FOR ALL DM'S:
I reduced the dimens.xml to values which are for most of our phones good
to go as default value (tuna, crespo, nozomi, grouper can handle even lower
values (3dp) which the user can set of course). d2 and other should be fine as well
with the default value. sgs I series I think need an overlay to push them
a bit up. Please test and submit your overlays to our gerrit.

cheers

Change-Id: I4434f54c0ef858b239c112e8071b677d3bb519d8
Frameworks: SlimPIE second layer (1/2)

I promissed yesterday to stop working on SlimPIE....but due
team and user whishes I decided to do a last tweak so that
all are happy.

This commit introduces the following:
- enable second buttons row
- up to 7 buttons + 7 longpress buttons
- usual customizations on that buttons
- means it is possible to add 5 + 5 on first row and 7 + 7 on second row
- resource friendly...reusing most of present code
- new introduced observer for second row is just
  observing when second row is really enabled
- due optimizations we can hold the speed and responsive we
  introduced yesterday on same level
- reduce default size back to 1
- some minor changes

Now SlimPIE is finished

Screenshots (first shows default values for first and second row):
https://dl.dropboxusercontent.com/u/106208842/Screenshot_2013-05-01-02-30-47.png
https://dl.dropboxusercontent.com/u/106208842/Screenshot_2013-05-01-02-36-25.png

cheers

Change-Id: I0362649d4b275cef4ce0823e6bdf965abcc59601

Conflicts:
	core/java/android/provider/Settings.java
Reduced padding on pie to screen edges

Change-Id: I179e1dd1a5020c02fa489539c841f603519b42bf
Fix: reported back button custom Icon issue

recents custom icon replaced the back button custom icon

Change-Id: Ib8c3008b6cec6f6d18bafd710e790d0e329c7a23
Fix: reported disable redundant statusbar information

Current state we introduced with first SlimPIE patch is that
if the user disable statusbar information (clock/date/airplanemodeicon)
that it is always hidden...even if the user set SlimPIE to only on
expanded desktop mode. That is not consistent and some user
wonder why the do not have this information any more in normal mode.

This commit fixes this.....respects also the expanded mode hide
only navbar.....as well a small cleanup from old battery code.
Airplanemodeicon hide I removed from redundant hide information now....
to change that on the fly would need an observer and a bit code rearrange
which does not fit the use compared to the resources we would use then.
Beside that all other icons are as well shown because our PIE does not
show signal strength etc.

Cheers

Change-Id: I53f1fed10a13551e7642e5b00c1d3b88a9622ab0

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/CircleBattery.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/SbBatteryController.java