summaryrefslogtreecommitdiff
path: root/src/com/android/car
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/car')
-rw-r--r--src/com/android/car/messenger/MapMessage.java11
-rw-r--r--src/com/android/car/messenger/MessengerDelegate.java1
2 files changed, 11 insertions, 1 deletions
diff --git a/src/com/android/car/messenger/MapMessage.java b/src/com/android/car/messenger/MapMessage.java
index c7e91e6..86bc543 100644
--- a/src/com/android/car/messenger/MapMessage.java
+++ b/src/com/android/car/messenger/MapMessage.java
@@ -19,6 +19,7 @@ package com.android.car.messenger;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothMapClient;
import android.content.Intent;
+import com.android.car.messenger.log.L;
import androidx.annotation.Nullable;
@@ -26,6 +27,7 @@ import androidx.annotation.Nullable;
* Represents a message obtained via MAP service from a connected Bluetooth device.
*/
class MapMessage {
+ private static final String TAG = "CM.MapMessage";
private String mDeviceAddress;
private String mHandle;
private String mSenderName;
@@ -41,11 +43,18 @@ class MapMessage {
* {@link BluetoothMapClient#ACTION_MESSAGE_RECEIVED} broadcast.
*
* @param intent intent received from MAP service
- * @return message constructed from extras in {@code intent}
+ * @return message constructed from extras in {@code intent}, or null if this is a group
+ * conversation.
* @throws NullPointerException if {@code intent} is missing the device extra
* @throws IllegalArgumentException if {@code intent} is missing any other required extras
*/
+ @Nullable
public static MapMessage parseFrom(Intent intent) {
+ if (intent.getStringArrayExtra(Intent.EXTRA_CC) != null
+ && intent.getStringArrayExtra(Intent.EXTRA_CC).length > 0) {
+ L.i(TAG, "Skipping group conversation message");
+ return null;
+ }
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
String handle = intent.getStringExtra(BluetoothMapClient.EXTRA_MESSAGE_HANDLE);
String senderUri = intent.getStringExtra(BluetoothMapClient.EXTRA_SENDER_CONTACT_URI);
diff --git a/src/com/android/car/messenger/MessengerDelegate.java b/src/com/android/car/messenger/MessengerDelegate.java
index 8fb77d7..137aaad 100644
--- a/src/com/android/car/messenger/MessengerDelegate.java
+++ b/src/com/android/car/messenger/MessengerDelegate.java
@@ -93,6 +93,7 @@ public class MessengerDelegate implements BluetoothMonitor.OnBluetoothEventListe
public void onMessageReceived(Intent intent) {
try {
MapMessage message = MapMessage.parseFrom(intent);
+ if (message == null) return;
L.d(TAG, "Received message from " + message.getDeviceAddress());
MessageKey messageKey = new MessageKey(message);