Migrate standing time to hours

Even though it said "minutes", all devices that use this preference
(Xiaomi-protobuf and Zepp OS), get the raw value, and they expect it to
be in hours.
This commit is contained in:
José Rebelo 2025-01-17 19:14:29 +00:00
parent eff6f57aa5
commit aead5343a4
4 changed files with 12 additions and 4 deletions

View File

@ -127,7 +127,7 @@ public class GBApplication extends Application {
private static SharedPreferences sharedPrefs;
private static final String PREFS_VERSION = "shared_preferences_version";
//if preferences have to be migrated, increment the following and add the migration logic in migratePrefs below; see http://stackoverflow.com/questions/16397848/how-can-i-migrate-android-preferences-with-a-new-version
private static final int CURRENT_PREFS_VERSION = 46;
private static final int CURRENT_PREFS_VERSION = 47;
private static final LimitedQueue<Integer, String> mIDSenderLookup = new LimitedQueue<>(16);
private static GBPrefs prefs;
@ -1939,6 +1939,13 @@ public class GBApplication extends Application {
}
}
if (oldVersion < 47) {
if (prefs.contains("activity_user_goal_standing_time_minutes")) {
editor.putString("activity_user_goal_standing_hours", prefs.getString("activity_user_goal_standing_time_minutes", "12"));
editor.remove("activity_user_goal_standing_time_minutes");
}
}
editor.putString(PREFS_VERSION, Integer.toString(CURRENT_PREFS_VERSION));
editor.apply();
}

View File

@ -77,7 +77,7 @@ public class ActivityUser {
public static final String PREF_USER_ACTIVETIME_MINUTES = "activity_user_activetime_minutes";
public static final String PREF_USER_STEP_LENGTH_CM = "activity_user_step_length_cm";
public static final String PREF_USER_GOAL_WEIGHT_KG = "activity_user_goal_weight_kg";
public static final String PREF_USER_GOAL_STANDING_TIME_HOURS = "activity_user_goal_standing_time_minutes";
public static final String PREF_USER_GOAL_STANDING_TIME_HOURS = "activity_user_goal_standing_hours";
public static final String PREF_USER_GOAL_FAT_BURN_TIME_MINUTES = "activity_user_goal_fat_burn_time_minutes";
public ActivityUser() {

View File

@ -1242,6 +1242,7 @@
<string name="activity_prefs_calories_burnt">Daily target: calories burnt</string>
<string name="activity_prefs_distance_meters">Daily target: distance in meters</string>
<string name="activity_prefs_activetime_minutes">Daily target: active time in minutes</string>
<string name="activity_prefs_goal_standing_hours">Daily target: standing hours</string>
<string name="activity_prefs_goal_standing_time_minutes">Daily target: standing time in minutes</string>
<string name="activity_prefs_goal_fat_burn_time_minutes">Daily target: fat burn time in minutes</string>
<string name="activity_prefs_goal_active_calories_burnt">Daily target: active calories burnt</string>

View File

@ -116,9 +116,9 @@
app:iconSpaceReserved="false"
android:defaultValue="12"
android:inputType="number"
android:key="activity_user_goal_standing_time_minutes"
android:key="activity_user_goal_standing_hours"
android:maxLength="2"
android:title="@string/activity_prefs_goal_standing_time_minutes"
android:title="@string/activity_prefs_goal_standing_hours"
app:useSimpleSummaryProvider="true" />
<EditTextPreference