Skip to content

Commit fd98690

Browse files
authored
fix(android): ApplicationSettings return precise stored numbers (#10094)
1 parent 4494b9c commit fd98690

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

‎packages/core/application-settings/index.android.ts‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ export function getString(key: string, defaultValue?: string): string {
4141
export function getNumber(key: string, defaultValue?: number): number {
4242
verify(key);
4343
if (hasKey(key)) {
44-
return sharedPreferences.getFloat(key, float(0.0));
44+
// SharedPreferences has no getter or setter for double so use long instead
45+
return java.lang.Double.longBitsToDouble(sharedPreferences.getLong(key, long(0)));
4546
}
4647

4748
return defaultValue;
@@ -68,7 +69,8 @@ export function setNumber(key: string, value: number): void {
6869
verify(key);
6970
common.ensureValidValue(value, 'number');
7071
const editor = sharedPreferences.edit();
71-
editor.putFloat(key, float(value));
72+
// SharedPreferences has no getter or setter for double so use long instead
73+
editor.putLong(key, java.lang.Double.doubleToRawLongBits(double(value)));
7274
editor.apply();
7375
}
7476

0 commit comments

Comments
 (0)