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

Commit fabcf522 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 12247339 from aff4a423 to 24Q4-release

Change-Id: I623b9dcdf3f1525ddbbbad4106b7e50161f24bea
parents f6cbdd9a aff4a423
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -131,8 +131,8 @@ class MceStateMachine extends StateMachine {
    // URI Scheme for messages with email contact
    private static final String SCHEME_MAILTO = "mailto";

    private static final String FETCH_MESSAGE_TYPE =
            "persist.bluetooth.pts.mapclient.fetchmessagetype";
    private static final String EXCLUDED_MESSAGE_TYPES =
            "persist.bluetooth.pts.mapclient.excludedmessagetypes";
    private static final String SEND_MESSAGE_TYPE =
            "persist.bluetooth.pts.mapclient.sendmessagetype";

@@ -734,12 +734,14 @@ class MceStateMachine extends StateMachine {
                    // Get the 50 most recent messages from the last week
                    Calendar calendar = Calendar.getInstance();
                    calendar.add(Calendar.DATE, -7);
                    // bit mask - messageType discludes unsupported message types
                    byte messageType =
                    // bit mask - excludedMessageType filters out unsupported message types
                    byte excludedMessageTypes =
                            MessagesFilter.MESSAGE_TYPE_EMAIL | MessagesFilter.MESSAGE_TYPE_IM;
                    if (Utils.isPtsTestMode()) {
                        messageType =
                                (byte) SystemProperties.getInt(FETCH_MESSAGE_TYPE, messageType);
                        excludedMessageTypes =
                                (byte)
                                        SystemProperties.getInt(
                                                EXCLUDED_MESSAGE_TYPES, excludedMessageTypes);
                    }

                    mMasClient.makeRequest(
@@ -748,7 +750,7 @@ class MceStateMachine extends StateMachine {
                                    0,
                                    new MessagesFilter.Builder()
                                            .setPeriod(calendar.getTime(), null)
                                            .setMessageType(messageType)
                                            .setExcludedMessageTypes(excludedMessageTypes)
                                            .build(),
                                    0,
                                    50,
+8 −8
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ import java.util.Date;
 */
public final class MessagesFilter {

    public static final byte MESSAGE_TYPE_ALL = 0x00;
    public static final byte MESSAGE_TYPE_NONE = 0x00;
    public static final byte MESSAGE_TYPE_SMS_GSM = 0x01;
    public static final byte MESSAGE_TYPE_SMS_CDMA = 0x02;
    public static final byte MESSAGE_TYPE_EMAIL = 0x04;
@@ -25,7 +25,7 @@ public final class MessagesFilter {
    public static final byte PRIORITY_HIGH = 0x01;
    public static final byte PRIORITY_NON_HIGH = 0x02;

    public byte messageType = MESSAGE_TYPE_ALL;
    public byte excludedMessageTypes = MESSAGE_TYPE_NONE;

    public String periodBegin = null;

@@ -42,7 +42,7 @@ public final class MessagesFilter {
    public MessagesFilter() {}

    public MessagesFilter(MessagesFilter filter) {
        this.messageType = filter.messageType;
        this.excludedMessageTypes = filter.excludedMessageTypes;
        this.periodBegin = filter.periodBegin;
        this.periodEnd = filter.periodEnd;
        this.readStatus = filter.readStatus;
@@ -51,8 +51,8 @@ public final class MessagesFilter {
        this.priority = filter.priority;
    }

    public void setMessageType(byte filter) {
        messageType = filter;
    public void setExcludedMessageTypes(byte filter) {
        excludedMessageTypes = filter;
    }

    public void setPeriod(Date filterBegin, Date filterEnd) {
@@ -96,11 +96,11 @@ public final class MessagesFilter {
        /**
         * Sets the `Message Type` field of the filter.
         *
         * @param messageType to filter on.
         * @param excludedMessageTypes to filter on.
         * @return This {@link Builder} object.
         */
        public Builder setMessageType(byte messageType) {
            mMessagesFilter.setMessageType(messageType);
        public Builder setExcludedMessageTypes(byte excludedMessageTypes) {
            mMessagesFilter.setExcludedMessageTypes(excludedMessageTypes);
            return this;
        }

+2 −2
Original line number Diff line number Diff line
@@ -66,8 +66,8 @@ class RequestGetMessagesListing extends Request {
        ObexAppParameters oap = new ObexAppParameters();

        if (filter != null) {
            if (filter.messageType != MessagesFilter.MESSAGE_TYPE_ALL) {
                oap.add(OAP_TAGID_FILTER_MESSAGE_TYPE, filter.messageType);
            if (filter.excludedMessageTypes != MessagesFilter.MESSAGE_TYPE_NONE) {
                oap.add(OAP_TAGID_FILTER_MESSAGE_TYPE, filter.excludedMessageTypes);
            }

            if (filter.periodBegin != null) {
+3 −3
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ public class MessagesFilterTest {
    public void testBuilder() {
        String originator = "test_originator";
        String recipient = "test_recipient";
        byte messageType = MessagesFilter.MESSAGE_TYPE_EMAIL;
        byte excludedMessageTypes = MessagesFilter.MESSAGE_TYPE_EMAIL;
        byte readStatus = MessagesFilter.READ_STATUS_READ;
        byte priority = MessagesFilter.PRIORITY_HIGH;
        Calendar begin = Calendar.getInstance();
@@ -97,7 +97,7 @@ public class MessagesFilterTest {
                new MessagesFilter.Builder()
                        .setOriginator(originator)
                        .setRecipient(recipient)
                        .setMessageType(messageType)
                        .setExcludedMessageTypes(excludedMessageTypes)
                        .setReadStatus(readStatus)
                        .setPriority(priority)
                        .setPeriod(begin.getTime(), end.getTime())
@@ -105,7 +105,7 @@ public class MessagesFilterTest {

        assertThat(filter.originator).isEqualTo(originator);
        assertThat(filter.recipient).isEqualTo(recipient);
        assertThat(filter.messageType).isEqualTo(messageType);
        assertThat(filter.excludedMessageTypes).isEqualTo(excludedMessageTypes);
        assertThat(filter.readStatus).isEqualTo(readStatus);
        assertThat(filter.priority).isEqualTo(priority);
        assertThat(filter.periodBegin).isEqualTo((new ObexTime(begin.getTime())).toString());
+61 −3
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ public class BluetoothProxy {
    private BluetoothCsipSetCoordinator bluetoothCsis = null;
    private BluetoothVolumeControl bluetoothVolumeControl = null;
    private BluetoothHapClient bluetoothHapClient = null;
    private Map<LeAudioDeviceStateWrapper, BluetoothGatt> bluetoothGattMap = new HashMap<>();
    private BluetoothProfile.ServiceListener profileListener = null;
    private BluetoothHapClient.Callback hapCallback = null;
    private OnBassEventListener mBassEventListener;
@@ -87,7 +88,9 @@ public class BluetoothProxy {
                            allLeAudioDevicesMutable.getValue().stream()
                                    .filter(
                                            state ->
                                                    state.leAudioData.nodeStatusMutable.getValue()
                                                    state.leAudioData != null
                                                            && state.leAudioData.nodeStatusMutable
                                                                            .getValue()
                                                                    != null
                                                            && state.leAudioData
                                                                    .nodeStatusMutable
@@ -661,7 +664,9 @@ public class BluetoothProxy {
                                    allLeAudioDevicesMutable.getValue().stream()
                                            .filter(
                                                    state ->
                                                            state.leAudioData.nodeStatusMutable
                                                            state.leAudioData != null
                                                                    && state.leAudioData
                                                                                    .nodeStatusMutable
                                                                                    .getValue()
                                                                            != null
                                                                    && state.leAudioData
@@ -733,7 +738,9 @@ public class BluetoothProxy {
                                    allLeAudioDevicesMutable.getValue().stream()
                                            .filter(
                                                    state ->
                                                            state.leAudioData.nodeStatusMutable
                                                            state.leAudioData != null
                                                                    && state.leAudioData
                                                                                    .nodeStatusMutable
                                                                                    .getValue()
                                                                            != null
                                                                    && state.leAudioData
@@ -1344,6 +1351,57 @@ public class BluetoothProxy {
        }
    }

    public void connectGattBr(
            Context context, LeAudioDeviceStateWrapper device_wrapper, boolean connect) {

        BluetoothGatt bluetoothGatt = bluetoothGattMap.get(device_wrapper);
        if (bluetoothGatt == null) {
            bluetoothGatt =
                    device_wrapper.device.connectGatt(
                            context,
                            false,
                            new BluetoothGattCallback() {
                                public void onConnectionStateChange(
                                        BluetoothGatt gatt, int status, int newState) {
                                    LeAudioDeviceStateWrapper device_wrapper = null;
                                    for (Map.Entry<LeAudioDeviceStateWrapper, BluetoothGatt> entry :
                                            bluetoothGattMap.entrySet()) {
                                        if (gatt == entry.getValue()) {
                                            device_wrapper = entry.getKey();
                                            break;
                                        }
                                    }
                                    if (device_wrapper == null) {
                                        return;
                                    }

                                    switch (newState) {
                                        case BluetoothProfile.STATE_DISCONNECTED:
                                            device_wrapper.isGattBrConnectedMutable.postValue(
                                                    false);
                                            break;
                                        case BluetoothProfile.STATE_CONNECTED:
                                            device_wrapper.isGattBrConnectedMutable.postValue(true);
                                            break;
                                        default:
                                            break;
                                    }
                                }
                            }, BluetoothDevice.TRANSPORT_BREDR);
            bluetoothGattMap.put(device_wrapper, bluetoothGatt);
        }

        if (bluetoothGatt == null) {
            return;
        }

        if (connect) {
            bluetoothGatt.connect();
        } else {
            bluetoothGatt.disconnect();
        }
    }

    public boolean hapReadPresetInfo(BluetoothDevice device, int preset_index) {
        if (bluetoothHapClient == null) return false;

Loading