Skip to content

Commit d24b1e8

Browse files
committed
lint(common): fix 'StaticFieldLeak'
* Fixes usage analytics by using the Application context * Use `Application` where it's a false positive
1 parent ce44094 commit d24b1e8

3 files changed

Lines changed: 5 additions & 5 deletions

File tree

AnkiDroid/src/main/java/com/ichi2/anki/analytics/AnkiDroidUsageAnalytics.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
package com.ichi2.anki.analytics
55

6+
import android.app.Application
67
import android.content.Context
78
import android.content.SharedPreferences
89
import androidx.core.content.edit
@@ -53,7 +54,7 @@ object AnkiDroidUsageAnalytics {
5354
* be uninitialized in rare Android scenarios (e.g. BackupManager) and
5455
* analytics is a startup concern that must not crash.
5556
*/
56-
private lateinit var analyticsContext: Context
57+
private lateinit var analyticsContext: Application
5758

5859
private val serviceScope = CoroutineScope(Dispatchers.IO + SupervisorJob())
5960
private val clientId: String by lazy { getOrCreateClientId(analyticsContext) }
@@ -87,7 +88,7 @@ object AnkiDroidUsageAnalytics {
8788
private set
8889

8990
fun initialize(context: Context) {
90-
analyticsContext = context.applicationContext
91+
analyticsContext = context.applicationContext as Application
9192

9293
Timber.i("AnkiDroidUsageAnalytics:: initialize()")
9394

AnkiDroid/src/main/java/com/ichi2/anki/navigation/AnkiDroidNavigator.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
package com.ichi2.anki.navigation
44

55
import android.app.Application
6-
import android.content.Context
76
import android.content.Intent
87
import com.ichi2.anki.browser.toIntent
98
import com.ichi2.anki.common.destinations.BrowserDestination
@@ -12,7 +11,7 @@ import com.ichi2.anki.common.destinations.Navigator
1211

1312
/** AnkiDroid's [Navigator] implementation. */
1413
object AnkiDroidNavigator : Navigator {
15-
private lateinit var navContext: Context
14+
private lateinit var navContext: Application
1615

1716
fun initialize(application: Application) {
1817
navContext = application

lint-release.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@
173173
<issue id="PackagedPrivateKey" severity="fatal" />
174174
<issue id="HardcodedDebugMode" severity="fatal" />
175175
<issue id="HandlerLeak" severity="fatal" />
176+
<issue id="StaticFieldLeak" severity="fatal" />
176177
<issue id="ServiceCast" severity="fatal" />
177178
<issue id="CutPasteId" severity="fatal" />
178179
<issue id="WrongCall" severity="fatal" />
@@ -351,7 +352,6 @@
351352
<issue id="LabelFor" severity="ignore" />
352353
<issue id="InconsistentLayout" severity="ignore" />
353354
<issue id="InflateParams" severity="ignore" />
354-
<issue id="StaticFieldLeak" severity="ignore" />
355355
<issue id="DefaultLocale" severity="error" />
356356
<issue id="LocaleFolder" severity="ignore" />
357357
<issue id="LocaleRootUsage" severity="error" />

0 commit comments

Comments
 (0)