Android denial of service attack using class 0 SMS messages

Bug 9702645
Bug 11970403 - Change to ClassZeroActivity to singleTask

Cherry pick the change from master.

Making every AlertDialog immediately visible can lead to exhaustion
of graphics-related resources, typically memory, resulting in a
broken bufferqueue/hw renderer, and subsequent system crash.

Make ClassZeroActivity a singleTask activity, and queue incoming
messages if one is already being displayed.

Change-Id: I0aef7b857364acc404e79581ba5e503571065483
Import translations. DO NOT MERGE

Change-Id: Id82f32c4e67b791c497dac8a5366e83a3c3befee
Auto-generated-cl: translation import
Import translations. DO NOT MERGE

Change-Id: Ib81400a83d3319e1a69a620ac64dba04a0324aaf
Auto-generated-cl: translation import
Mms: Add resend function for message

Change-Id: Ia7344dba3a538f67a7e8e77f49e3dc123a89545e
Signed-off-by: Arnav Gupta <championswimmer@aokp.co>
Mms: Share image/video files via Messaging from file explorer

When we're handling Intent.ACTION_SEND_MULTIPLE, the type passed
in is "*/*", and share uri will look like this: "file:///" if
share from file explorer. So message application can not identify
the share file's type.

Use MediaFile's function to identify the share file's type and set
attachment.

CRs-Fixed: 496743

Change-Id: Icbf37589fde631a385d548fe86d1ee18aea4a7c8
Forward port Templates functionality

Change-Id: Ieb9e54249dd512e65f23f32d503d11fba88335ee
Bring back QuickMessage, Unicode stripping, TimeStamps and Add to Calendar

Change-Id: I103195f61b13a83573e7bf8f8a1bf08cb8aacc94

Conflicts:
	src/com/android/mms/ui/ComposeMessageActivity.java
Bring back Split SMS

Change-Id: I8b1ee608a1ca3989462f9a12bad19201309ec16b
Port "Fix cropping on MMS inline thumbnails"

The following patch fixes the cropping that was broken in jellybean. This worked
properly in Ice Cream Sandwich and CM9. It now behaves correctly with this
patch. Here are before and after pictures of both a regular photo and a
panorama.

Photo:
before
http://img62.imageshack.us/img62/3783/beforee.png

after
http://img24.imageshack.us/img24/231/afterwd.png

Panorama:
before
http://img194.imageshack.us/img194/3882/panobefore.png

after
http://img607.imageshack.us/img607/962/panoafter.png

Change-Id: Ie37d09bf46eca4efb7dc0be02dbd971648abd4ca
Fix SMS sending.

ACTION_SEND_MESSAGE must be routed through the privileged receiver now,
otherwise it'll be dropped in SmsReceiver.

Change-Id: Ifbe6e222d16053c038ca79a98e6bc837090ea3a3
Fix up receiver declaration.

The intent this receiver listens to is used by the BT MAP implementation
to send out SMS it queued. As the manifest and the
SmsReceiverService.java were in disagreement about the action name, this
didn't work.
Also secure the receiver in the process, it can be used to send out SMS
without having the SEND_SMS permission otherwise.

Change-Id: Ia8d181731baea586865ce3f18fe0864636c2b6f4
Fix AAPT warnings

Change-Id: Id791b867bdd0cb07681fa626274480c6316ed061
Mms: Add the ability to select recipients from a checkbox list
When creating a new message you have to write some letters from the
contacts you want to add and select them by clicking on it.

This can be annoying if you want to send your message to several contacts.
With this change you can manually select numbers from contacts and groups
from a checkbox list.

Change-Id: I03681f22a0d949679e2a9cc95c551e4c216b6300

Conflicts:
	res/values/cm_strings.xml
Mms: Bring back layout color abstraction

Change-Id: Id1845ddad8a38a6f2ece7c9531927cb8fc1ab189
Mms: Bring back Translations

Change-Id: Iec5a20a16aef14bdd0042575693e018db6e669ca
MMS: CA translations

Change-Id: I4d801a31cde541c8750ab2b55dc5fcee384f125f
ClassZeroActivity: Holo it

Change-Id: I098866d61145863c561c3bdc3f25d38254906f1d

Conflicts:
	src/com/android/mms/ui/ClassZeroActivity.java
ClassZeroActivity: Queue messages instead of displaying them all at once

10 out of 9 doctors recommend not piling up infinite top activities

Change-Id: Id7a2faa6997036507acad38f43fe17bf1f6a42cd

Conflicts:
	AndroidManifest.xml
	src/com/android/mms/ui/ClassZeroActivity.java
Fix inconsistent back button behavior

By default, a press of the back button will only take effect when the
button is successfully released (the user releases the button while
still focused on it), not when the button is still triggered and pressed
down. To avoid this inconsistent behavior, execute the custom back
logic in the onBackPressed callback instead of onKeyDown.

Change-Id: Id516bc523b625a7ca42ea3ff580892cdf28f770f
ClassZeroActivity: Resolve some possible NPEs, and refactor common code

Match up to the final version merged upstream

Change-Id: I215188f5ea508b3c0b69189c1bf6ccc7601eed7b