mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2025-01-13 11:17:33 +01:00
add more settings migration for settings that are now per-device
This commit is contained in:
parent
e6eba8fbe0
commit
d1ba702e75
@ -66,6 +66,7 @@ import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
|
|||||||
import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceService;
|
import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceService;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.model.ActivityUser;
|
import nodomain.freeyourgadget.gadgetbridge.model.ActivityUser;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.model.DeviceService;
|
import nodomain.freeyourgadget.gadgetbridge.model.DeviceService;
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.service.NotificationCollectorMonitorService;
|
import nodomain.freeyourgadget.gadgetbridge.service.NotificationCollectorMonitorService;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.util.AndroidUtils;
|
import nodomain.freeyourgadget.gadgetbridge.util.AndroidUtils;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.util.FileUtils;
|
import nodomain.freeyourgadget.gadgetbridge.util.FileUtils;
|
||||||
@ -74,6 +75,9 @@ import nodomain.freeyourgadget.gadgetbridge.util.GBPrefs;
|
|||||||
import nodomain.freeyourgadget.gadgetbridge.util.LimitedQueue;
|
import nodomain.freeyourgadget.gadgetbridge.util.LimitedQueue;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.util.Prefs;
|
import nodomain.freeyourgadget.gadgetbridge.util.Prefs;
|
||||||
|
|
||||||
|
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.AMAZFITBIP;
|
||||||
|
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.AMAZFITCOR;
|
||||||
|
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.AMAZFITCOR2;
|
||||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.fromKey;
|
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.fromKey;
|
||||||
import static nodomain.freeyourgadget.gadgetbridge.util.GB.NOTIFICATION_CHANNEL_ID;
|
import static nodomain.freeyourgadget.gadgetbridge.util.GB.NOTIFICATION_CHANNEL_ID;
|
||||||
|
|
||||||
@ -637,28 +641,72 @@ public static String packageNameToPebbleMsgSender(String packageName) {
|
|||||||
deviceSharedPrefsEdit.putLong("lastSyncTimeMillis", lastSyncTimeMillis);
|
deviceSharedPrefsEdit.putLong("lastSyncTimeMillis", lastSyncTimeMillis);
|
||||||
editor.remove(preferenceKey);
|
editor.remove(preferenceKey);
|
||||||
}
|
}
|
||||||
switch (fromKey(dbDevice.getType())) {
|
|
||||||
|
String newLanguage = null;
|
||||||
|
Set<String> displayItems = null;
|
||||||
|
|
||||||
|
DeviceType deviceType = fromKey(dbDevice.getType());
|
||||||
|
|
||||||
|
if (deviceType == AMAZFITBIP || deviceType == AMAZFITCOR || deviceType == AMAZFITCOR2) {
|
||||||
|
int oldLanguage = prefs.getInt("amazfitbip_language", -1);
|
||||||
|
newLanguage = "auto";
|
||||||
|
String[] oldLanguageLookup = {"zh_CN", "zh_TW", "en_US", "es_ES", "ru_RU", "de_DE", "it_IT", "fr_FR", "tr_TR"};
|
||||||
|
if (oldLanguage >= 0 && oldLanguage < oldLanguageLookup.length) {
|
||||||
|
newLanguage = oldLanguageLookup[oldLanguage];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (deviceType == AMAZFITBIP || deviceType == AMAZFITCOR) {
|
||||||
|
deviceSharedPrefsEdit.putString("disconnect_notification", prefs.getString("disconnect_notification", "off"));
|
||||||
|
deviceSharedPrefsEdit.putString("disconnect_notification_start", prefs.getString("disconnect_notification_start", "8:00"));
|
||||||
|
deviceSharedPrefsEdit.putString("disconnect_notification_end", prefs.getString("disconnect_notification_end", "22:00"));
|
||||||
|
}
|
||||||
|
switch (deviceType) {
|
||||||
case AMAZFITCOR:
|
case AMAZFITCOR:
|
||||||
|
displayItems = prefs.getStringSet("cor_display_items", null);
|
||||||
|
break;
|
||||||
case AMAZFITBIP:
|
case AMAZFITBIP:
|
||||||
case AMAZFITCOR2:
|
displayItems = prefs.getStringSet("bip_display_items", null);
|
||||||
int oldLanguage = prefs.getInt("amazfitbip_language", -1);
|
break;
|
||||||
String newLanguage = "auto";
|
case MIBAND2:
|
||||||
String[] oldLanguageLookup = {"zh_CN", "zh_TW", "en_US", "es_ES", "ru_RU", "de_DE", "it_IT", "fr_FR", "tr_TR"};
|
displayItems = prefs.getStringSet("mi2_display_items", null);
|
||||||
if (oldLanguage >= 0 && oldLanguage < oldLanguageLookup.length) {
|
deviceSharedPrefsEdit.putBoolean("mi2_enable_text_notifications", prefs.getBoolean("mi2_enable_text_notifications", true));
|
||||||
newLanguage = oldLanguageLookup[oldLanguage];
|
deviceSharedPrefsEdit.putString("mi2_dateformat", prefs.getString("mi2_dateformat", "dateformat_time"));
|
||||||
}
|
|
||||||
deviceSharedPrefsEdit.putString("language", newLanguage);
|
|
||||||
break;
|
break;
|
||||||
case MIBAND3:
|
case MIBAND3:
|
||||||
String language = sharedPrefs.getString("miband3_language", "auto");
|
newLanguage = prefs.getString("miband3_language", "auto");
|
||||||
deviceSharedPrefsEdit.putString("language", language);
|
displayItems = prefs.getStringSet("miband3_display_items", null);
|
||||||
|
deviceSharedPrefsEdit.putBoolean("swipe_unlock", prefs.getBoolean("mi3_band_screen_unlock", false));
|
||||||
|
deviceSharedPrefsEdit.putString("night_mode", prefs.getString("mi3_night_mode", "off"));
|
||||||
|
deviceSharedPrefsEdit.putString("night_mode_start", prefs.getString("mi3_night_mode_start", "16:00"));
|
||||||
|
deviceSharedPrefsEdit.putString("night_mode_end", prefs.getString("mi3_night_mode_end", "7:00"));
|
||||||
|
|
||||||
|
}
|
||||||
|
if (displayItems != null) {
|
||||||
|
deviceSharedPrefsEdit.putStringSet("display_items", displayItems);
|
||||||
|
}
|
||||||
|
if (newLanguage != null) {
|
||||||
|
deviceSharedPrefsEdit.putString("language", newLanguage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
deviceSharedPrefsEdit.apply();
|
deviceSharedPrefsEdit.apply();
|
||||||
}
|
}
|
||||||
editor.remove("miband3_language");
|
|
||||||
editor.remove("amazfitbip_language");
|
editor.remove("amazfitbip_language");
|
||||||
|
editor.remove("bip_display_items");
|
||||||
|
editor.remove("cor_display_items");
|
||||||
|
editor.remove("disconnect_notification");
|
||||||
|
editor.remove("disconnect_notification_start");
|
||||||
|
editor.remove("disconnect_notification_end");
|
||||||
|
editor.remove("mi2_dateformat");
|
||||||
|
editor.remove("mi2_display_items");
|
||||||
|
editor.remove("mi2_enable_text_notifications");
|
||||||
|
editor.remove("mi3_band_screen_unlock");
|
||||||
|
editor.remove("mi3_night_mode");
|
||||||
|
editor.remove("mi3_night_mode_start");
|
||||||
|
editor.remove("mi3_night_mode_end");
|
||||||
|
editor.remove("miband3_language");
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Log.w(TAG, "error acquiring DB lock");
|
Log.w(TAG, "error acquiring DB lock");
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,7 @@ import java.util.Date;
|
|||||||
import java.util.GregorianCalendar;
|
import java.util.GregorianCalendar;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import nodomain.freeyourgadget.gadgetbridge.GBApplication;
|
import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiFWHelper;
|
import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiFWHelper;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiService;
|
import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiService;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.devices.huami.miband3.MiBand3Coordinator;
|
import nodomain.freeyourgadget.gadgetbridge.devices.huami.miband3.MiBand3Coordinator;
|
||||||
@ -40,7 +40,6 @@ import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
|
|||||||
import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder;
|
import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.amazfitbip.AmazfitBipSupport;
|
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.amazfitbip.AmazfitBipSupport;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.util.GB;
|
import nodomain.freeyourgadget.gadgetbridge.util.GB;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.util.Prefs;
|
|
||||||
|
|
||||||
public class MiBand3Support extends AmazfitBipSupport {
|
public class MiBand3Support extends AmazfitBipSupport {
|
||||||
|
|
||||||
@ -56,8 +55,8 @@ public class MiBand3Support extends AmazfitBipSupport {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected MiBand3Support setDisplayItems(TransactionBuilder builder) {
|
protected MiBand3Support setDisplayItems(TransactionBuilder builder) {
|
||||||
Prefs prefs = GBApplication.getPrefs();
|
Set<String> pages = HuamiCoordinator.getDisplayItems(gbDevice.getAddress());
|
||||||
Set<String> pages = prefs.getStringSet("miband3_display_items", null);
|
|
||||||
LOG.info("Setting display items to " + (pages == null ? "none" : pages));
|
LOG.info("Setting display items to " + (pages == null ? "none" : pages));
|
||||||
byte[] command = MiBand3Service.COMMAND_CHANGE_SCREENS.clone();
|
byte[] command = MiBand3Service.COMMAND_CHANGE_SCREENS.clone();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user