FM Radio: Add support for FM Radio in Android

Creating interface and framework for using FM Radio
RX and TX from different vendors.

Change-Id: I2c192392b1822c744b2a05ff1974c4659d6f395c
Signed-off-by: Christian Bejram <christian.bejram@stericsson.com>
FM Radio: do not try to change thread priority

The FM Radio services try to change the current thread when
instantiated, for unknown reason. This actually ends up changing the
priority of SystemServer's main thread. Probably a bad idea. This is
the cause of the various glitch fallout after the FM Radio merges.

Change-Id: I292aff3380c717ff1bc7d45f6303c0d330ef642d
FM Radio: avoid deadlock when disabling RDS

When RDS is being configured, the session mutex is hold. However,
when it is being disabled, RDS callbacks might still fire, and these
also try to hold the mutex, leading to a deadlock.

Temporary unlock the mutex while the vendor library is called to
work around.

Change-Id: Ic9751c7185fd8de4a7510225f54d23a22f042321
Correct executable bit for source files

Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: I59423c5d04b04e0665e8e3c77174fcbef26b3db0
Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>
[WIP] Multi-window

This is a big work in progress, which currently has some bugs,
but begins to look okay.

You can already multitask a little bit, by using the
app switcher and long-pressing an icon, then select "Add to
Split View".
Last window touched gets the key focus.

Still are some issues with rotation handling - touch an app
after rotation to make it relayout.

Enjoy :)

Change-Id: I4a03a84539fd3ac1273f0d3503fe8fafcd16be26
Squash DarkUI & TRDS 2.0 commits from Slim for Omni

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

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

Signed-off-by: Hieu Nguyen  <houstonn@gmail.com>