From dad97f9e960415cc537716642597365b92e3ac3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Rebelo?= Date: Sat, 28 Oct 2023 21:43:54 +0100 Subject: [PATCH] Xiaomi: Update weather AQI and warning proto --- .../devices/xiaomi/services/XiaomiWeatherService.java | 4 ++-- app/src/main/proto/xiaomi.proto | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/services/XiaomiWeatherService.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/services/XiaomiWeatherService.java index 73c1b3625..b51d7e480 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/services/XiaomiWeatherService.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/services/XiaomiWeatherService.java @@ -71,7 +71,7 @@ public class XiaomiWeatherService extends AbstractXiaomiService { final XiaomiCoordinator coordinator = getSupport().getCoordinator(); if (coordinator.supportsMultipleWeatherLocations()) { - // TODO actually support multiple locations + // TODO actually support multiple locations (primary + 4 secondary) getSupport().sendCommand( "set current location", XiaomiProto.Command.newBuilder() @@ -124,7 +124,7 @@ public class XiaomiWeatherService extends AbstractXiaomiService { .setAQI(weatherSpec.airQuality != null && weatherSpec.airQuality.aqi >= 0 ? weatherSpec.airQuality.aqi : 0) ) .setWarning(XiaomiProto.WeatherCurrentWarning.newBuilder() - .setCurrentWarning1(XiaomiProto.WeatherCurrentWarning1.newBuilder() + .addCurrentWarning1(XiaomiProto.WeatherCurrentWarning1.newBuilder() .setCurrentWarningText("") .setCurrentWarningSeverityText("") ) diff --git a/app/src/main/proto/xiaomi.proto b/app/src/main/proto/xiaomi.proto index 138a6911b..5ddc8dd7d 100644 --- a/app/src/main/proto/xiaomi.proto +++ b/app/src/main/proto/xiaomi.proto @@ -677,16 +677,19 @@ message WeatherCurrentUnk6 { message WeatherCurrentAQI { optional string AQIText = 1; - optional uint32 AQI = 2; + optional sint32 AQI = 2; } message WeatherCurrentWarning { - optional WeatherCurrentWarning1 currentWarning1 = 1; // FIXME: this is probably an array + repeated WeatherCurrentWarning1 currentWarning1 = 1; } message WeatherCurrentWarning1 { optional string currentWarningText = 1; optional string currentWarningSeverityText = 2; + optional string currentWarningTitle = 3; + optional string currentWarningDescription = 4; + optional string unk5 = 5; } message WeatherCurrentLocation {