Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 972bcd33 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Enable sending group MMS" am: 5e920874 am: acc0a26c

Change-Id: I0ee5582199e074c8ef3125125ff0cdc8454c4f49
parents 9ac30691 acc0a26c
Loading
Loading
Loading
Loading
+20 −6
Original line number Original line Diff line number Diff line
@@ -2683,7 +2683,21 @@ public class BluetoothMapContentObserver {
                }
                }
                getMsgListMsg().put(handle, newMsg);
                getMsgListMsg().put(handle, newMsg);
            }
            }
        } else { // type SMS_* of MMS
        } else if (msg.getType().equals(TYPE.MMS) && (recipientList.size() > 1)) {
            // Group MMS
            String folder = folderElement.getName();
            ArrayList<String> telNums = new ArrayList<String>();
            for (BluetoothMapbMessage.VCard recipient : recipientList) {
                // Only send the message to the top level recipient
                if (recipient.getEnvLevel() == 0) {
                    // Only send to recipient's first phone number
                    telNums.add(recipient.getFirstPhoneNumber());
                }
            }
            // Send message if folder is outbox else just store in draft
            handle = sendMmsMessage(folder, telNums.toArray(new String[telNums.size()]),
                    (BluetoothMapbMessageMime) msg, transparent, retry);
        } else { // type SMS_* (single or mass text) or single MMS
            for (BluetoothMapbMessage.VCard recipient : recipientList) {
            for (BluetoothMapbMessage.VCard recipient : recipientList) {
                // Only send the message to the top level recipient
                // Only send the message to the top level recipient
                if (recipient.getEnvLevel() == 0) {
                if (recipient.getEnvLevel() == 0) {
@@ -2720,8 +2734,8 @@ public class BluetoothMapContentObserver {


                    if (msg.getType().equals(TYPE.MMS)) {
                    if (msg.getType().equals(TYPE.MMS)) {
                        /* Send message if folder is outbox else just store in draft*/
                        /* Send message if folder is outbox else just store in draft*/
                        handle = sendMmsMessage(folder, phone, (BluetoothMapbMessageMime) msg,
                        handle = sendMmsMessage(folder, new String[] {phone},
                                transparent, retry);
                                (BluetoothMapbMessageMime) msg, transparent, retry);
                    } else if (msg.getType().equals(TYPE.SMS_GSM) || msg.getType()
                    } else if (msg.getType().equals(TYPE.SMS_GSM) || msg.getType()
                            .equals(TYPE.SMS_CDMA)) {
                            .equals(TYPE.SMS_CDMA)) {
                        /* Add the message to the database */
                        /* Add the message to the database */
@@ -2811,7 +2825,7 @@ public class BluetoothMapContentObserver {
        return handle;
        return handle;
    }
    }


    public long sendMmsMessage(String folder, String toAddress, BluetoothMapbMessageMime msg,
    public long sendMmsMessage(String folder, String[] toAddress, BluetoothMapbMessageMime msg,
            int transparent, int retry) {
            int transparent, int retry) {
        /*
        /*
         *strategy:
         *strategy:
@@ -2896,7 +2910,7 @@ public class BluetoothMapContentObserver {
        }
        }
    }
    }


    private long pushMmsToFolder(int folder, String toAddress, BluetoothMapbMessageMime msg) {
    private long pushMmsToFolder(int folder, String[] toAddress, BluetoothMapbMessageMime msg) {
        /**
        /**
         * strategy:
         * strategy:
         * 1) parse msg into parts + header
         * 1) parse msg into parts + header
@@ -3096,7 +3110,7 @@ public class BluetoothMapContentObserver {


        values.clear();
        values.clear();
        values.put(Mms.Addr.CONTACT_ID, "null");
        values.put(Mms.Addr.CONTACT_ID, "null");
        values.put(Mms.Addr.ADDRESS, toAddress);
        values.put(Mms.Addr.ADDRESS, String.join(",", toAddress));
        values.put(Mms.Addr.TYPE, BluetoothMapContent.MMS_TO);
        values.put(Mms.Addr.TYPE, BluetoothMapContent.MMS_TO);
        values.put(Mms.Addr.CHARSET, 106);
        values.put(Mms.Addr.CHARSET, 106);