Use fallback MMS attachment name if can’t create file with received name

Received MMS location may be encoded using RFC 2047 (e.g. for messages
sent from old Nokia phones) or may contain characters illegal in file names.
RFC 2047 decoding is currently not implemented so fallback name
should be used in such case. I also changed fallback name to be
a human readable localized text instead of hex message id.

Change-Id: Id19fa127c0cfc68679232225bfb17b3c6514524b
Allow full themeing of mms via theme chooser

This redirects layouts to @color and replaces the hex that the theme chooser
cannot handle. It allows theme chooser themes the ability to theme the entire
app instead of just parts.

This is by @B_boytm I am just submitting it for him.

Change-Id: Id28ba9b783768a004a0dbc8c117c81ffc8446ae3
Signed-off-by: Kyle Teague <kwesley1020@gmail.com>

Conflicts:

	res/values/colors.xml
Mms: Send Messaging with attachment,repeat 10-20 times crash

ConcurrentModificationException occurs when you add the elements
while traversing a list with Iterator.
The issue is resolved by using CopyOnWriteArrayList instead of
ArrayList.

Change-Id: Ic717ed047475eae9a810d5767ed0a3fbf41ae86f
Author: Wenjie Qin <wenjie.qin@borqs.com>
Signed-off-by: Frederic Predon <frederic.predon@intel.com>
Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com>
Signed-off-by: Beare, Bruce J <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 7844
Initialize Timestamp to "" instead of NULL

The expired time shows NULL before PduLoadedMessageItemCallback
was executed.

It sometimes canbe reproduced in the expired time of Notification
IND.

Change-Id: Idac021d23e0807f61a5bcead8af1b369398dff26
Signed-off-by: Roger Chen <cxr514033970@gmail.com>
Mms: Searching result is not displayed when searching " "

When querying a double quote , there will be a SqliteException, so
the cursor wil be null.
When cursor is null, we have to set the title.

Change-Id: I6fc91ad5562ca770412968b19cbc45aa1a667bd4
Author: b533 <b533@borqs.com>
Signed-off-by: Kun Jiang <kunx.jiang@intel.com>
Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com>
Signed-off-by: Beare, Bruce J <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 25854
Mms: Correction to display the dial number of SMS

This patch fixes the display of the dial number of SMS, if the SMS
text contains the dial number.

Change-Id: Ia9f690106dc6ca084f2d04e33b2fdb4e1a004f36
Author: Emmanuel Delaude <emmanuelx.delaude@intel.com>
Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com>
Signed-off-by: Beare, Bruce J <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 26712
Mms: "Add slide" item is not displayed during Edit slideshow

With this patch the "Add Slide" item is added as the last item
when some items are removed during edit slide show.

Change-Id: I57fa159183b87628ff2908a4ad299b97031f2d41
Author: Arun Ravindran <arun.ravindran@intel.com>
Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com>
Signed-off-by: Beare, Bruce J <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 7875
We sometimes need a new thread id to update drafts

We are saving the draft in a conversation which had been
deleted all messages one by one(Now the thread id is orphaned).
The draft will be saved in a obseleted thread, so we lose them
and cann't find them in ConversationList. We need to get a new
thread id in this case.

Refer to ef3eb49cde359d36f9536dbaffe5c16f3639c1f2, it fixed this
issue while we are saving the Mms draft, but Sms.

Change-Id: I29b3c1abf373877924b1afb45027417a12a1ec68
Signed-off-by: Roger Chen <cxr514033970@gmail.com>
Mms: Fix the logging of the TransactionBundle

The byte array returned by the getPushData() function should be
properly converted before beeing logged.

Change-Id: If24a20bc636282bdab5631935f1bcc6eafc20d90
Author: Frederic Predon <frederic.predon@intel.com>
Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com>
Signed-off-by: Beare, Bruce J <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 28037
Mms: JAVACRASH in com.android.mms at android.os.AsyncTask$3.done

TestCase:
    1>"%1$" displays when Restore to default in SMS settings
    2> Fore close when there is no app that start activity
    3> manage sim messages
    4> Force close happened when open a MMS with vcard
    5>  Audio is inserted to MMS, and then user play it. If long pressing
    progress bar of the audio playback until play finished, messaging will crash

Change-Id: I04eec747029fe4d6d73e290dfa682c949a5930a8
Author: b497 <b497@borqs.com>
Signed-off-by: Fang, JiuX <jiux.fang@intel.com>
Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com>
Signed-off-by: Beare, Bruce J <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 25327
Mms: Two popups are displayed when Press Enter key on message screen.

When the framework transfers the KEY EVENT to MMS, both KEY UP and
KEY DOWN event trigger the onEditorAction.
We need to confirm the send message only when we have the KEY DONW
event.

Change-Id: Ia0fcbb9a915f7e6b9f6b0101293eeaae80b3bccd
Author: Kun Jiang <kunx.jiang@intel.com>
Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com>
Signed-off-by: Beare, Bruce J <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 20356
Support necessary options on non-trackball devices

Support move up/down, remove slide and add slide options
in context menu of SlideshowEditActivity.

We cannot move the position in ListView on the device
which hasn't the trackball, so we add the necessary
options in the context menu.

Change-Id: I5b9228b09d51a7ac571cf3fb9185644e211ad729
Signed-off-by: Roger Chen <cxr514033970@gmail.com>
Mms: Cursor doesn't appear when pressing up/down/right/left key

When pressing up/down/right/left key on the keypad, the cursor
doesn't appear in the messagebox.
This is because the layout container is not focusable.

Change-Id: I82bfb417ce3b12ec55b5d8058e866282ab2dc66a
Author: b533 <b533@borqs.com>
Signed-off-by: edingX <erjunx.ding@intel.com>
Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com>
Signed-off-by: Beare, Bruce J <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 23638
Only delete the cache files if cache is null

No need to call getImageCacheService() to get the instance to delete
image cache files if the cache instance is null.
It will renew an instance for cache and lead to the memory leak
if renew too many instances by calling getImageCacheService()
multi-times.

Change-Id: I3ff83f49e9e8a8bc211dc26c773f3ccefc974881
Signed-off-by: Roger Chen <cxr514033970@gmail.com>
Fix 2 bugs in Mms AppWidget - from AOSP

    1. Update all appwidgets instead of the first one.
    2. Notify the appwidgets to update after deleted messages.

    Change-Id: Iac114c3457de80a2b3bd09bf87c48f6c66eb07a1
    Signed-off-by: Roger Chen <cxr514033970@gmail.com>

    Conflicts:

    	src/com/android/mms/ui/ComposeMessageActivity.java
    	src/com/android/mms/ui/ConversationList.java
Use fallback MMS attachment name if can’t create file with received name

Received MMS location may be encoded using RFC 2047 (e.g. for messages
sent from old Nokia phones) or may contain characters illegal in file names.
RFC 2047 decoding is currently not implemented so fallback name
should be used in such case. I also changed fallback name to be
a human readable localized text instead of hex message id.

Change-Id: Id19fa127c0cfc68679232225bfb17b3c6514524b

Conflicts:

	res/values/strings.xml
Mms: Updated czech translation

Change-Id: Idb31b3905d21cbeef923a83c9da127a93bb3bf62
Signed-off-by: Petr Reznicek <kecinzer@gmail.com>
REVERT: Additional notification action to call sender
QuickReply: Quick reply from notification - AOKP

This is a list of functions of the modification:
-Call from notification
-Quick Reply from notification
-Opens its own activity
-Marks as read
-Will bypass keyguard and re-open it when reply sent
-Clears notification on quick reply
-Dismiss of quick reply by clicking off screen with options to
cancel message, stay on message, or mark it read.
-Emoji & Smiley emote support
-Popup menu with options
-Multi message support showing on the popup from the same contact

-Patch 2: updates to the toast message, and marking SMS read
-Patch 3: fixed affinity to open activity on its own.
also now bypasses keyguard and re-opens it on reply.
-Patch 4: fixed mark as read and clear notification on quick reply
-Patch 5: update alert with strings to make translators happy
added the on dismiss to have an option to mark sms read
-Patch 6: added emoji & smiley support from their built in parsers
-Patch 7: now marks entire thread as read if you are replying/mark read
on a text that you have gotten multiple from the same contact
-Patch 8: update layout: Use android text appearance attr on text,
use single line on names to avoid wonkiness for very long names,
add lighter holo send button so that it can be used without a button
background. Hopefully will work a bit better on < xhdpi devices, no
way to test here however.
-Patch 9: Added multi thread support from same sender to be viewed on popup.
added a menu button with option to insert smiley, insert emoji, close popup,
close and mark read.

Change-Id: I012aefbd401d175d8caf834dfb8d7b678cb9a534
Signed-off-by: Adam Fisch <adammfisch@gmail.com>

Conflicts:

	res/values/strings.xml
Quick Reply: add option to disable call back button

This will add a checkbox in settings to disable the call back button.
Default will be to show the button.

PS2: move the preference to the notification category

Change-Id: I07728c501b67b78bcfffc878e49949388287c9fb
Signed-off-by: Dirk Rettschlag <dirk.rettschlag@gmail.com>

Conflicts:

	res/values/strings.xml
	res/xml/preferences.xml
	src/com/android/mms/ui/MessagingPreferenceActivity.java