Skip to content
This repository was archived by the owner on Oct 26, 2024. It is now read-only.

Commit 212d3a7

Browse files
committed
fix: load numeric preferences as type String
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
1 parent 758b645 commit 212d3a7

2 files changed

Lines changed: 26 additions & 7 deletions

File tree

app/src/main/java/app/revanced/integrations/settings/SettingsEnum.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ public enum SettingsEnum {
280280
private static void load() {
281281
Context context = ReVancedUtils.getContext();
282282
if (context == null) {
283-
Log.e("revanced: SettingsEnum", "Context returned null! Setings NOT initialized");
283+
LogHelper.printException(() -> "SettingsEnum.load() called before ReVancedUtils.init()");
284284
return;
285285
}
286286
for (SettingsEnum setting : values()) {

app/src/main/java/app/revanced/integrations/utils/SharedPrefHelper.java

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,37 @@ public static boolean getBoolean(SharedPrefNames prefName, String key, boolean _
3434
return getPreferences(prefName).getBoolean(key, _default);
3535
}
3636

37-
public static long getLong(SharedPrefNames prefName, String key, long _default) {
38-
return getPreferences(prefName).getLong(key, _default);
37+
// region Hack, unknown why required
38+
39+
public static Long getLong(SharedPrefNames prefName, String key, Long _default) {
40+
SharedPreferences sharedPreferences = getPreferences(prefName);
41+
try {
42+
return Long.valueOf(sharedPreferences.getString(key, _default + ""));
43+
} catch (ClassCastException ex) {
44+
return sharedPreferences.getLong(key, _default);
45+
}
3946
}
4047

41-
public static float getFloat(SharedPrefNames prefName, String key, float _default) {
42-
return getPreferences(prefName).getFloat(key, _default);
48+
public static Float getFloat(SharedPrefNames prefName, String key, Float _default) {
49+
SharedPreferences sharedPreferences = getPreferences(prefName);
50+
try {
51+
return Float.valueOf(sharedPreferences.getString(key, _default + ""));
52+
} catch (ClassCastException ex) {
53+
return sharedPreferences.getFloat(key, _default);
54+
}
4355
}
4456

45-
public static int getInt(SharedPrefNames prefName, String key, int _default) {
46-
return getPreferences(prefName).getInt(key, _default);
57+
public static Integer getInt(SharedPrefNames prefName, String key, Integer _default) {
58+
SharedPreferences sharedPreferences = getPreferences(prefName);
59+
try {
60+
return Integer.valueOf(sharedPreferences.getString(key, _default + ""));
61+
} catch (ClassCastException ex) {
62+
return sharedPreferences.getInt(key, _default);
63+
}
4764
}
4865

66+
// endregion
67+
4968
public static SharedPreferences getPreferences(SharedPrefNames name) {
5069
return Objects.requireNonNull(ReVancedUtils.getContext()).getSharedPreferences(name.getName(), Context.MODE_PRIVATE);
5170
}

0 commit comments

Comments
 (0)