mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-12-26 10:35:50 +01:00
Set the time during initialization. Necessary for steps tracking.
Also see #31
This commit is contained in:
parent
8e25c03350
commit
5a458611e2
@ -1,9 +1,5 @@
|
|||||||
package nodomain.freeyourgadget.gadgetbridge.miband;
|
package nodomain.freeyourgadget.gadgetbridge.miband;
|
||||||
|
|
||||||
import android.bluetooth.BluetoothGatt;
|
|
||||||
import android.bluetooth.BluetoothGattCharacteristic;
|
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
@ -12,6 +8,9 @@ import nodomain.freeyourgadget.gadgetbridge.GBCommand;
|
|||||||
import nodomain.freeyourgadget.gadgetbridge.GBDevice.State;
|
import nodomain.freeyourgadget.gadgetbridge.GBDevice.State;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.btle.AbstractBTLEDeviceSupport;
|
import nodomain.freeyourgadget.gadgetbridge.btle.AbstractBTLEDeviceSupport;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.btle.TransactionBuilder;
|
import nodomain.freeyourgadget.gadgetbridge.btle.TransactionBuilder;
|
||||||
|
import android.bluetooth.BluetoothGatt;
|
||||||
|
import android.bluetooth.BluetoothGattCharacteristic;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
public class MiBandSupport extends AbstractBTLEDeviceSupport {
|
public class MiBandSupport extends AbstractBTLEDeviceSupport {
|
||||||
|
|
||||||
@ -23,7 +22,7 @@ public class MiBandSupport extends AbstractBTLEDeviceSupport {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected TransactionBuilder initializeDevice(TransactionBuilder builder) {
|
protected TransactionBuilder initializeDevice(TransactionBuilder builder) {
|
||||||
pair(builder).sendUserInfo(builder);
|
pair(builder).sendUserInfo(builder).setCurrentTime(builder);
|
||||||
return builder;
|
return builder;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,7 +123,20 @@ public class MiBandSupport extends AbstractBTLEDeviceSupport {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSetTime(long ts) {
|
public void onSetTime(long ts) {
|
||||||
// TODO Not sure about the ts value
|
try {
|
||||||
|
TransactionBuilder builder = performInitialized("Set date and time");
|
||||||
|
setCurrentTime(builder);
|
||||||
|
builder.queue(getQueue());
|
||||||
|
} catch (IOException ex) {
|
||||||
|
Log.e(TAG, "Unable to set time on MI device", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the current time to the Mi device using the given builder.
|
||||||
|
* @param builder
|
||||||
|
*/
|
||||||
|
private MiBandSupport setCurrentTime(TransactionBuilder builder) {
|
||||||
Calendar now = Calendar.getInstance();
|
Calendar now = Calendar.getInstance();
|
||||||
byte[] time = new byte[]{
|
byte[] time = new byte[]{
|
||||||
(byte) (now.get(Calendar.YEAR) - 2000),
|
(byte) (now.get(Calendar.YEAR) - 2000),
|
||||||
@ -140,18 +152,13 @@ public class MiBandSupport extends AbstractBTLEDeviceSupport {
|
|||||||
(byte) 0x0f,
|
(byte) 0x0f,
|
||||||
(byte) 0x0f
|
(byte) 0x0f
|
||||||
};
|
};
|
||||||
try {
|
|
||||||
TransactionBuilder builder = performInitialized("Set date and time");
|
|
||||||
BluetoothGattCharacteristic characteristic = getCharacteristic(MiBandService.UUID_CHARACTERISTIC_DATE_TIME);
|
BluetoothGattCharacteristic characteristic = getCharacteristic(MiBandService.UUID_CHARACTERISTIC_DATE_TIME);
|
||||||
if (characteristic != null) {
|
if (characteristic != null) {
|
||||||
builder.write(characteristic, time);
|
builder.write(characteristic, time);
|
||||||
} else {
|
} else {
|
||||||
Log.i(TAG, "Unable to set time -- characteristic not available");
|
Log.i(TAG, "Unable to set time -- characteristic not available");
|
||||||
}
|
}
|
||||||
} catch (IOException ex) {
|
return this;
|
||||||
Log.e(TAG, "Unable to set time on MI device", ex);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user