Catch up on legacy support commits (Credit CM)

Fix unresponsive home key after waking device with a long press

With the lockscreen disabled mHomeConsumed would not be properly set back to
false upon releasing the key, causing a subsequent press to perform no action.

Change-Id: I38eeba5850c2f0474cc4cca82a9dcbf17afa4665

Camera: Add support for QC camera features.

Added APIs and keys for all QC features. This
will enable application to get/set paramters.

Change-Id: I58a53c7b9133a3acddc34b268dac086c9562d533

Camera: Video HDR Feature Integration.

Added framework support for camera applications to query supported
video HDR modes and set the required mode.

Change-Id: Ie318e586838a2f035e59e30fa51af35b52f7c886

Camera: Adds support for meta data callbacks

- This change adds a new type of callback
  that will be called when there are pending
  meta data notifications.

Change-Id: I84f5cbafe4f023c7b0efa9ec8620756b0eaa428d

Frameworks: QCFace framework added

Add framework support for extended face detect

Change-Id: I2a1c477ee6d11f2b9764966abbb85ede9100fe91

Camera: Adds support for longshot configuration

- The Camera API is extended with one additional
  call for longshot mode configuration.

Change-Id: If3bcad003facae22ec2bd690480dc3db63f0b28a

Frameworks: Enhance face detection

Add support for facial processing features:
smile detection, gaze detection and blink detection

Change-Id: Ic186ff0658e755a8b5287cffa1dd58d9eafebc9a

Fix compilation for non QCOM hardware after 'Enhance face detection' commit

Change-Id: I337a7a2e8b124aac76f52abcc0edd8af9b0b0e29

MediaRecorder: add pause interface

--add pause in java level
--add pause in jni level

Change-Id: I7f2d5d5ebb97716458b55a5780fd6cc3d09e9f11

Frameworks : Fix face detection

I337a7a2e8b124aac76f52abcc0edd8af9b0b0e29 introduced
the ifdef's at the wrong location. This patchset addresses it.

Change-Id: I6b19fb96076bdc62b2ca57d1ccaf97f0cb901d67

DeviceKeyHandler : Allow handling keyevents while screen off

Some devices require the keyevents to be processed while the screen
is off, this patchset addresses that by moving the filter up in the call
hierarchy.

Change-Id: If71beecc81aa5e453dcd08aba72b7bea5c210590

Squashed commit of audio changes from CodeAurora

MediaFile: Add DIVX and MPEG2TS file format

Change-Id: I9f8cfbe8138c6d3d0d824bff2542b91d72a06b82

audio: Define ANC headset and proxy device

Change-Id: I681d73433d874ec66ec0b1f1f39869008d7d7d0d
(cherry picked from commit 1e6c410eadfc510a9f116bb3da142214fe761225)

audio: add support for QCOM WiFi display

- Define QCOM WFD intents
- Register and handle WFD intends in AudioSystem

Change-Id: I1e5a73d4aa5595bed44d24652647c12b7ef4ae1f

audio: add support for QCOM audio formats

- Add support for EVRC, QCELP, and WMA formats

Change-Id: If3676b88fa287b484ef8616c0a6b67177b61a720

PhoneWindowManager: Changes for WFD.

- WFD now sends WIFI_DISPLAY_VIDEO intent to set UI orientation.
- PhoneWindowManager to listen for WFD intents.
- Display on WFD should be same as seen on the HDMI, so set the
  orientation to HDMI orientation

Change-Id: I638adaa906e2151b1c6ae496343714fe828f5dbd

audio: add support for QCOM vocoders

- Add support for EVRC,QCELP and other
  QCOM vocoders

Change-Id: I9b2a18fe7d01a9198eb470e94e7176b7a6da2c7c

Conflicts:
	core/jni/android_media_AudioTrack.cpp
	media/java/android/media/AudioRecord.java
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

base: fix constant conflict

There is a conflict 2 media type which shares the same constants which is a DVIX and JPEG.
which causes some app to think jpeg is a dvix video file
It was due to the merge of the qualcomm patches (patch: http://review.cyanogenmod.org/#/c/28960/ ) which was merged on the 23rd

Change-Id: Ida014adab4a954aa81a16d1ff401f9847f87d1a5

frameworks/base: Add changes for Incall Music Delivery

- Add Flag and Stream type required for incall music delivery.
- Add Tone types for ToneGenerator

Change-Id: Ic05cd1af1172dda3c527af826c6e9a48d6ae20d5
Fix App Ops permission mapping structure.

The entry to map the post notification op
to a permission is at the wrong offset
within the sOpPerms array. This patch
fixes the issue.

Change-Id: Ia241d274e484b6a24edbfb17b87bb887b61f1ee1
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
Regenerate all the OpenGL stubs.

Bug: https://code.google.com/p/android/issues/detail?id=60390
Change-Id: I2e6f210178f656a5f08a1fcd4239581d680329a6
Smooth Spinners: Makes the loading "spinner" animation smoother in non-holo apps

The loading "spinner" animation is quite jerky by default when the progress xml's from
drawable are called in applications that don't use the holo progress animation. The holo
"spinner" animation is already smooth by default. This makes every other "spinner"
animation smooth.

We've been changing this value in all ROM's we release, both AOSP and CM based ones
as well as stock ROM's, since it gives a more polished look to the entire system. In the past
3 years we've been using this small tweak we have not noticed anything that would
adversely affect battery life or system operations as a whole.

Rebased to cm-10.1 by Kristof Petho

Change-Id: I617d197c2ff4f1a27e96dbc206c24c27036e18d6
Highlight the clear button in the recents view when clicked

This commit also makes copies of the ic_notify drawables for the recents
panel to avoid any collisions with possible future changes to the
notification bar UI. (The pressed state drawable was already an unused
leftover resource).

Change-Id: Ib0d5982e80771b6639efd25ac792ebfe9f1ca1c5
Adjust recents clear layout

Change-Id: I2e02f45d0d329fdaa45c911d7a70dcb960bafcef
Active display (1/2)

Add active display to ChameleonOS [1/2]

This is the ChameleonOS implementation of the active
display feature, similar to that found on the Moto X.

When enabled the screen will turn on and display the
incoming notification.  The user can then open the app
for the notification, dismiss the notification or unlock
their device normally.

Additional notifications, if any exist, will be displayed
below the ring notification and can be viewed by touching
the notification icon.  The user can simply slide their
finger across these other notification to quickly view
them.  The last one touched will remain in the ring and
the user can then perform any of the actions listed above.

PS2-PS12:
All the changes that brought us to this current implementation.

Change-Id: I51c17cec33b65dc60111a10c5ca2c449596ebe63

Conflicts:
	core/java/android/provider/Settings.java
	core/res/res/values/dimens.xml
	core/res/res/values/symbols.xml
	packages/SystemUI/AndroidManifest.xml
	packages/SystemUI/res/values/dimens.xml
	packages/SystemUI/res/values/styles.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/tablet/TabletStatusBar.java

Conflicts:

	core/res/res/values/dimens.xml
	core/res/res/values/symbols.xml
	packages/SystemUI/AndroidManifest.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

Correct active display settings naming

Change-Id: Ibfa2d41eed01d8987df52f013b111a0ce4e70739

Active display: Add options for date and am/pm [1/2]

Change-Id: Idc09772829cc6aa9bcfb064459fb3557c7b37f6b

Fix active display.

Active display: Add sunlight mode. [1/2]

Change-Id: I541e74c5a1a7e6ce5028ab00cf998bba1d4fe0f9

Delay hiding systemui by 100ms
When disabling the keyguard, the systemui visibility is
changed and can occur after we hide it so delaying this
a bit resolves that issue.

Change-Id: Iad432f75195983837d643fa38495e6beb54f3e22

Active display: make sure mNotificaiton is set correctly

Change-Id: I4111ca843e340cca4d6dac4b2c2922ce3039e487

Active display: register/unregister recievers and listeners when enabled/disabled

Change-Id: Ic73e63da2c9634bc864ab1a1387eb9145eb0b5b0

Active display: Unify (un)registering callbacks and add proper checks.

Change-Id: Ie4c4660a54d2c60831f7a3bcc66b3a9ca1d035f2

Active display: Fix for HDPI devices.

Thank's to @AlmightyMegadeth00 for the tips...

Signed-off-by: aways <aways@c-rom.biz>

Active display: allow hiding low priority notifications. [1/2]

Change-Id: I4831d6864b509e62b449c25619c59f5d6760ec47

Active display: Enable proximity sensor only when screen is off

This should ease people worried about cpu usage of the proximity
sensor while the screen is on.  The sensor listener will only be
registered when the screen goes off, and both active display and
pocket mode are enabled.  Once the screen turns on this listener
will be unregistered so no further updates are received when the
sensor values change.

Change-Id: I70979b5931815adb74bd8bc42e32886a6d829a12

Active display: Use a default notificaiton icon.

In case there is an exception when trying to load the
notification icon we will use a default one.

Change-Id: I4087ef3e407cf976f7bfb2bb89f850641101bc73
Quick Settings: Swipe to switch

Original Commiter: ThiagoVinicius <https://github.com/ThiagoVinicius>

Ported from Carbon Rom by David96 <xd_e-mail@gmx.de>
===

Adds the ability to switch to/from Quick Settings, using a sideways
swipe gesture.

Video demonstration: http://www.youtube.com/watch?v=jZaDVBIFAuA
(Video for the initial Patch Set only)

Patch Set 2: Flip animation follows your finger
Patch Set 3: Fix commit message
Patch Set 4: Fix commit message (again)
Patch Set 5: Pin down the statusbar during swipe
Patch Set 6: Smooth out animation after releasing swipe
Patch Set 7: Swipe in any direction to switch views
Patch Set 8: Ensure the statusbar is properly pinned down
Patch Set 9: Fix logic and event handling issues
Patch Set 10: Refactor for readability
Patch Set 11: Limit swipe detection to the bottom bar

Change-Id: I652fa4023bc5dcb03805f70f2a1e3a7817a7f930
Squash Dark UI commits from Slim

Frameworks: Add new configuration qualifier for UI change on the fly (1/3)

last night I got an idea after 5 weeks of breaking stuff and
doing to much complicated things. Together with mnazim we tried
today to realize this idea. So another absolut new unique SlimBean
feature is born.

The aim we wanted at the end was to give a simple and resource friendly
way to change the complete UI of a rom on the fly. So why not use
the great fallback mechanism of AOSP and change/add a new
qualifier into the AOSP core. To explain how it works.....if you want
to add a new UI just add in /res folder of any app or framework you want
folders with the qualifier "inverted". Eg. drawable-inverted-xhdpi
or values-inverted or layout-port-inverted or whatever you want. Put in
only the files you want to modify thats it.

All qualifier in AOSP are following strict rules. You can read here.
Do not forget the order of qualifier is important. The new "inverted"
qualifier we added to the UIMode qualifier. To get more information
about read here

http://developer.android.com/guide/topics/resources/providing-resources.html

So what this commit does:

- add new qualifier "inverted"
- support for API level 13 and higher
- change the custom UI on the fly
- control default UI Mode over config.xml
- working for all apps. They just need to include folders
  with the new qualifier name
- resource friendly....no resource wasting either programmticaly
  then source blow, because you just need to put in the files you
  want to change
- cause of the qualifier structure compatible with every phone,
  language or whatever qualifier you want to use on top
- 100% compatible to theme manager. If a theme misses drawables
  they are replaced with them from the current UIMode which is set.

What is the benefit why not use just a theme? We started half year
ago TRDS which was inverted gapps system base themed....means we
morphed directly the changes into the framework. This methoed was
on of the reasons why trds got so popular. Points for that are easy
first the system is themed, means each theme you activate over
theme engine works on top the themed system. So you have a base
style and can modify more if you want. The other reason is easy
a lot faster and resource friendly. Now this idea went to the
rom to provide two core system based themes and user
can do on top what they want or not without, like you have
to roms in one.

This commit just adds the support for this

cheers

mnazim and kufikugel

Change-Id: I1ef843a42d17246373eb17b4e1ec1aa9bc20d8d4

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	services/java/com/android/server/UiModeManagerService.java

Frameworks: TRDS goes Slim

add trds changed files to provide new UI mode engine

Change-Id: I67f8a26320c9971258eb0106c0574b5af9b4261c

Frameworks: TRDS new qualifier push up qualifier number (1/2)

Hey guys,

after this feature is working really well and a lot roms kanged
it we got a hint to change one thing which is indeed a good
idea to have less problems on AOSP updates and tools like
Apktool can provide us better without doing major changes every
AOSP update.

We pushed the number up to 69.....should be enough for
next years.

Please note for the one who are using our gapps at the moment
this will break actuall gapps till we published the new one
which will be end this week as usual.

After that we will begin to publish the apktool after we had
now enough tests....and who knows maybe the "official" Apktool
will provide us all now. So all in all a good time to change
the qualifier now before it is getting more and more
popular (we saw that first themes are providing us)

cheers

Lars

Change-Id: Ie1aeab38420cb825f6f7c1d0a5220a8bb55fc4c3
Frameworks: TRDS 2.0 (1/3)

After testing with huge success we discovered here
and there small problems (like NFC beam animation is broken,
TRDS was disabled on cardock etc) which mainly was caused
due that we used the already from AOSP introduced uiModes
qualifier which could cause in special conditions this
conflicts. Beside that we want a bit more flexibility.

Result: This commit introduces the inverted qualifier as
complete own qualifier undependent of the already AOSP
used ones.

Beside that it fixes all known issues......features:

- it is now completly working over the AOSP Configuration classes
  Means every app get notice of a change trough onConfiguratioChange
  and restarts it's activity if change was detected.
- app can disable that like some other configuration values
  over AndroidMainfest.xml
- beside "inverted" folder another "notinverted" folder is introduced
  for another themeing (eg white)
- qualifier order is direct before the official uiMode qualifiers
  (see AOSP docs)
- All usual Configuration actions can be used with the inverted
  qualifiers....like BroadcastChange, direct read out from every
  app etc. etc. Note: Only system can change the uiInvertedMode

So as you see a real own qualifier now

NOTE: Apktool as well aapt need to be changed to fit the "new
qualifier"....which means that we need to recompile our gapps
that they react as well on this new behaviour. Think we will get them ready
next 2 or 3 days.

Patchset:
increase support from SDK_HONEYCOMB_MR2
to FROYO to have better compatibillity
to some gapps.

Change-Id: I851740010198c400266d7ca9995eb08dbf7782bc

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/WidgetView.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
Extra dimens for active display

Change-Id: Ib404075691b4e95efb580d7990d98c569aa4f222
target
Lockscreen Targets : Make multi-user compatible

Use getStringForUser instead of getString since the framework always run as root user (0)

Change-Id: Ibe8b69cf4c4ad123ca8e68cd8fadcb7eb467b5be
Lockscreen Targets: Icon Revamp

Adjust the size of custom app icons and resize and round the corners
of gallery icons for a more uniform look.

Before http://imgur.com/cTOqdwX

After http://imgur.com/EKAeFiw

Change-Id: Ibcca275eb0ae946775773a8c8217b6508da10e5b
LockscreenTargets : Dismiss on target select

Only dismiss prior to activity launch for lockscreen shortcuts,
camera and appwidget picker remain untouched.

Change-Id: I2770c628ce0708570aa6ea0eac9e3cd1d82287fb
keyguard: enable magnetic target if no custom targets defined

When no custom target is defined (the "reset" button is pressed
in settings), the unlock target will always be at the right
regardless of the direction the user dragged to.

Change-Id: I0a2b1cd5dc7a2840c23d83a26593513cbc880c08

Conflicts:
	policy/src/com/android/internal/policy/impl/keyguard/KeyguardSelectorView.java
Re-implement magnetic targets

This reverts commit 8d037a2ded2edafc2ecafad2a8d799cb3f82f629.

Change-Id: I26da0ab2c9d65828bf9cd16a82dad7d1c50dc891

Conflicts:
	policy/src/com/android/internal/policy/impl/keyguard/KeyguardSelectorView.java
Active-D: Make GlowPadView center the current notification icon for us

sudo makemeasandwich

ps2: make scaling both smarter and stupider SIMULTANEOUSLY

Change-Id: I582f387fd3c1c83f2bbd0d31a4b43e22d1b82d63
Signed-off-by: nuclearmistake <nuclearmistake@gmail.com>

Conflicts:

	packages/SystemUI/src/com/android/systemui/statusbar/policy/activedisplay/ActiveDisplayView.java
ic
Duplicates

Change-Id: I2866899f30ffc8b2885a9e55d6371dde356b4864