1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-12-01 14:32:54 +01:00

Add action to request connection priority

This commit is contained in:
José Rebelo 2023-06-10 17:00:40 +01:00
parent 42c37c04a0
commit 46dfd1040a
2 changed files with 50 additions and 0 deletions

View File

@ -28,6 +28,7 @@ import androidx.annotation.RequiresApi;
import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.NotifyAction; import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.NotifyAction;
import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.ReadAction; import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.ReadAction;
import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.RequestConnectionPriorityAction;
import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.RequestMtuAction; import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.RequestMtuAction;
import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.WaitAction; import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.WaitAction;
import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.WriteAction; import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.WriteAction;
@ -66,6 +67,12 @@ public class TransactionBuilder {
); );
} }
public TransactionBuilder requestConnectionPriority(int mtu){
return add(
new RequestConnectionPriorityAction(mtu)
);
}
public TransactionBuilder notify(BluetoothGattCharacteristic characteristic, boolean enable) { public TransactionBuilder notify(BluetoothGattCharacteristic characteristic, boolean enable) {
if (characteristic == null) { if (characteristic == null) {
LOG.warn("Unable to notify characteristic: null"); LOG.warn("Unable to notify characteristic: null");

View File

@ -0,0 +1,43 @@
/* Copyright (C) 2023 José Rebelo
This file is part of Gadgetbridge.
Gadgetbridge is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Gadgetbridge is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.service.btle.actions;
import android.annotation.SuppressLint;
import android.bluetooth.BluetoothGatt;
import nodomain.freeyourgadget.gadgetbridge.service.btle.BtLEAction;
public class RequestConnectionPriorityAction extends BtLEAction {
private int priority;
public RequestConnectionPriorityAction(int priority) {
super(null);
this.priority = priority;
}
@Override
public boolean expectsResult() {
return true;
}
@Override
@SuppressLint("MissingPermission")
public boolean run(final BluetoothGatt gatt) {
return gatt.requestConnectionPriority(priority);
}
}