History log of /packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
bf077b3e5d54df12bfb9e3150cb96045a9d68a6a 15-Nov-2016 Ajay Panicker <apanicke@google.com> Merge "Protect against SQLiteException crash in MAP init"
am: a0753c2c96

Change-Id: I0ac00f14ee5c1a95472d14ac036f845df86f7d60
0905a86a66d6754469c00b5d154ffafe35f630b7 10-Nov-2016 Ajay Panicker <apanicke@google.com> Protect against SQLiteException crash in MAP init

Bug: 32717472
Test: runtest bluetooth
Change-Id: I533d7ca0b281291f931f4aca271ea9ff3214bdf2
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
3827575f2c2d929dd2a4bcd3e0dab72bbc1995f9 31-Aug-2016 Ajay Panicker <apanicke@google.com> Merge "Change MAP to send one new message event upon storage unlock" am: c8f861fb79 am: 5c6e6ba361
am: 2d415bcc1f

Change-Id: I0d80b811a9b823b6f271e4ea7fc123dc1f1b6d2d
725c70cfb004690027ded41f080bfe1bb17d2285 24-Aug-2016 Ajay Panicker <apanicke@google.com> Change MAP to send one new message event upon storage unlock

The MAP service will now send one new message event for all messages
when device storage is unlocked instead of sending an event per message.

Bug: 30809925
Change-Id: I1c9e10125c9a754bf4f6c25718fc0422d79cf37e
(cherry picked from commit 8b02ffef2611c8f21d751e5a196bcb765a9e997e)
(cherry picked from commit ac3a80eed68e2374151abb59e66d95bb2e66cf61)
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
89de413eba69b0c5e128a82e0ad179cec9152578 21-Jul-2016 Ajay Panicker <apanicke@google.com> Don't use SMS database until after the phone is unlocked

When the device is encrypted and a passcode is set,
the SMS database isn't available and the MAP service
crashes when trying to access it. The service will now
respond with OBEX_SERVICE_UNAVAILABLE until the phone
is unlocked. At this point, the SMS database will
notify the content observer that all the messages are
available, and send corresponding events.

Bug: 29990836
Change-Id: I53f12d0e114212d94f16b56df7c7dbe73f6254df
(cherry picked from commit db8d8ae565b3db6a5e3187170dcb7b281a79f9da)
Merged-In: I53f12d0e114212d94f16b56df7c7dbe73f6254df
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
8f322f84b066a0be7986dc3b00a818836c085c69 25-Aug-2016 Ajay Panicker <apanicke@google.com> Fix initMsgList() check to return if encrypted storage is locked am: 29cab6e8ea
am: 539fa0868e

Change-Id: I3fac36def33106792be9c876814ef76df815ade9
29cab6e8ea1014179fd15fb067e621ae4b066085 25-Aug-2016 Ajay Panicker <apanicke@google.com> Fix initMsgList() check to return if encrypted storage is locked

Bug: 30809925
Change-Id: I3f02779116bbae3bfcd006a8bb2012b517cda7e7
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
828baf996851119865fc630e483c1b67c739a6b8 10-Aug-2016 Andre Eisenbach <eisenbach@google.com> Merge "Change URI accessed to properly update read status"
am: f337ee1fe0

Change-Id: Iad683df58a9067e275bc07c0701cce2dfb94fd83
9944703186475606478594cab832b1a3ee2d8098 28-Jul-2016 Ajay Panicker <apanicke@google.com> Change URI accessed to properly update read status

Bug: 28970262
Change-Id: I07d9ab24d10396baa4ddbfbdfad5b1eec1b8e9d5
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
534725331f0a17131a44934ee8107dd9c3a00056 28-Jul-2016 Ajay Panicker <apanicke@google.com> Change URI accessed to properly update read status am: cdf75c3f2b
am: 237f8de011

Change-Id: I9d5670e43201dec50fc30a5c8ce33c1c8729bd1c
cdf75c3f2b9e0e367ea2a4ce92018a6de662f4cd 28-Jul-2016 Ajay Panicker <apanicke@google.com> Change URI accessed to properly update read status

Bug: 28970262
Change-Id: I07d9ab24d10396baa4ddbfbdfad5b1eec1b8e9d5
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
621a319d78185d22d19b8b6d125daff8f6d0a569 27-Jul-2016 Ajay Panicker <apanicke@google.com> Don\'t use SMS database until after the phone is unlocked
am: db8d8ae565

Change-Id: Iba27a3b5695ea1346531df0ecb81a55bbc9c5a01
db8d8ae565b3db6a5e3187170dcb7b281a79f9da 21-Jul-2016 Ajay Panicker <apanicke@google.com> Don't use SMS database until after the phone is unlocked

When the device is encrypted and a passcode is set,
the SMS database isn't available and the MAP service
crashes when trying to access it. The service will now
respond with OBEX_SERVICE_UNAVAILABLE until the phone
is unlocked. At this point, the SMS database will
notify the content observer that all the messages are
available, and send corresponding events.

Bug: 29990836
Change-Id: I53f12d0e114212d94f16b56df7c7dbe73f6254df
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
467169d322ec315f4d16cbd2328b01132f1b29f2 14-Jul-2016 Ajay Panicker <apanicke@google.com> Allow MAP to accept and list draft messages without recipients
am: c06dad4b6c

Change-Id: Ie52bbcdf6dd372e02c936ed2909e35c34b7e321d
c06dad4b6c213f57da06fe74903a25733ef6579f 06-Jul-2016 Ajay Panicker <apanicke@google.com> Allow MAP to accept and list draft messages without recipients

Bug: 28970268
Change-Id: I5bdef6cd67708036352ed37ea35b027d6a54af03
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
a2823f7e3484c3df3a248a39b72fbf20d917c1f7 16-Jun-2016 Ajay Panicker <apanicke@google.com> Merge \"Fix sender name string to match MAP spec\"
am: 6b9c9d4458

Change-Id: I7d528b876ebaf7ed0e048cdd72eb3521c1f1a309
69f86872f09052f9c2ff7f75e87e66134f65c91c 19-Feb-2016 Ajay Panicker <apanicke@google.com> Fix sender name string to match MAP spec

In section 3.1.6 of the Bluetooth MAP spec version
1.2.2, the field name should be "sender_name" instead
of "senderName".

Bug: 26904410
Change-Id: I0dacaf50b0830239d2c2e7e787dc7998f3ed6723
(cherry picked from commit 9a18a9fc4349f90e49d036ccafc91d8b5befe973)
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
9a18a9fc4349f90e49d036ccafc91d8b5befe973 19-Feb-2016 Ajay Panicker <apanicke@google.com> Fix sender name string to match MAP spec

In section 3.1.6 of the Bluetooth MAP spec version
1.2.2, the field name should be "sender_name" instead
of "senderName".

Bug: 26904410
Change-Id: I0dacaf50b0830239d2c2e7e787dc7998f3ed6723
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
4a7ba7568de2b00b8d9cdb92137604643fe5d34d 08-Jun-2016 Marie Janssen <jamuraa@google.com> resolve merge conflicts of 39957c0 to nyc-dev-plus-aosp

Change-Id: Ifa06a51ac390cc2b2f7401b65fb6428313a1f6fd
eb7b90f5b93db1230a5b64caa3d8d05a642e33a6 10-May-2016 Marie Janssen <jamuraa@google.com> Cleanup unused requires in java files

Change-Id: I7b055c1d3d3f6a69e9f49c077853ab45fcad7106
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
1ff5a0a6b42eff4c5728f0327440c127f8d3bb1c 11-Mar-2016 Hemant Gupta <hemantg@codeaurora.org> MAP: Fix ANR for blocking operations on UI thread

UseCase:
Stability Testing steps followed:
1. Pair and connect with remote phone.
2. Verify successful profile connection.
3. Pair & Connect LE device.
4. Disconnect & Unpair LE device.
5. Reset BT multiple times.
6. Repeat above steps 50 times

Failure:
ANR(s) reported for long running operations perfromed on main thread.

Fix:
- Attach MAPService session handler to looper from a
worker thread to avoid long running tasks handling
for messages posted from UI thread.

- Move AppObserver Account onChange() handling
to worker thread instead of UI thread.

- Avoid running contentobserver for SMS/MMS instance on
main thread looper to fix ANR reported while handling
content changes for SMS and MMS listing. Add NPE checks
hit during stability testing.

Change-Id: Ie146cd284fd191f7c7be7f0c1e7ed4877b36ae76
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
fc8dfd1e037cda063919d9160c9cdb604b9adfef 10-Sep-2015 Ashwini Munigala <AshwiniM@codeaurora.org> MAP: Add MNS SDP Search during setNotificationRegistration.

Precondition:
Verified with remote MCE device that starts MNS server
only before issuing setNotification Registration to MSE.

Use Case:
1. Discover and Pair with MSE from MCE.
2. Connect to MSE on Mas insance 0.
3. Enable Notification Registration for MAS Instance 0

Failure:
MNS connection happens over RFCOMM
and MAS Instance is connected over L2CAP.

Root Cause:
Current design performs MNS SDP search only at the time
of successful MAS Instance Connect. MNS connect implementation
tries connection over insecure RFCOMM channel based on UUID
when MNS Server record is not available.

Fix:
Add implementation to check and perform MNS SDP search
if this info is not available when MCE requests
setNotificationRegistration. This fix is required to
handle MCE implementation that start MNS Sever and
expose SDP only before sending setNotificationRegistration.

Change-Id: If1e8d33dcac078f04d13b8bacf8e1d1513c119e1
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
076020e00e229bfbcf268372ef65b93ef35ec4b9 23-Mar-2016 Hemant Gupta <hemantg@codeaurora.org> Merge "MAP: Fix ANR for blocking operations on UI thread"
am: 5c20542

* commit '5c205429a8003a68fd189915c5265296388b9e08':
MAP: Fix ANR for blocking operations on UI thread
b6fdf260e28b4eb6b5cdb19f53710c0470ffcad2 11-Mar-2016 Hemant Gupta <hemantg@codeaurora.org> MAP: Fix ANR for blocking operations on UI thread

UseCase:
Stability Testing steps followed:
1. Pair and connect with remote phone.
2. Verify successful profile connection.
3. Pair & Connect LE device.
4. Disconnect & Unpair LE device.
5. Reset BT multiple times.
6. Repeat above steps 50 times

Failure:
ANR(s) reported for long running operations perfromed on main thread.

Fix:
- Attach MAPService session handler to looper from a
worker thread to avoid long running tasks handling
for messages posted from UI thread.

- Move AppObserver Account onChange() handling
to worker thread instead of UI thread.

- Avoid running contentobserver for SMS/MMS instance on
main thread looper to fix ANR reported while handling
content changes for SMS and MMS listing. Add NPE checks
hit during stability testing.

Change-Id: Ie146cd284fd191f7c7be7f0c1e7ed4877b36ae76
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
fb21ad82f677817d7ffac060e5230f0387d33643 23-Mar-2016 Ashwini Munigala <AshwiniM@codeaurora.org> Merge "MAP: Add MNS SDP Search during setNotificationRegistration."
am: 9556063

* commit '9556063902bda98d28a0942509f94ea6973ebba9':
MAP: Add MNS SDP Search during setNotificationRegistration.
421d92eba334eb7082928c456c706182b08f4183 23-Mar-2016 Hemant Gupta <hemantg@codeaurora.org> Merge "MAP: Synchronize mMsgList to avoid extra MessageDeleted MNS event"
am: 3b377be

* commit '3b377bee36cd6f5427f48feaa4f921a6d902cf01':
MAP: Synchronize mMsgList to avoid extra MessageDeleted MNS event
e6564029f132077c8a4877431a95899db201e506 10-Sep-2015 Ashwini Munigala <AshwiniM@codeaurora.org> MAP: Add MNS SDP Search during setNotificationRegistration.

Precondition:
Verified with remote MCE device that starts MNS server
only before issuing setNotification Registration to MSE.

Use Case:
1. Discover and Pair with MSE from MCE.
2. Connect to MSE on Mas insance 0.
3. Enable Notification Registration for MAS Instance 0

Failure:
MNS connection happens over RFCOMM
and MAS Instance is connected over L2CAP.

Root Cause:
Current design performs MNS SDP search only at the time
of successful MAS Instance Connect. MNS connect implementation
tries connection over insecure RFCOMM channel based on UUID
when MNS Server record is not available.

Fix:
Add implementation to check and perform MNS SDP search
if this info is not available when MCE requests
setNotificationRegistration. This fix is required to
handle MCE implementation that start MNS Sever and
expose SDP only before sending setNotificationRegistration.

Change-Id: If1e8d33dcac078f04d13b8bacf8e1d1513c119e1
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
ea6b2c977e8a621f160f37ef0d36db91d5c29834 21-Aug-2015 Hemant Gupta <hemantg@codeaurora.org> MAP: Synchronize mMsgList to avoid extra MessageDeleted MNS event

Precondition:
There are no messages in Messaging App.

Use Case:
1. Connect to MSE on Mas insance 0,
Register and Enable Event Notifications from any MCE.
2. Set Path to root.
3. Set Path to telecom.
4. Set Path to msg.
5. Set Path to outbox.
6. Compose an SMS and add the recipient.
7. Click PushMessage option.

Failure:
Map Server sends a unexpected MessageDeleted EventReport Notification
even though PushMessage received from MCE is processed Successfully.

Root Cause:
Issue happens only for one corner case, where onChange() gets triggered
while processing a local initiated pushMsg before the entry is appended
to database, as local MsgListSms contains an extra entry for newly added
msg from MCE.

Fix:
Synchronize contentObserver mMsgList SMS/MMS to update list with
local initiated changes before fetching complete database list and
handling onChange() to avoid extra MessageDeleted MNS event.

Change-Id: Id4d5dad4d2b4b1e17f40218c11d13e39c9b885a0
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
1983bccf614d61dfcf20ba3cbf14f4ebf7f49943 07-Sep-2015 Ashwini Munigala <AshwiniM@codeaurora.org> DO NOT MERGE Fix SMS delivered successfully but stuck SENDING issue

Receive and handle ACTION_MESSAGE_SENT intent for SMS type
message to move it to SENT folder when pushMessage request
from MCE is processed and SMS delivered successfully.

Bug: 22343270
CRs-Fixed: 903561
Change-Id: I337fb1fb870873bf9f1add58d6d898465fc003c8
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
4f341a3ac7cdfd7c976a9eb59117542d50458398 07-Sep-2015 Ashwini Munigala <AshwiniM@codeaurora.org> Fix SMS delivered successfully but stuck SENDING issue

Receive and handle ACTION_MESSAGE_SENT intent for SMS type
message to move it to SENT folder when pushMessage request
from MCE is processed and SMS delivered successfully.

Change-Id: I9dafffc737a34233ede2d10e22cd969f520a12cf
CRs-Fixed: 903561
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
0ebd4e58920add6114b1f345b7d95e0709096fe3 09-Sep-2015 Ajay Panicker <apanicke@google.com> Move SMS message to proper folder after sending

Move a SMS message to the correct folder upon receiving an intent
detailing if the message was succesfully sent or not. If sent
successfully, move to the SENT folder, otherwise move it to
the FAILED folder.

Bug: 22992865
Change-Id: Ifdcfb7bb613844f507ef27460ead520c6573b89d
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
edb6da171b8b7a6f9d4aa5a773d734a464f1ec66 20-Jul-2015 Miao Chou <mcchou@google.com> Fix security vulnerabilities in permission of deleting MMS/SMS

This CL adds permission and PID checks to avoid unauthorized deletion of any
MMS/SMS messages in BluetoothMapContentObserver.actionMessageSentDisconnected
function.

Bug: 22343270
Change-Id: I30254036309733be4d54db17a8ef17a571cd1c5a
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
cd72c4dfe4db77c6df24db94f8d9a04efff7ab1d 12-May-2015 Hemant Gupta <hemantg@codeaurora.org> MAP: Fix MAP server inter-op issues

- Fix no recipient address info available when GETMessage
and MessagesListing requested on Draft folder. Fetch
Draft recipient address from "canonical_address" table
based on threadId when no address available from regular
"sms" table in telephony database.
- Avoid dummy entry in sms database when requested to push a
empty message. Reject empty SMS body and handle a possible
exception from telephony stack for invalid message body.
- Send MMS complete "size" as attachment size fetched from
database and subject or text length available.
- Donot include "old_folder" info in MessageDeleted MNS event.
As per Spec, only MessageShift event should use the later info.
- Handle possible exception while processing message listing.
A case where message is saved in draft with no recipeint name,
when we try to fetch contact name during messagelisting, null
number passed to ContactsProvider would cause IllegalArgumentException.
Add null and empty check before quering contact provider.

Change-Id: I5f2234ae7e50ed719a31f463e372d2026988539c
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
2e7dd83a6b3b4bf15e0dec6aad9ab826e6e2531b 22-Apr-2015 Hemant Gupta <hemantg@codeaurora.org> MAP: Fix possible NullPointerException while GetMessagesListing

Fix possible NullPointerException while processing GetMessagesListing
on a MSE without a valid SIM , case wherein invalid messageType value
occurs on MAP SMS/MMS Instance. Now by default SMS type is set to GSM.

Following basic PTS test cases and also other PTS cases dependent on
GetMessagesListing functionality fail without this fix:
TC_MSE_MMB_BV_11_I
TC_MSE_MMB_BV_20_I
TC_MSE_MMU_BV_02_I

Change-Id: I8ed0a2787534159342af88ec413a1c0407961d91
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
ed70219e41ba68196798dcbf75b782d13fb88603 06-Mar-2015 kschulz <k.schulz@samsung.com> MAP: Change MMS to use new API to send message

Removed the send MMS message intent, and replaced by
SmsManager.sendMultimediaMessage()

Change-Id: I226b7b0e8fdb101ab160563937ae6e7a1a13be41
Signed-off-by: Casper Bonde <c.bonde@samsung.com>
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
5a60e47497f21f64e6d79420dc4c56c1907df22a 17-Mar-2015 kschulz <k.schulz@samsung.com> Update to Bluetooth MAP 1.2 (server)

- Change folder name lookup to a map
Replaced the arrays used to convert mailbox ID/msg type to a folder name with a static map.
This is to avoid null pointer exception for unknown values, and to catch any changes in
the ID/type values at compile time in stead of runtime.
Bug-id:16874441
- Added Instance Information support and Extended Event support.
Still missing integration wiht SDP MAP feature bit mask support
- Adding Abstract implementation to support conversations
- added IM account handling, IM type definition, Application paramenters.
- addedgetConversactionList functionality
- added method to strip encoding in headers
- Fixed messagelist showing both email address and name in the name fields.
- Fixed Index out of bounds exception was hit when the subject contained invalid chars.
- Added functionality to support the getConversationListReq
Works for SMS/MMS, Email and IM
For Email/IM it depends on the convoContact table in the contract.
For SMS/MMS it uses the contact number+ name if available in contact database.
- Added new parameters to msgListing also in contract class
- Added Test framework for "near system level" tests
Currently only includes an entry point for single device tests.
- Added support for setOwnerStatus
- Added support for vcard type X-BT-UID
- Introduced type SignedLongLong to handle 128 bit values which needs to be handled as hex-strings.
- Added convocontact notification events for IM
- Added support for IM getMessage
- Added setEventFilter function.
- Added event filtering before enquing an event to be send.
- Added selective observers, depending on the active filter.
- Fixed timestamp to be from seconds to seconds (not from milisec)
- Fixed version number in bMessage if remote featurebit is set for v 1.1
- Added content encoding to QP for text that are not USACII
- Corrected the addresses in to/from for IM messages
- Added btuid and btuci to vcard
- Fixed (some) longlines
- Added extendedData support (empty when sending, just logging when receiving)
- Fixed Email folderName compairison changed to ignore case
- Fixed problem with names containing "null"
- BluetoothMapbMessageMms changed to BluetoothMapbMessageMime
- Fixrf addOriginator in getMessage request
- Add missing subjects in events for SMS
- Don't send ReadStatusChanged when pushing a message
- Temp way of adding names/uci to IM msg listing
- Added messageHandle filtering in msgListing
- Convolisting parameter mask support
- Added support for using handle when filtering in root folder during msgLising
- Added subject to event in sms
- Fixed so attribute_mime_type is only sent when parameter is requested
- Fixed feature bit check to messageListing version
- Fixed leaking cursors
- Added support for database identifier
- Added folder and conversation version counters

Change-Id: I4d2954b795aa7ed2a41dd034384da30f240b518f
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
28446a56718e80574ba7b81901fc5a1368bf5839 10-Dec-2014 Kim Schulz <k.schulz@samsung.com> Prevent Cursor leakage in Bluetooth MAP

Bug: 18415378
Change-Id: Id513ee848dd21c641d77be38bdc6be85b5ef87a8
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
326b5e610063ac24c0ba467ac585bd4c7f618a67 24-Jul-2014 Casper Bonde <c.bonde@samsung.com> BT MAP: added support for email sharing over BT

- added support for Emails
- added activity to do setup of the email accounts to share
- added improved handling of MMS, SMS and Email
- Many optimizations to speed (especially getMessageListing)
- fixed wakelock problem
- fixed user timeout problem when user do not react to msg access request
- added missing privileges
- support for Quoted Printable format
- added accountId in test case URIs
- fixed problem with service numbers being strings
- fixed problem with read flag in getMessage
- added support for transparent flag in Email Push
- added missing send-event for non-imap accounts
- set attachment size to 0 if text-only message
- fixed double send for sms messages with retry
- removed secondary phone numbers from recipient/originator
- removed insert-address-token in MMS messages
- fixed null-pointer exception in settings (missing extra in intent)
- send text-only mms as sms (workaround to make it cheaper)
- fixed rejection of native and fraction requests
- better handling of unknown message types in push
- fixed problem with possible illigal xml chars in message listing
- added missing WRITE_APN_SETTINGS permission to manifest
- fixed problem with notifications when pushing to folders other than OUTBOX
- removed debugging code
- added support for threadId
- fixed permission problems
- changed to use ContentProviderClients for Email app access
- fixed names for member vars

UPDATE: Moved the MAP E-mail API to the bluetooth package.

UPDATE: Added check for the presense of MMS parts.
This is needed due to a change in the MMS app/subsystem,
where deleted messages gets corrupted.

Signed-off-by: Casper Bonde <c.bonde@samsung.com>
Change-Id: Ib5dbe7c2d5c0ba8d978ae843d840028592e3cab4
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
ff0887813a704d9b1cca118499b8ed0a68682ef1 29-Jun-2014 Hemant Gupta <hemantg@codeaurora.org> am 0e7e1496: MAP: Fix MNS observer sync and sendevent exception issue.

* commit '0e7e149687b0b5e340991b20c9d8e5232e8d3e39':
MAP: Fix MNS observer sync and sendevent exception issue.
5dab95cba01eeea272f9e9e96faf3b11f84a4ad9 29-Jun-2014 Hemant Gupta <hemantg@codeaurora.org> am 400eaf87: MAP: Fix fatal exception due to missing looper for current thread

* commit '400eaf8761223196a18b84247b066f0201226c3b':
MAP: Fix fatal exception due to missing looper for current thread
0e7e149687b0b5e340991b20c9d8e5232e8d3e39 08-Nov-2013 Hemant Gupta <hemantg@codeaurora.org> MAP: Fix MNS observer sync and sendevent exception issue.

Allow MNS Client sendEvent only when MNS Client is registered
and connected to fix NullPointer exceptions. Mark MNS disconnect
and observer registration as synchronized to handle synchronization
for operations from worker and main threads.

Change-Id: If34a6b67a1774f693ed42cfb6c871cd9563abe55
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
400eaf8761223196a18b84247b066f0201226c3b 23-Oct-2013 Hemant Gupta <hemantg@codeaurora.org> MAP: Fix fatal exception due to missing looper for current thread

While creating handler for the thread, there was fatal exception getting
thrown because the present thread does not have a looper. So passing the
applications looper to be used , while creating the handler to avoid this
exception.

Change-Id: Id8c121439d7a93af7592a15df67523e96a1312ff
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
010b179cdad1ecc9940b771698d0af90518596d1 08-Apr-2014 Matthew Xie <mattx@google.com> am 5aace9b6: Merge "MAP: Fix MMS pushMessage from OUTBOX to SENT folder"

* commit '5aace9b695c57beffb53c16f4426319baeb79900':
MAP: Fix MMS pushMessage from OUTBOX to SENT folder
ed0c6ae1773ad1f4249fe3cf7447d7033195f222 29-Jan-2014 Ashwini Munigala <AshwiniM@codeaurora.org> MAP: Fix MMS pushMessage from OUTBOX to SENT folder

Fix content type value for MMS pushMessage
from MAP to OUTBOX to be successfully SENT over
network and listed in SENT folder.

Change-Id: I068619481355c19716627fef434f1f80bd2c2d23
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
2e7c4d9904b097efe6f07d31af3793b96b4d4e77 10-Oct-2013 Kim Schulz <k.schulz@samsung.com> MAP: make MMS parsing more robust

Some devices are not following the specs correctly and send plan-text as MMS without the right headers.
This patch makes the MMS parser more robust against faulty MMS messages.

Bug: 11161383
Change-Id: If5e59f9daaab4537cfe5d06e6203ae783e311fd3
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
c3ec58fcc54cb33635f4dee746ee22cb8b0e3210 10-Oct-2013 Zhihai Xu <zhihaixu@google.com> Remove MMS support from MAP profile

reject to push MMS message, will support it in the future
bug 10296324

Change-Id: Idf2aa081b049e323422223d7b24f6404de2d7184
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
fac695e2dc25510b12684217d066b86dbbbba176 20-Sep-2013 Zhihai Xu <zhihaixu@google.com> resource leakage in bluetooth MAP when empty message in phone.

bug:10844044
Change-Id: I60c1b0206d7ba4653d149bee2f9f0dd6da6a5afb
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
70be005a18a35ec5fcb46152f0dfbe82156efa3a 22-Aug-2013 Kim Schulz <k.schulz@samsung.com> Fixes to the google review comments + spec 1.1

- updated code to comply with MAP spec 1.1
- removed activity + strings.xml
- removed unused notification code
- fixed TODOs
- added more string validation and case insensitivity
- fixed internal+google review comments
- Added dump of incoming bMessages to /sdcard/bluetooth/log when verbose debug in enabled. Only the latest received message will be stored
- Fix functions msgListingSize and msgListingHasUnread to also consider mms filter message type
- Fix wrong tag length define for notification status parameter
- Re-added shutdown code to interupt the MNS
- removed map activity
- Added initial bluetooth map unit tests
- Fix map event report xml start tag to uppercase 'MAP'
- added support for using ProfileService class
- changed the way the Broadcast Receiver was implemented
- Fixed minor bugs found during Automotive Test Event
- FilterPeriod application parameters can be present, but with zero length
- For MMS the end-boundary were added too early
- The FOLDER entry in bMessage can be empty for a message push
- Wrong error value returned for a set status operation with a wrong handle
- In getMessage() exclude all binary content and smil.xml if the appParam attachment is set to "no".
- Set correct content id and content location for mms. Fix mms mime parser bug.
- moved disconnect to Handler thread
- fixed multipart-message split bug.
- added a few Unit tests for multi-part messages
- MMS parser optimized
- fixed exception in MNS obex Client
- fixed problem with Native PDUs not getting correct timestamp
- corrected mixup in ordinator/recipient for MMS

Change-Id: I3875762822a7f8ce0132065e0da5d0257e3850a1
Bug:10692365
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
fd6603b8bf9ed72dcc8bd59aaef3209251b6e17c 19-Jul-2013 Matthew Xie <mattx@google.com> Bluetooth MAP profile - sms and mms support initial check-in

bug:10116530

Change-Id: If9ce878d71c1e1b12416014c433da03b3033e158
/packages/apps/Bluetooth/src/com/android/bluetooth/map/BluetoothMapContentObserver.java