diff --git a/app/core/SecureKeychain.js b/app/core/SecureKeychain.js index d3a5c870ddc..9fff32ef270 100644 --- a/app/core/SecureKeychain.js +++ b/app/core/SecureKeychain.js @@ -10,6 +10,8 @@ import { PASSCODE_DISABLED, TRUE, } from '../constants/storage'; +import Device from '../util/device'; +import AnalyticsV2 from '../util/analyticsV2'; const privates = new WeakMap(); const encryptor = new Encryptor(); @@ -37,6 +39,7 @@ class SecureKeychain { privates.set(this, { code }); SecureKeychain.instance = this; } + return SecureKeychain.instance; } @@ -53,6 +56,10 @@ let instance; export default { init(salt) { instance = new SecureKeychain(salt); + + if (Device.isAndroid && Keychain.SECURITY_LEVEL?.SECURE_HARDWARE) + AnalyticsV2.trackEvent(AnalyticsV2.ANALYTICS_EVENTS.ANDROID_HARDWARE_KEYSTORE); + Object.freeze(instance); return instance; }, diff --git a/app/store/index.js b/app/store/index.js index 9e7277a825b..d9731ace26b 100644 --- a/app/store/index.js +++ b/app/store/index.js @@ -34,7 +34,11 @@ const MigratedStorage = { } }, async setItem(key, value) { - return await FilesystemStorage.setItem(key, value); + try { + return await FilesystemStorage.setItem(key, value); + } catch (error) { + Logger.error(error, { message: 'Failed to set item' }); + } }, async removeItem(key) { try { diff --git a/app/util/analyticsV2.js b/app/util/analyticsV2.js index 7a77a7e90c6..850f7554499 100644 --- a/app/util/analyticsV2.js +++ b/app/util/analyticsV2.js @@ -97,6 +97,8 @@ export const ANALYTICS_EVENTS_V2 = { // SETTINGS SETTINGS_TOKEN_DETECTION_ON: generateOpt(`Token detection turned ON`), SETTINGS_TOKEN_DETECTION_OFF: generateOpt(`Token detection turned OFF`), + // KEY MANAGMENT INVESTIGATION + ANDROID_HARDWARE_KEYSTORE: generateOpt('Android Hardware Keystore'), }; /**