Skip to content

Commit c7fd4c6

Browse files
authored
Replace usage of get() to lazy for sharepreferences (#3215)
<!-- Note: This checklist is a reminder of our shared engineering expectations. The items in Bold are required If your PR involves UI changes: 1. Upload screenshots or screencasts that illustrate the changes before / after 2. Add them under the UI changes section (feel free to add more columns if needed) 3. Make sure these changes are tested in API 23 and API 26 If your PR does not involve UI changes, you can remove the **UI changes** section --> Task/Issue URL: https://app.asana.com/0/488551667048375/1204694630980114/f ### Description Replace usages of get() to lazy for sharedpreferences. ### Steps to test this PR Smoke test the app
1 parent 6f9e6eb commit c7fd4c6

File tree

40 files changed

+95
-84
lines changed

40 files changed

+95
-84
lines changed

ad-click/ad-click-impl/src/main/java/com/duckduckgo/adclick/impl/pixels/AdClickPixels.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,7 @@ class RealAdClickPixels @Inject constructor(
4141
private val context: Context,
4242
) : AdClickPixels {
4343

44-
private val preferences: SharedPreferences
45-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
44+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
4645

4746
override fun fireAdClickActivePixel(exemption: Exemption?): Boolean {
4847
if (exemption == null || exemption.adClickActivePixelFired) return false

ad-click/ad-click-store/src/main/java/com/duckduckgo/adclick/store/AdClickFeatureToggleStore.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,7 @@ interface AdClickFeatureToggleStore {
3535
}
3636

3737
internal class RealAdClickFeatureToggleStore(private val context: Context) : AdClickFeatureToggleStore {
38-
private val preferences: SharedPreferences
39-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
38+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
4039

4140
override fun deleteAll() {
4241
preferences.edit().clear().apply()

app-tracking-protection/vpn-impl/src/main/java/com/duckduckgo/mobile/android/vpn/cohort/CohortStore.kt

+7-2
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,13 @@ class RealCohortStore @Inject constructor(
6969

7070
private val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd")
7171

72-
private val preferences: SharedPreferences
73-
get() = sharedPreferencesProvider.getSharedPreferences(FILENAME, multiprocess = true, migrate = true)
72+
private val preferences: SharedPreferences by lazy {
73+
sharedPreferencesProvider.getSharedPreferences(
74+
FILENAME,
75+
multiprocess = true,
76+
migrate = true,
77+
)
78+
}
7479

7580
override fun getCohortStoredLocalDate(): LocalDate? {
7681
if (appBuildConfig.isInternalBuild()) {

app-tracking-protection/vpn-impl/src/main/java/com/duckduckgo/mobile/android/vpn/feature/AppTpPrivacyFeaturePlugin.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ class AppTpPrivacyFeaturePlugin @Inject constructor(
3636

3737
private val settings = plugins.sortedBy { it.settingName.value }
3838

39-
private val preferences: SharedPreferences
40-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
39+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
4140

4241
override fun store(featureName: String, jsonString: String): Boolean {
4342
@Suppress("NAME_SHADOWING")

app-tracking-protection/vpn-impl/src/main/java/com/duckduckgo/mobile/android/vpn/pixels/DeviceShieldPixels.kt

+7-2
Original file line numberDiff line numberDiff line change
@@ -349,8 +349,13 @@ class RealDeviceShieldPixels @Inject constructor(
349349
private val vpnSharedPreferencesProvider: VpnSharedPreferencesProvider,
350350
) : DeviceShieldPixels {
351351

352-
private val preferences: SharedPreferences
353-
get() = vpnSharedPreferencesProvider.getSharedPreferences(DS_PIXELS_PREF_FILE, multiprocess = true, migrate = true)
352+
private val preferences: SharedPreferences by lazy {
353+
vpnSharedPreferencesProvider.getSharedPreferences(
354+
DS_PIXELS_PREF_FILE,
355+
multiprocess = true,
356+
migrate = true,
357+
)
358+
}
354359

355360
override fun deviceShieldEnabledOnSearch() {
356361
tryToFireDailyPixel(DeviceShieldPixelNames.ATP_ENABLE_UPON_SEARCH_DAILY)

app-tracking-protection/vpn-impl/src/main/java/com/duckduckgo/mobile/android/vpn/prefs/VpnPreferences.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@ class RealVpnPreferences @Inject constructor(
4242
get() = preferences.getString(VPN_ACTIVE_NETWORK_NAME, null)
4343
set(value) = preferences.edit(commit = true) { putString(VPN_ACTIVE_NETWORK_NAME, value) }
4444

45-
private val preferences: SharedPreferences
46-
get() = applicationContext.getSharedPreferences(PREFS_FILENAME, Context.MODE_PRIVATE)
45+
private val preferences: SharedPreferences by lazy { applicationContext.getSharedPreferences(PREFS_FILENAME, Context.MODE_PRIVATE) }
4746
}
4847

4948
@VisibleForTesting

app-tracking-protection/vpn-impl/src/main/java/com/duckduckgo/mobile/android/vpn/ui/onboarding/VpnStore.kt

+7-2
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,13 @@ class SharedPreferencesVpnStore @Inject constructor(
4545
private val sharedPreferencesProvider: VpnSharedPreferencesProvider,
4646
) : VpnStore {
4747

48-
private val preferences: SharedPreferences
49-
get() = sharedPreferencesProvider.getSharedPreferences(DEVICE_SHIELD_ONBOARDING_STORE_PREFS, multiprocess = true, migrate = true)
48+
private val preferences: SharedPreferences by lazy {
49+
sharedPreferencesProvider.getSharedPreferences(
50+
DEVICE_SHIELD_ONBOARDING_STORE_PREFS,
51+
multiprocess = true,
52+
migrate = true,
53+
)
54+
}
5055

5156
override fun onboardingDidShow() {
5257
preferences.edit { putBoolean(KEY_DEVICE_SHIELD_ONBOARDING_LAUNCHED, true) }

app/src/internal/java/com/duckduckgo/app/dev/settings/db/DevSettingsDataStore.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ class DevSettingsSharedPreferences @Inject constructor(private val context: Cont
4343
get() = selectedUASavedValue()
4444
set(value) = preferences.edit { putString(KEY_SELECTED_UA, value.name) }
4545

46-
private val preferences: SharedPreferences
47-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
46+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
4847

4948
private fun selectedUASavedValue(): UAOverride {
5049
val savedValue = preferences.getString(KEY_SELECTED_UA, null) ?: return UAOverride.DDG

app/src/main/java/com/duckduckgo/app/accessibility/data/AccessibilityDataStore.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,7 @@ class AccessibilitySettingsSharedPreferences(
4848
),
4949
)
5050

51-
private val preferences: SharedPreferences
52-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
51+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
5352

5453
override val fontSize: Float
5554
get() {

app/src/main/java/com/duckduckgo/app/fire/UnsentForgetAllPixelStore.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ class UnsentForgetAllPixelStoreSharedPreferences @Inject constructor(private val
5858
}
5959
}
6060

61-
private val preferences: SharedPreferences
62-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
61+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
6362

6463
companion object {
6564

app/src/main/java/com/duckduckgo/app/global/db/AppDatabase.kt

+3-2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package com.duckduckgo.app.global.db
1818

1919
import android.content.Context
20+
import android.content.SharedPreferences
2021
import androidx.room.Database
2122
import androidx.room.RoomDatabase
2223
import androidx.room.TypeConverters
@@ -683,15 +684,15 @@ class MigrationsProvider(val context: Context, val settingsDataStore: SettingsDa
683684
private val keyVersion = "com.duckduckgo.app.onboarding.currentVersion"
684685
private val currentVersion = 1
685686

687+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(fileName, Context.MODE_PRIVATE) }
688+
686689
fun shouldShow(): Boolean {
687-
val preferences = context.getSharedPreferences(fileName, Context.MODE_PRIVATE)
688690
return preferences.getInt(keyVersion, 0) < currentVersion
689691
}
690692

691693
fun isReturningUser(): Boolean {
692694
// This was used by the 2 retuning users experiments.
693695
// First released in 5.103.0 and fully disabled in 5.114.0.
694-
val preferences = context.getSharedPreferences(fileName, Context.MODE_PRIVATE)
695696
return preferences.getBoolean("HIDE_TIPS_FOR_RETURNING_USER", false)
696697
}
697698
}

app/src/main/java/com/duckduckgo/app/global/install/AppInstallStore.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,7 @@ class AppInstallSharedPreferences @Inject constructor(private val context: Conte
6262

6363
override fun hasInstallTimestampRecorded(): Boolean = preferences.contains(KEY_TIMESTAMP_UTC)
6464

65-
private val preferences: SharedPreferences
66-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
65+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
6766

6867
@UiThread
6968
override fun onCreate(owner: LifecycleOwner) {

app/src/main/java/com/duckduckgo/app/global/migrations/MigrationStore.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ interface MigrationStore {
3232
@SingleInstanceIn(AppScope::class)
3333
class MigrationSharedPreferences @Inject constructor(private val context: Context) : MigrationStore {
3434

35-
private val preferences: SharedPreferences
36-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
35+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
3736

3837
override var version: Int
3938
get() = preferences.getInt(KEY_VERSION, 0)

app/src/main/java/com/duckduckgo/app/onboarding/store/OnboardingSharedPreferences.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ class OnboardingSharedPreferences @Inject constructor(private val context: Conte
2727
get() = preferences.getString(ONBOARDING_JOURNEY, null)
2828
set(dialogJourney) = preferences.edit { putString(ONBOARDING_JOURNEY, dialogJourney) }
2929

30-
private val preferences: SharedPreferences
31-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
30+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
3231

3332
companion object {
3433
const val FILENAME = "com.duckduckgo.app.onboarding.settings"

app/src/main/java/com/duckduckgo/app/referral/AppReferrerDataStore.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ class AppReferenceSharePreferences @Inject constructor(private val context: Cont
4545
get() = preferences.getBoolean(KEY_INSTALLED_FROM_EU_AUCTION, false)
4646
set(value) = preferences.edit(true) { putBoolean(KEY_INSTALLED_FROM_EU_AUCTION, value) }
4747

48-
private val preferences: SharedPreferences
49-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
48+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
5049

5150
companion object {
5251
const val FILENAME = "com.duckduckgo.app.referral"

app/src/main/java/com/duckduckgo/app/settings/db/SettingsDataStore.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -209,8 +209,7 @@ class SettingsSharedPreferences @Inject constructor(
209209
return fireAnimationMapper.fireAnimationFrom(selectedFireAnimationSavedValue, FireAnimation.HeroFire)
210210
}
211211

212-
private val preferences: SharedPreferences
213-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
212+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
214213

215214
private fun defaultIcon(): AppIcon {
216215
return if (appBuildConfig.isDebug) {

app/src/main/java/com/duckduckgo/widget/WidgetPreferences.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ interface WidgetPreferences {
4040

4141
class AppWidgetThemePreferences @Inject constructor(private val context: Context) : WidgetPreferences {
4242

43-
private val preferences: SharedPreferences
44-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
43+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
4544

4645
override fun widgetTheme(widgetId: Int): WidgetTheme {
4746
return WidgetTheme.valueOf(

autoconsent/autoconsent-store/src/main/java/com/duckduckgo/autoconsent/store/AutoconsentFeatureToggleStore.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,7 @@ interface AutoconsentFeatureToggleStore {
3535
}
3636

3737
internal class RealAutoconsentFeatureToggleStore(private val context: Context) : AutoconsentFeatureToggleStore {
38-
private val preferences: SharedPreferences
39-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
38+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
4039

4140
override fun deleteAll() {
4241
preferences.edit().clear().apply()

autoconsent/autoconsent-store/src/main/java/com/duckduckgo/autoconsent/store/AutoconsentSettingsDataStore.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ interface AutoconsentSettingsDataStore {
2828
class RealAutoconsentSettingsDataStore constructor(private val context: Context) :
2929
AutoconsentSettingsDataStore {
3030

31-
private val preferences: SharedPreferences
32-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
31+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
3332

3433
override var userSetting: Boolean
3534
get() = preferences.getBoolean(AUTOCONSENT_USER_SETTING, false)

autofill/autofill-store/src/main/java/com/duckduckgo/autofill/store/InternalTestUserStore.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ interface InternalTestUserStore {
2727
class RealInternalTestUserStore constructor(
2828
private val context: Context,
2929
) : InternalTestUserStore {
30-
private val preferences: SharedPreferences
31-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
30+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
3231

3332
override var isVerifiedInternalTestUser: Boolean
3433
get() = preferences.getBoolean(KEY_IS_VERIFIED_INTERNAL_TEST_USER, false)

common-ui/src/main/java/com/duckduckgo/mobile/android/themepreview/ui/AppComponentsActivity.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,7 @@ class AppComponentsSharedPreferences(private val context: Context) {
8181
set(theme) =
8282
preferences.edit { putBoolean(KEY_SELECTED_DARK_THEME, theme == DuckDuckGoTheme.DARK) }
8383

84-
private val preferences: SharedPreferences
85-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
84+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
8685

8786
companion object {
8887
const val FILENAME = "com.duckduckgo.app.dev_settings_activity.theme_settings"

common-ui/src/main/java/com/duckduckgo/mobile/android/ui/store/ThemingSharedPreferences.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@ class ThemingSharedPreferences @Inject constructor(
4242
return themePrefMapper.themeFrom(savedValue, DuckDuckGoTheme.SYSTEM_DEFAULT)
4343
}
4444

45-
private val preferences: SharedPreferences
46-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
45+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
4746

4847
private class ThemePrefsMapper {
4948

common-ui/src/main/java/com/duckduckgo/mobile/android/ui/store/notifyme/NotifyMeSharedPreferences.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ class NotifyMeSharedPreferences @Inject constructor(
3030
private val context: Context,
3131
) : NotifyMeDataStore {
3232

33-
private val preferences: SharedPreferences
34-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
33+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
3534

3635
override fun isComponentDismissed(key: String, defaultValue: Boolean): Boolean {
3736
return preferences.getBoolean(key, defaultValue)

cookies/cookies-store/src/main/java/com/duckduckgo/cookies/store/CookiesFeatureToggleStore.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,7 @@ interface CookiesFeatureToggleStore {
3535
}
3636

3737
class RealCookiesFeatureToggleStore(private val context: Context) : CookiesFeatureToggleStore {
38-
private val preferences: SharedPreferences
39-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
38+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
4039

4140
override fun deleteAll() {
4241
preferences.edit().clear().apply()

installation/installation-impl/src/main/java/com/duckduckgo/installation/impl/installer/InstallSourceLifecycleObserver.kt

+6-6
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ class InstallSourceLifecycleObserver @Inject constructor(
4848
@AppCoroutineScope private val appCoroutineScope: CoroutineScope,
4949
) : MainProcessLifecycleObserver {
5050

51+
private val sharedPreferences: SharedPreferences by lazy {
52+
context.getSharedPreferences(SHARED_PREFERENCES_FILENAME, Context.MODE_PRIVATE)
53+
}
54+
5155
override fun onCreate(owner: LifecycleOwner) {
5256
super.onCreate(owner)
5357

@@ -69,17 +73,13 @@ class InstallSourceLifecycleObserver @Inject constructor(
6973

7074
@VisibleForTesting
7175
fun recordInstallSourceProcessed() {
72-
sharedPreferences().edit {
76+
sharedPreferences.edit {
7377
putBoolean(SHARED_PREFERENCES_PROCESSED_KEY, true)
7478
}
7579
}
7680

7781
private fun hasAlreadyProcessed(): Boolean {
78-
return sharedPreferences().getBoolean(SHARED_PREFERENCES_PROCESSED_KEY, false)
79-
}
80-
81-
private fun sharedPreferences(): SharedPreferences {
82-
return context.getSharedPreferences(SHARED_PREFERENCES_FILENAME, Context.MODE_PRIVATE)
82+
return sharedPreferences.getBoolean(SHARED_PREFERENCES_PROCESSED_KEY, false)
8383
}
8484

8585
companion object {

network-protection/network-protection-impl/src/main/java/com/duckduckgo/networkprotection/impl/cohort/NetpCohortStore.kt

+7-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,13 @@ class RealNetpCohortStore @Inject constructor(
3838
) : NetpCohortStore {
3939
private val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd")
4040

41-
private val preferences: SharedPreferences
42-
get() = sharedPreferencesProvider.getSharedPreferences(FILENAME, multiprocess = true, migrate = false)
41+
private val preferences: SharedPreferences by lazy {
42+
sharedPreferencesProvider.getSharedPreferences(
43+
FILENAME,
44+
multiprocess = true,
45+
migrate = false,
46+
)
47+
}
4348

4449
override var cohortLocalDate: LocalDate?
4550
get() = preferences.getString(KEY_COHORT_LOCAL_DATE, null)?.let {

network-protection/network-protection-impl/src/main/java/com/duckduckgo/networkprotection/impl/pixels/NetworkProtectionPixels.kt

+7-2
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,13 @@ class RealNetworkProtectionPixel @Inject constructor(
168168
private val vpnSharedPreferencesProvider: VpnSharedPreferencesProvider,
169169
) : NetworkProtectionPixels {
170170

171-
private val preferences: SharedPreferences
172-
get() = vpnSharedPreferencesProvider.getSharedPreferences(NETP_PIXELS_PREF_FILE, multiprocess = true, migrate = false)
171+
private val preferences: SharedPreferences by lazy {
172+
vpnSharedPreferencesProvider.getSharedPreferences(
173+
NETP_PIXELS_PREF_FILE,
174+
multiprocess = true,
175+
migrate = false,
176+
)
177+
}
173178

174179
override fun reportErrorInRegistration() {
175180
tryToFireDailyPixel(NETP_BACKEND_API_ERROR_DEVICE_REGISTRATION_FAILED_DAILY)

network-protection/network-protection-impl/src/main/java/com/duckduckgo/networkprotection/impl/waitlist/store/NetPWaitlistDataStore.kt

+7-2
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,13 @@ class NetPWaitlistDataStoreSharedPreferences constructor(
2929
private val vpnSharedPreferencesProvider: VpnSharedPreferencesProvider,
3030
) : NetPWaitlistDataStore {
3131

32-
private val preferences: SharedPreferences
33-
get() = vpnSharedPreferencesProvider.getSharedPreferences(FILENAME, multiprocess = true, migrate = false)
32+
private val preferences: SharedPreferences by lazy {
33+
vpnSharedPreferencesProvider.getSharedPreferences(
34+
FILENAME,
35+
multiprocess = true,
36+
migrate = false,
37+
)
38+
}
3439

3540
override var settingUnlocked: Boolean
3641
get() = preferences.getBoolean(KEY_SETTING_UNLOCKED, false)

network-protection/network-protection-internal/src/main/java/com/duckduckgo/networkprotection/internal/network/NetPInternalExclusionListProvider.kt

+7-2
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,13 @@ class NetPInternalExclusionListProvider @Inject constructor(
2929
private val netPInternalFeatureToggles: NetPInternalFeatureToggles,
3030
private val vpnSharedPreferencesProvider: VpnSharedPreferencesProvider,
3131
) {
32-
private val preferences: SharedPreferences
33-
get() = vpnSharedPreferencesProvider.getSharedPreferences(FILENAME, multiprocess = true, migrate = false)
32+
private val preferences: SharedPreferences by lazy {
33+
vpnSharedPreferencesProvider.getSharedPreferences(
34+
FILENAME,
35+
multiprocess = true,
36+
migrate = false,
37+
)
38+
}
3439

3540
internal fun getExclusionList(): Set<String> {
3641
if (!netPInternalFeatureToggles.excludeSystemApps().isEnabled()) return excludeManuallySelectedApps()

network-protection/network-protection-internal/src/main/java/com/duckduckgo/networkprotection/internal/network/NetPInternalMtuProvider.kt

+7-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,13 @@ import javax.inject.Inject
2323
class NetPInternalMtuProvider @Inject constructor(
2424
private val vpnSharedPreferencesProvider: VpnSharedPreferencesProvider,
2525
) {
26-
private val preferences: SharedPreferences
27-
get() = vpnSharedPreferencesProvider.getSharedPreferences(FILENAME, multiprocess = true, migrate = false)
26+
private val preferences: SharedPreferences by lazy {
27+
vpnSharedPreferencesProvider.getSharedPreferences(
28+
FILENAME,
29+
multiprocess = true,
30+
migrate = false,
31+
)
32+
}
2833

2934
internal fun getMtu(): Int {
3035
return preferences.getInt(MTU_SIZE, 1280)

privacy-config/privacy-config-internal/src/main/java/com/duckduckgo/privacy/config/internal/store/DevPrivacyConfigSettingsDataStore.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,7 @@ class DevPrivacyConfigSettingsDataStoreImpl @Inject constructor(private val cont
3939
get() = preferences.getBoolean(KEY_CUSTOM_REMOTE_PRIVACY_CONFIG_ENABLED, false)
4040
set(enabled) = preferences.edit { putBoolean(KEY_CUSTOM_REMOTE_PRIVACY_CONFIG_ENABLED, enabled) }
4141

42-
private val preferences: SharedPreferences
43-
get() = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE)
42+
private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }
4443

4544
private fun selectedRemotePrivacyConfigUrlSavedValue(): String? {
4645
return preferences.getString(KEY_SELECTED_REMOTE_PRIVACY_CONFIG, null)

0 commit comments

Comments
 (0)