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
[1/2] Power connect/disconnect notification support

part 1/2: frameworks/base PowerUI and Settings
http://review.cyanogenmod.org/#/c/35241/

part 2/2: packages/apps/Settings Sound settings
http://review.cyanogenmod.org/#/c/35242/

patchset 3:
    shrink a couple of long lines
    remove power_notifications_use_default option (folded into ringtone option)
    load default settings in global instead of system

patchset 5:
    support vibrate toggle
    ignore first power state change (on boot) if it's a DISCONNECT

patchset 6:
    fix ignore first power state change

patchset 7:
    change vibrate to default to off
    simplify first power state change ignore logic

Change-Id: I36a6b9f924d2cd52191a8e83a744745b37c5b068
Avoid IllegalArgumentException in Preference.java compareTo()

In some situations the collection.sort() algoritm fails in compareTo()
with a: java.lang.IllegalArgumentException: Comparison method violates
its general contract!, due to a more strict validation of the compare
contract.
This strict validation was introduced in java 1.7.
See http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6804124
This fix should prevent the sorting from crashing.

Change-Id: I64230e7f62f83c99d7a6274964bb2988ae843826
Fix CalendarView to show the month title properly.

Step to reproduce:
Do this test on a Tablet (i.e. do in multi-pane layout)
1. Settings > Date & time > Uncheck the Automatic date & time checkbox.
2. Select 'Set date' and set the month to January and Done.
3. Re-select 'Set date' then you will find no month title just above the calendar.

Change-Id: I2489b454a4526be13f1fbdc61a72edcd6b6942a0
Framework/base: Added synchronization block to avoid race condition

Fix for the synchronization issue leading to access of an array
Index out of bounds. Issue occurs due to race condition between
removing the activities of a crashed process from history stack
and resuming a separate activity.

Change-Id: I14bb5834e778c15b674248e46fe93b0ce9f37967
Merge "Frameworks: TRDS 2.0 (1/3)" into jb4.2
Merge "[1/2] Power connect/disconnect notification support" into jb4.2
Frameworks: Clean up some possible memory leaks

Change-Id: Iea6acef53483404540ed90d51c047e9fb15076c6
AudioService: Remove STREAM_NOTIFICATION from ringer mode streams

Change-Id: Ie8d25743b27839fa2bd4e9ae5d3d0a49410ac5b4
JIRA: CYAN-344
Issue: https://jira.cyanogenmod.org/browse/CYAN-344
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Framework: clean up QS to reduce memory leaks in special conditions

PS2: adapted to slim
PS3: clean up

Change-Id: I4cf516da95abff6d493c36158e916a6fc35741d5
profiles: Broadcast profile updates

Add broadcast to indicate profile changes that does not
cause a profile to be selected.

Use the new broadcast to update the Profile Tile more
reliably.

Currently the tile update is triggered by a profile
selection. However, the active profile may change without
triggering a selection. This happens, for instance, on
locale changes.

The Profile Tile does handle locale changes, but is subject
to a race condition. If it handles the locale change before
the profile manager does, the name change will not be seen.

Change-Id: I193454f5100f1ae04dd24d50f25e75ec961f4d68
Improve auto-brightness handling

- Add a setting to control the auto-brightness algorithm responsitivity
- Make the algorithm react much faster when the ambient brightness
  increases quickly, e.g. when receiving a call in bright sunlight.

Change-Id: Ic608901c476609dde69cae982228c09567140a83
Bye, bye Talk. Welcome Hangouts (1/2)

Patchset  #2: Vector icons.

Change-Id: Ief201d9f0c80bca3c8d37fdf3283cbbb15004b5b
profiles: Don't broadcast before boot completed

 * Fix exception during boot.

Change-Id: I53850f55d3252ff2d16e1c98878ba24a074131e7
Fix MAP SDP record generation [2/3].

Give the bluetooth app API to register a server socket for a specific
UUID/port pair. It needs that for registering two OBEX server instances.

Change-Id: I6ede7f2777040af4e653eceb14ea47a2c03abfae
Telephony: Add DCHSPAP to getTcpBufferSizesPropName

Change-Id: I868f0eae2db6032b43e9c1a1bd23860ab7bbebca
Merge "Bye, bye Talk. Welcome Hangouts (1/2)" into jb4.2
Merge "profiles: Don't broadcast before boot completed" into jb4.2
Fix wrong log information in DevicePolicyManagerService

When user reset password their password,
if password doesn't match target quality of device,
DPM print a log why can't reset password.
however log message isn't correct information.
in log context, it have to exist current quality
and target quality. this patch can help print correct log.

Change-Id: I5c8fb1c77ddbe1bdbc76e35038c897e2e8efb077
Add additional Method that check whether a table is empty or not

Application Devleopers are using queryNumEntries API
implemented by "COUNT(*)" to check whether a table is empty or not.
COUNT(*)  has to process the entire table to compute the result.
But, "EXISTS" can stop after a single matching row has been found.
So, Using "EXISTS" is more faster than "COUNT(*)"
I added new API using "EXISTS" to check whether a table is empty or not

Change-Id: Idcc2633d0a5349c59f41e125cf34c9dc6622cdbe