Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5ed6d8c6 authored by cketti's avatar cketti
Browse files

Add Glean SDK

parent f839f446
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -23,7 +23,7 @@ dependencies {
    implementation(projects.feature.widget.messageList)
    implementation(projects.feature.widget.messageList)
    implementation(projects.feature.widget.shortcut)
    implementation(projects.feature.widget.shortcut)
    implementation(projects.feature.widget.unread)
    implementation(projects.feature.widget.unread)
    implementation(projects.feature.telemetry.api)
    implementation(projects.feature.telemetry.noop)


    implementation(libs.androidx.work.runtime)
    implementation(libs.androidx.work.runtime)


+2 −3
Original line number Original line Diff line number Diff line
@@ -7,12 +7,11 @@ import app.k9mail.core.featureflag.FeatureFlagFactory
import app.k9mail.core.ui.theme.api.FeatureThemeProvider
import app.k9mail.core.ui.theme.api.FeatureThemeProvider
import app.k9mail.core.ui.theme.api.ThemeProvider
import app.k9mail.core.ui.theme.api.ThemeProvider
import app.k9mail.dev.developmentModuleAdditions
import app.k9mail.dev.developmentModuleAdditions
import app.k9mail.feature.telemetry.api.TelemetryManager
import app.k9mail.feature.telemetry.telemetryModule
import app.k9mail.feature.widget.shortcut.LauncherShortcutActivity
import app.k9mail.feature.widget.shortcut.LauncherShortcutActivity
import app.k9mail.featureflag.K9FeatureFlagFactory
import app.k9mail.featureflag.K9FeatureFlagFactory
import app.k9mail.provider.K9AppNameProvider
import app.k9mail.provider.K9AppNameProvider
import app.k9mail.provider.K9FeatureThemeProvider
import app.k9mail.provider.K9FeatureThemeProvider
import app.k9mail.telemetry.K9TelemetryManager
import app.k9mail.widget.appWidgetModule
import app.k9mail.widget.appWidgetModule
import com.fsck.k9.AppConfig
import com.fsck.k9.AppConfig
import com.fsck.k9.BuildConfig
import com.fsck.k9.BuildConfig
@@ -26,6 +25,7 @@ import org.koin.dsl.module


val appModule = module {
val appModule = module {
    includes(appWidgetModule)
    includes(appWidgetModule)
    includes(telemetryModule)


    single(named("ClientInfoAppName")) { BuildConfig.CLIENT_INFO_APP_NAME }
    single(named("ClientInfoAppName")) { BuildConfig.CLIENT_INFO_APP_NAME }
    single(named("ClientInfoAppVersion")) { BuildConfig.VERSION_NAME }
    single(named("ClientInfoAppVersion")) { BuildConfig.VERSION_NAME }
@@ -35,7 +35,6 @@ val appModule = module {
    single<ThemeProvider> { K9ThemeProvider() }
    single<ThemeProvider> { K9ThemeProvider() }
    single<FeatureThemeProvider> { K9FeatureThemeProvider() }
    single<FeatureThemeProvider> { K9FeatureThemeProvider() }
    single<FeatureFlagFactory> { K9FeatureFlagFactory() }
    single<FeatureFlagFactory> { K9FeatureFlagFactory() }
    single<TelemetryManager> { K9TelemetryManager() }


    developmentModuleAdditions()
    developmentModuleAdditions()
}
}
+5 −1
Original line number Original line Diff line number Diff line
@@ -183,7 +183,11 @@ dependencies {
    implementation(projects.feature.widget.messageList)
    implementation(projects.feature.widget.messageList)
    implementation(projects.feature.widget.shortcut)
    implementation(projects.feature.widget.shortcut)
    implementation(projects.feature.widget.unread)
    implementation(projects.feature.widget.unread)
    implementation(projects.feature.telemetry.glean)

    debugImplementation(projects.feature.telemetry.noop)
    releaseImplementation(projects.feature.telemetry.glean)
    "betaImplementation"(projects.feature.telemetry.glean)
    "dailyImplementation"(projects.feature.telemetry.glean)


    implementation(libs.androidx.work.runtime)
    implementation(libs.androidx.work.runtime)


+16 −0
Original line number Original line Diff line number Diff line
@@ -60,6 +60,7 @@ androidx.core:core:1.13.1
androidx.cursoradapter:cursoradapter:1.0.0
androidx.cursoradapter:cursoradapter:1.0.0
androidx.customview:customview-poolingcontainer:1.0.0
androidx.customview:customview-poolingcontainer:1.0.0
androidx.customview:customview:1.1.0
androidx.customview:customview:1.1.0
androidx.databinding:viewbinding:8.4.0
androidx.documentfile:documentfile:1.0.0
androidx.documentfile:documentfile:1.0.0
androidx.drawerlayout:drawerlayout:1.1.1
androidx.drawerlayout:drawerlayout:1.1.1
androidx.dynamicanimation:dynamicanimation:1.0.0
androidx.dynamicanimation:dynamicanimation:1.0.0
@@ -125,6 +126,7 @@ androidx.versionedparcelable:versionedparcelable:1.1.1
androidx.viewpager2:viewpager2:1.1.0-beta02
androidx.viewpager2:viewpager2:1.1.0-beta02
androidx.viewpager:viewpager:1.0.0
androidx.viewpager:viewpager:1.0.0
androidx.window:window:1.0.0
androidx.window:window:1.0.0
androidx.work:work-runtime-ktx:2.9.1
androidx.work:work-runtime:2.9.1
androidx.work:work-runtime:2.9.1
co.touchlab:stately-concurrency-jvm:2.0.6
co.touchlab:stately-concurrency-jvm:2.0.6
co.touchlab:stately-concurrency:2.0.6
co.touchlab:stately-concurrency:2.0.6
@@ -151,6 +153,7 @@ com.mikepenz:fastadapter-extensions-utils:5.7.0
com.mikepenz:fastadapter:5.7.0
com.mikepenz:fastadapter:5.7.0
com.mikepenz:materialdrawer:9.0.2
com.mikepenz:materialdrawer:9.0.2
com.squareup.moshi:moshi:1.15.1
com.squareup.moshi:moshi:1.15.1
com.squareup.okhttp3:okhttp-urlconnection:4.12.0
com.squareup.okhttp3:okhttp:4.12.0
com.squareup.okhttp3:okhttp:4.12.0
com.squareup.okio:okio-jvm:3.9.0
com.squareup.okio:okio-jvm:3.9.0
com.squareup.okio:okio:3.9.0
com.squareup.okio:okio:3.9.0
@@ -171,6 +174,7 @@ io.insert-koin:koin-compose-jvm:1.1.5
io.insert-koin:koin-compose:1.1.5
io.insert-koin:koin-compose:1.1.5
io.insert-koin:koin-core-jvm:3.5.6
io.insert-koin:koin-core-jvm:3.5.6
io.insert-koin:koin-core:3.5.6
io.insert-koin:koin-core:3.5.6
net.java.dev.jna:jna:5.14.0
net.jcip:jcip-annotations:1.0
net.jcip:jcip-annotations:1.0
net.openid:appauth:0.11.1
net.openid:appauth:0.11.1
org.apache.commons:commons-lang3:3.7
org.apache.commons:commons-lang3:3.7
@@ -199,6 +203,8 @@ org.jetbrains.kotlinx:kotlinx-datetime:0.6.1
org.jetbrains.kotlinx:kotlinx-serialization-bom:1.6.3
org.jetbrains.kotlinx:kotlinx-serialization-bom:1.6.3
org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.6.3
org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.6.3
org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3
org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3
org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.6.3
org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3
org.jetbrains:annotations:24.1.0
org.jetbrains:annotations:24.1.0
org.jsoup:jsoup:1.17.2
org.jsoup:jsoup:1.17.2
org.minidns:minidns-client:1.0.5
org.minidns:minidns-client:1.0.5
@@ -206,4 +212,14 @@ org.minidns:minidns-core:1.0.5
org.minidns:minidns-dnssec:1.0.5
org.minidns:minidns-dnssec:1.0.5
org.minidns:minidns-hla:1.0.5
org.minidns:minidns-hla:1.0.5
org.minidns:minidns-iterative-resolver:1.0.5
org.minidns:minidns-iterative-resolver:1.0.5
org.mozilla.components:concept-base:130.0
org.mozilla.components:concept-fetch:130.0
org.mozilla.components:lib-fetch-okhttp:130.0
org.mozilla.components:lib-publicsuffixlist:130.0
org.mozilla.components:service-glean:130.0
org.mozilla.components:support-base:130.0
org.mozilla.components:support-ktx:130.0
org.mozilla.components:support-utils:130.0
org.mozilla.telemetry:glean-native:60.4.0
org.mozilla.telemetry:glean:60.4.0
org.slf4j:slf4j-api:1.7.36
org.slf4j:slf4j-api:1.7.36
+20 −0
Original line number Original line Diff line number Diff line
package net.thunderbird.android
package net.thunderbird.android


import app.k9mail.feature.telemetry.api.TelemetryManager
import com.fsck.k9.CommonApp
import com.fsck.k9.CommonApp
import com.fsck.k9.K9
import org.koin.android.ext.android.inject
import org.koin.core.module.Module
import org.koin.core.module.Module


class ThunderbirdApp : CommonApp() {
class ThunderbirdApp : CommonApp() {
    private val telemetryManager: TelemetryManager by inject()

    override fun provideAppModule(): Module = appModule
    override fun provideAppModule(): Module = appModule

    override fun onCreate() {
        super.onCreate()

        initializeTelemetry()
    }

    private fun initializeTelemetry() {
        telemetryManager.init(
            uploadEnabled = K9.isTelemetryEnabled,
            releaseChannel = BuildConfig.RELEASE_CHANNEL,
            versionCode = BuildConfig.VERSION_CODE,
            versionName = BuildConfig.VERSION_NAME,
        )
    }
}
}
Loading