From da74ad036a648290b38967620e18d46333f1fa52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Rebelo?= Date: Fri, 26 Jul 2024 23:21:48 +0100 Subject: [PATCH] Xiaomi Protobuf: Fix deleting first screen --- .../gadgetbridge/devices/xiaomi/XiaomiWidgetManager.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/XiaomiWidgetManager.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/XiaomiWidgetManager.java index fb68d81bd..ccc46bf9f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/XiaomiWidgetManager.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/XiaomiWidgetManager.java @@ -346,12 +346,19 @@ public class XiaomiWidgetManager implements WidgetManager { final XiaomiProto.WidgetScreens.Builder builder = XiaomiProto.WidgetScreens.newBuilder(rawWidgetScreens) .clearWidgetScreen(); + int i = 1; for (final XiaomiProto.WidgetScreen screen : rawWidgetScreens.getWidgetScreenList()) { if (String.valueOf(screen.getId()).equals(widgetScreen.getId())) { continue; } - builder.addWidgetScreen(screen); + // Ensure the IDs stay sequential and start at 1 + builder.addWidgetScreen( + XiaomiProto.WidgetScreen.newBuilder() + .mergeFrom(screen) + .setId(i++) + .build() + ); } getPrefs().getPreferences().edit()