Merge commit '7d433aabb731a790fc8d06d260c826751215113f' into HEAD

* commit '7d433aabb731a790fc8d06d260c826751215113f':
  Javadoc for test case classes

Conflicts:
	test-runner/src/android/test/mock/MockContentResolver.java
Merge commit '0e94b5151d817e600a888448a662208b29b5ef46' into HEAD

* commit '0e94b5151d817e600a888448a662208b29b5ef46':
  Add subtitles for action bars and context modes.

Conflicts:
	api/current.xml
	packages/SystemUI/src/com/android/systemui/statusbar/StatusBarService.java
Merge commit '570bb5618a015c105e44eb1447dae5e0a34f3849' into HEAD

* commit '570bb5618a015c105e44eb1447dae5e0a34f3849':
  frameworks/base updates to track merge from dalvik-dev - frameworks and CoreTests modules now depend on bouncycastle - update preloades classes for NativeBN package change - moved CryptoTest to libcore - updated api

Conflicts:
	api/9.xml
	api/current.xml
	preloaded-classes
Merge commit '3e6616dd3dc4d8b4a8a5c832d5a66965c19648d3' into HEAD

* commit '3e6616dd3dc4d8b4a8a5c832d5a66965c19648d3':
  MTP: replace printfs with logcat
Merge commit 'e519b37f5ad8ef96c7a2ec6f1481e5a8e56f5fb9' into HEAD

* commit 'e519b37f5ad8ef96c7a2ec6f1481e5a8e56f5fb9':
  Fix an uninitialized pointer.
Merge commit '071508d9f3d1c004cd9ef8d5329949e7a8a949c8' into HEAD

* commit '071508d9f3d1c004cd9ef8d5329949e7a8a949c8':
  Removing font initialization on startup
Merge commit '98ef64e4a89ced79094d4ff3dc0123c1989f9e10' into HEAD

* commit '98ef64e4a89ced79094d4ff3dc0123c1989f9e10':
  MTP: Add MtpServer Java class to wrap MTP device support.

Conflicts:
	core/jni/Android.mk
Merge commit '767c5e4be0a4bddc815efe5a4cb2cd0fdd584429' into HEAD

* commit '767c5e4be0a4bddc815efe5a4cb2cd0fdd584429':
  MTP: Implement GetObjectPropDesc
Merge commit '17fb4b0d1cfbad1f026fec704c86640f070b4c2f' into HEAD

* commit '17fb4b0d1cfbad1f026fec704c86640f070b4c2f':
  Initial checkin of new animation system. package, APIs, functionality all subject to change. package is hidden for now.
Merge commit 'a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4' into HEAD

* commit 'a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4':
  user agent string change: remove "Mobile" for large screen configuration
Merge commit '81ea83d10883886013bc95eac2fe032acf1e7aa9' into HEAD

* commit '81ea83d10883886013bc95eac2fe032acf1e7aa9':
  Move MTP JNI code from libandroid_runtime to libmedia_jni

Conflicts:
	core/jni/Android.mk
	media/jni/Android.mk
	media/jni/android_media_MediaPlayer.cpp
Moved the DOWNLOAD_CACHE to /sdcard/.cache
 (Or whatever is exported in init.rc)

Don't use DOWNLOAD_CACHE variable as this is specified sometimes in
boot images that we are unable to change, use EXTERNAL_STORAGE
instead, I understand this may cause a problem if there is none
specified, however most of the time this will not be a problem.
Reverted because it breaks LED notifications.
In particular, those which are received when the screen is on such as missed calls.

The logic doesn't make sense. Instead of using mLedNotification == null to disable the notification, it is using !mPendingPulseNotification, but if the screen is on at any point mPendingPulseNotification is set to false, which disables the notification before it has even happened.
Whatever they were trying to do by writing this code, it doesn't work!

Revert "Only pulse notification light if a new notification has been received since the screen was last turned off"

This reverts commit 2117f6fa3880e55e6a90fbd8b3a12d469c9b738b.
ProcessStats.java: Fix for bootloops.
mBuffer size was too small causing the CPU frequency array to be truncated causing exceptions and then the bootloop issue.
MAX_SPEEDS was too small, due to the additional overclocking steps.

http://code.google.com/p/oxygen-rom/issues/detail?id=507
NotificationManager/KeyguardUpdateMonitor: Charging behaviour
Only turn LED green when battery is actually fully charged, not at 90%
Also, don't display 'charged' on the lockscreen until the battery is fully charged
automatic backlight: Allow level decrease and increase
activitymanager: fix for onstartcommand
onstartcommand is not being called with a null intent, which causes services not to be restarted, in particular the EAS service.
http://groups.google.com/group/android-developers/msg/0968c394999f2967
Should resolve issue 741 providing it doesn't cause any regressions.
audiosystem: Alter audio routing policy
This will work around 2 issues.
1) the stream pause whilst media is playing.
2) the strange camera crashing behaviour when a headset is plugged in. Issue 709.
I don't think this will break anything or alter the behaviour of anything else.
NotificationManager: Don't play notification if in call
Fix for issue 779
Merge fix for PduParser.java - Part 1

It looks like there was a merge issue in PduParser.java that duplicated
some code when the gingerbread code was merged.  The change in
gingerbread essentially put the entire PduPart.P_CONTENT_DISPOSITION in
an if statement, and set it to positive for all devices.

This fixes MMS problems on the Nexus One, and possibly other phones.

Change-Id: I47b0f17327f906055e1d358226b5db0ddfb2241f