mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-11-28 04:46:51 +01:00
Implement setting the time on the miband.
It works from the debug activity, since I am not sure about the value of the ts argument, it always sets the current time.
This commit is contained in:
parent
cf681a089a
commit
98696ce9e2
@ -6,6 +6,7 @@ import android.util.Log;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.UUID;
|
||||
import java.util.Calendar;
|
||||
|
||||
import nodomain.freeyourgadget.gadgetbridge.GBCommand;
|
||||
import nodomain.freeyourgadget.gadgetbridge.GBDevice.State;
|
||||
@ -123,7 +124,33 @@ public class MiBandSupport extends AbstractBTLEDeviceSupport {
|
||||
|
||||
@Override
|
||||
public void onSetTime(long ts) {
|
||||
// TODO Auto-generated method stub
|
||||
// TODO Not sure about the ts value
|
||||
Calendar now = Calendar.getInstance();
|
||||
byte[] time = new byte[] {
|
||||
(byte) (now.get(Calendar.YEAR) - 2000),
|
||||
(byte) now.get(Calendar.MONTH),
|
||||
(byte) now.get(Calendar.DATE),
|
||||
(byte) now.get(Calendar.HOUR_OF_DAY),
|
||||
(byte) now.get(Calendar.MINUTE),
|
||||
(byte) now.get(Calendar.SECOND),
|
||||
(byte) 0x0f,
|
||||
(byte) 0x0f,
|
||||
(byte) 0x0f,
|
||||
(byte) 0x0f,
|
||||
(byte) 0x0f,
|
||||
(byte) 0x0f
|
||||
};
|
||||
try {
|
||||
TransactionBuilder builder = performInitialized("Set date and time");
|
||||
BluetoothGattCharacteristic characteristic = getCharacteristic(MiBandService.UUID_CHARACTERISTIC_DATE_TIME);
|
||||
if (characteristic != null) {
|
||||
builder.write(characteristic, time);
|
||||
} else {
|
||||
Log.i(TAG, "Unable to set time -- characteristic not available");
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
Log.e(TAG, "Unable to set time on MI device", ex);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user