From fd9869094e9f36959df5d59399ffe684be8d8e5f Mon Sep 17 00:00:00 2001 From: Dimitris-Rafail Katsampas Date: Thu, 17 Nov 2022 06:13:24 +0200 Subject: [PATCH] fix(android): ApplicationSettings return precise stored numbers (#10094) --- packages/core/application-settings/index.android.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/core/application-settings/index.android.ts b/packages/core/application-settings/index.android.ts index b5a14a155..2ad172750 100644 --- a/packages/core/application-settings/index.android.ts +++ b/packages/core/application-settings/index.android.ts @@ -41,7 +41,8 @@ export function getString(key: string, defaultValue?: string): string { export function getNumber(key: string, defaultValue?: number): number { verify(key); if (hasKey(key)) { - return sharedPreferences.getFloat(key, float(0.0)); + // SharedPreferences has no getter or setter for double so use long instead + return java.lang.Double.longBitsToDouble(sharedPreferences.getLong(key, long(0))); } return defaultValue; @@ -68,7 +69,8 @@ export function setNumber(key: string, value: number): void { verify(key); common.ensureValidValue(value, 'number'); const editor = sharedPreferences.edit(); - editor.putFloat(key, float(value)); + // SharedPreferences has no getter or setter for double so use long instead + editor.putLong(key, java.lang.Double.doubleToRawLongBits(double(value))); editor.apply(); }