Skip to content

Commit df57d34

Browse files
authored
Merge branch 'main' into write-log-files
2 parents a6b00dc + 4509e2f commit df57d34

File tree

870 files changed

+5482
-3001
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

870 files changed

+5482
-3001
lines changed

.gitattributes

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,7 @@
33
*.bat eol=crlf
44
*.eml eol=crlf
55
*.jar binary
6+
7+
app-k9mail/build.gradle.kts merge=merge_gradle
8+
app-thunderbird/build.gradle.kts merge=merge_gradle
9+
app-k9mail/src/main/res/raw/changelog_master.xml merge=ours

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: Bug report
2-
description: Let us know about crashes or existing functionality not working like it should.
2+
description: Let us know about crashes or existing functionality not working like it should
33
labels: [ "type: bug", "unconfirmed" ]
44
body:
55
- type: markdown

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
blank_issues_enabled: false
22
contact_links:
3-
- name: Feature Request
3+
- name: Feature request
44
url: https://connect.mozilla.org/t5/ideas/idb-p/ideas/label-name/thunderbird%20android
5-
about: Submit your ideas to improve Thunderbird for Android.
6-
- name: Security Vulnerability
7-
url: https://github.com/thunderbird/thunderbird-android/security/advisories/new
8-
about: Report a security vulnerability. Many users could be harmed from this and it should be kept private until resolved.
9-
- name: Mozilla Support Forum (SUMO)
5+
about: Submit your ideas to improve Thunderbird for Android
6+
- name: Mozilla support forum (SUMO)
107
url: https://support.mozilla.org/products/thunderbird-android
11-
about: Most issues are not bugs. Ask the community for help.
8+
about: Many issues are not bugs, ask the community for help

.github/ISSUE_TEMPLATE/maintainer.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
name: Maintainer issue
3+
about: Please use one of the other issue templates instead
4+
title: ''
5+
labels: []
6+
assignees: []
7+
---
8+

.github/ci-gradle.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
org.gradle.daemon=false
22
org.gradle.parallel=true
3-
org.gradle.workers.max=2
3+
org.gradle.workers.max=4
4+
org.gradle.jvmargs=-Xmx10g -XX:MaxMetaspaceSize=1g -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError
45

56
kotlin.incremental=false
67
kotlin.compiler.execution.strategy=in-process

.github/dependabot.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
version: 2
2+
commit-message:
3+
prefix: chore
4+
include: scope
5+
labels:
6+
- "type: dependency"
27
updates:
38
- package-ecosystem: "github-actions"
49
directory: "/"

.github/workflows/android.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
java-version: '17'
3333

3434
- name: Setup Gradle
35-
uses: gradle/actions/setup-gradle@06832c7b30a0129d7fb559bcc6e43d26f6374244 # v4.3.1
35+
uses: gradle/actions/setup-gradle@8379f6a1328ee0e06e2bb424dadb7b159856a326 # v4.4.0
3636

3737
- name: Quality - Spotless
3838
run: ./gradlew spotlessCheck

.github/workflows/codeql.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,17 @@ jobs:
2828
java-version: '17'
2929

3030
- name: Setup Gradle
31-
uses: gradle/actions/setup-gradle@06832c7b30a0129d7fb559bcc6e43d26f6374244 # v4.3.1
31+
uses: gradle/actions/setup-gradle@8379f6a1328ee0e06e2bb424dadb7b159856a326 # v4.4.0
3232
with:
3333
cache-read-only: true
3434

35-
- uses: github/codeql-action/init@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15
35+
- uses: github/codeql-action/init@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
3636
with:
3737
languages: java
3838

3939
- name: Autobuild
40-
uses: github/codeql-action/autobuild@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15
40+
uses: github/codeql-action/autobuild@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
4141

4242
- name: Perform CodeQL Analysis
43-
uses: github/codeql-action/analyze@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15
43+
uses: github/codeql-action/analyze@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
4444

.github/workflows/deploy-docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
environment: botmobile
2222
steps:
2323
- name: App token generate
24-
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
24+
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
2525
if: ${{ vars.BOT_CLIENT_ID }}
2626
id: app-token
2727
with:
@@ -34,7 +34,7 @@ jobs:
3434
token: ${{ steps.app-token.outputs.token || github.token }}
3535

3636
- name: Cargo cache
37-
uses: actions-rust-lang/setup-rust-toolchain@9399c7bb15d4c7d47b27263d024f0a4978346ba4 # v1.11.0
37+
uses: actions-rust-lang/setup-rust-toolchain@9d7e65c320fdb52dcd45ffaa68deb6c02c8754d9 # v1.12.0
3838

3939
- name: Install mdbook and extensions
4040
run: ./docs/install.sh

.github/workflows/fluidscan.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,6 @@ jobs:
3535

3636
# Upload the results to GitHub's code scanning dashboard.
3737
- name: "Upload to code-scanning"
38-
uses: github/codeql-action/upload-sarif@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15
38+
uses: github/codeql-action/upload-sarif@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
3939
with:
4040
sarif_file: fluidscan-results.sarif

.github/workflows/gradle-cache.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
java-version: '17'
3030

3131
- name: Setup Gradle
32-
uses: gradle/actions/setup-gradle@06832c7b30a0129d7fb559bcc6e43d26f6374244 # v4.3.1
32+
uses: gradle/actions/setup-gradle@8379f6a1328ee0e06e2bb424dadb7b159856a326 # v4.4.0
3333

3434
- name: Build (run full build and tests)
3535
run: ./gradlew build

.github/workflows/markdown.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
1818

1919
- name: Cargo cache
20-
uses: actions-rust-lang/setup-rust-toolchain@9399c7bb15d4c7d47b27263d024f0a4978346ba4 # v1.11.0
20+
uses: actions-rust-lang/setup-rust-toolchain@9d7e65c320fdb52dcd45ffaa68deb6c02c8754d9 # v1.12.0
2121

2222
- name: Install mdbook and extensions
2323
run: ./docs/install.sh
@@ -31,7 +31,7 @@ jobs:
3131
java-version: '17'
3232

3333
- name: Setup Gradle
34-
uses: gradle/actions/setup-gradle@06832c7b30a0129d7fb559bcc6e43d26f6374244 # v4.3.1
34+
uses: gradle/actions/setup-gradle@8379f6a1328ee0e06e2bb424dadb7b159856a326 # v4.4.0
3535

3636
- name: Quality - Spotless Markdown Check
3737
run: ./gradlew spotlessFlexmarkCheck

.github/workflows/needinfo-answered.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
pull-requests: write
2323
steps:
2424
- name: App token generate
25-
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
25+
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
2626
if: ${{ vars.BOT_CLIENT_ID }}
2727
id: app-token
2828
with:

.github/workflows/needinfo-remove.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
pull-requests: write
2525
steps:
2626
- name: App token generate
27-
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
27+
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
2828
if: ${{ vars.BOT_CLIENT_ID }}
2929
id: app-token
3030
with:

.github/workflows/needinfo-stale.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
pull-requests: write
2020
steps:
2121
- name: App token generate
22-
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
22+
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
2323
if: ${{ vars.BOT_CLIENT_ID }}
2424
id: app-token
2525
with:

.github/workflows/pulls-merged.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
environment: botmobile
2020
steps:
2121
- name: App token generate
22-
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
22+
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
2323
if: ${{ vars.BOT_CLIENT_ID }}
2424
id: app-token
2525
with:

.github/workflows/scorecard.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,6 @@ jobs:
6262

6363
# Upload the results to GitHub's code scanning dashboard.
6464
- name: "Upload to code-scanning"
65-
uses: github/codeql-action/upload-sarif@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15
65+
uses: github/codeql-action/upload-sarif@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
6666
with:
6767
sarif_file: results.sarif

.github/workflows/shippable_builds.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ jobs:
206206
new_version_code: ${{ steps.new_version_code.outputs.new_version_code }}
207207
steps:
208208
- name: App Token Generate
209-
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
209+
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
210210
if: ${{ vars.BOT_CLIENT_ID }}
211211
id: app-token
212212
with:
@@ -232,7 +232,7 @@ jobs:
232232
java-version: '17'
233233

234234
- name: Setup Gradle
235-
uses: gradle/actions/setup-gradle@06832c7b30a0129d7fb559bcc6e43d26f6374244 # v4.3.1
235+
uses: gradle/actions/setup-gradle@8379f6a1328ee0e06e2bb424dadb7b159856a326 # v4.4.0
236236
if: ${{ contains(matrix.releaseTarget, 'github') || needs.dump_config.outputs.releaseType == 'daily' }}
237237
with:
238238
cache-disabled: "${{ contains(fromJSON('[\"beta\", \"release\"]'), needs.dump_config.outputs.releaseType) }}"
@@ -480,7 +480,7 @@ jobs:
480480
java-version: '17'
481481

482482
- name: Setup Gradle
483-
uses: gradle/actions/setup-gradle@06832c7b30a0129d7fb559bcc6e43d26f6374244 # v4.3.1
483+
uses: gradle/actions/setup-gradle@8379f6a1328ee0e06e2bb424dadb7b159856a326 # v4.4.0
484484
with:
485485
cache-disabled: "${{ contains(fromJSON('[\"beta\", \"release\"]'), needs.dump_config.outputs.releaseType) }}"
486486
add-job-summary: on-failure
@@ -583,7 +583,7 @@ jobs:
583583
env:
584584
RELEASE_TYPE: ${{ needs.dump_config.outputs.releaseType }}
585585
steps:
586-
- uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
586+
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
587587
with:
588588
name: unsigned-${{ matrix.appName }}-${{ matrix.packageFormat }}-${{ matrix.packageFlavor }}
589589
path: uploads/
@@ -704,7 +704,7 @@ jobs:
704704
ref: ${{ steps.shanotes.outputs.app_sha }}
705705

706706
- name: Download Artifacts
707-
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
707+
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
708708
with:
709709
name: signed-${{ matrix.appName }}-${{ matrix.packageFormat }}-${{ matrix.packageFlavor }}
710710
path: "uploads/"
@@ -765,7 +765,7 @@ jobs:
765765
ls -l uploads/${PKG_FILE_PRETTY}
766766
767767
- name: App Token Generate
768-
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
768+
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
769769
if: ${{ contains(matrix.releaseTarget, 'github') && vars.BOT_CLIENT_ID }}
770770
id: app-token
771771
with:
@@ -913,7 +913,7 @@ jobs:
913913
914914
- name: Auth to GCS for FTP
915915
if: ${{ !inputs.skipFtp && contains(matrix.releaseTarget, 'ftp') && matrix.packageFormat == 'apk' }}
916-
uses: google-github-actions/auth@71f986410dfbc7added4569d411d040a91dc6935 # v2.1.8
916+
uses: google-github-actions/auth@ba79af03959ebeac9769e648f473a284504d9193 # v2.1.10
917917
with:
918918
service_account: ${{ steps.prepare_ftp.outputs.SERVICE_ACCOUNT }}
919919
workload_identity_provider: ${{ steps.prepare_ftp.outputs.WORKLOAD_IDENTITY_PROVIDER }}

.github/workflows/uplift-merges.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
pull-requests: write
2121
steps:
2222
- name: App token generate
23-
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
23+
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
2424
if: ${{ !inputs.dryRun && vars.BOT_CLIENT_ID }}
2525
id: app-token
2626
with:

.github/workflows/validate-gradle.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ jobs:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
15-
- uses: gradle/actions/wrapper-validation@06832c7b30a0129d7fb559bcc6e43d26f6374244 # v4.3.1
15+
- uses: gradle/actions/wrapper-validation@8379f6a1328ee0e06e2bb424dadb7b159856a326 # v4.4.0

app-common/build.gradle.kts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,24 @@ android {
88

99
dependencies {
1010
api(projects.legacy.common)
11-
1211
api(projects.legacy.ui.legacy)
1312

1413
api(projects.feature.account.core)
15-
1614
api(projects.feature.launcher)
17-
1815
api(projects.feature.navigation.drawer.api)
1916

2017
implementation(projects.legacy.core)
21-
implementation(projects.legacy.account)
18+
implementation(projects.core.android.account)
2219

23-
implementation(projects.core.account)
24-
25-
implementation(projects.core.featureflags)
20+
implementation(projects.core.featureflag)
2621
implementation(projects.core.ui.legacy.theme2.common)
2722

2823
implementation(projects.feature.account.setup)
24+
implementation(projects.feature.mail.account.api)
2925
implementation(projects.feature.migration.provider)
26+
implementation(projects.feature.widget.messageList)
3027

3128
implementation(projects.mail.protocols.imap)
29+
30+
implementation(libs.androidx.work.runtime)
3231
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,20 @@
11
package net.thunderbird.app.common
22

3+
import com.fsck.k9.legacyCommonAppModules
4+
import com.fsck.k9.legacyCoreModules
5+
import com.fsck.k9.legacyUiModules
36
import net.thunderbird.app.common.account.appCommonAccountModule
7+
import net.thunderbird.app.common.feature.appCommonFeatureModule
48
import org.koin.core.module.Module
59
import org.koin.dsl.module
610

711
val appCommonModule: Module = module {
12+
includes(legacyCommonAppModules)
13+
includes(legacyCoreModules)
14+
includes(legacyUiModules)
15+
816
includes(
917
appCommonAccountModule,
18+
appCommonFeatureModule,
1019
)
1120
}

legacy/common/src/main/java/com/fsck/k9/CommonApp.kt renamed to app-common/src/main/kotlin/net/thunderbird/app/common/BaseApplication.kt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
1-
package com.fsck.k9
1+
package net.thunderbird.app.common
22

33
import android.app.Application
44
import android.content.Context
55
import android.content.res.Configuration
66
import android.content.res.Resources
77
import app.k9mail.feature.widget.message.list.MessageListWidgetManager
88
import app.k9mail.legacy.di.DI
9+
import com.fsck.k9.Core
10+
import com.fsck.k9.K9
11+
import com.fsck.k9.MessagingListenerProvider
912
import com.fsck.k9.controller.MessagingController
1013
import com.fsck.k9.job.WorkManagerConfigurationProvider
14+
import com.fsck.k9.logging.Timber
1115
import com.fsck.k9.notification.NotificationChannelManager
1216
import com.fsck.k9.ui.base.AppLanguageManager
1317
import com.fsck.k9.ui.base.extensions.currentLocale
@@ -21,10 +25,10 @@ import kotlinx.coroutines.flow.onEach
2125
import net.thunderbird.core.ui.theme.manager.ThemeManager
2226
import org.koin.android.ext.android.inject
2327
import org.koin.core.module.Module
24-
import timber.log.Timber
2528
import androidx.work.Configuration as WorkManagerConfiguration
2629

27-
abstract class CommonApp : Application(), WorkManagerConfiguration.Provider {
30+
abstract class BaseApplication : Application(), WorkManagerConfiguration.Provider {
31+
2832
private val messagingController: MessagingController by inject()
2933
private val messagingListenerProvider: MessagingListenerProvider by inject()
3034
private val themeManager: ThemeManager by inject()
@@ -38,10 +42,11 @@ abstract class CommonApp : Application(), WorkManagerConfiguration.Provider {
3842

3943
override fun attachBaseContext(base: Context?) {
4044
Core.earlyInit()
45+
4146
super.attachBaseContext(base)
4247

4348
// Start Koin early so it is ready by the time content providers are initialized.
44-
DI.start(this, listOf(provideAppModule()) + coreModules + uiModules + commonAppModules)
49+
DI.start(this, listOf(provideAppModule()))
4550
}
4651

4752
override fun onCreate() {

app-common/src/main/kotlin/net/thunderbird/app/common/account/AccountColorPicker.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ package net.thunderbird.app.common.account
22

33
import android.content.res.Resources
44
import app.k9mail.core.ui.legacy.theme2.common.R
5-
import app.k9mail.legacy.account.AccountManager
5+
import net.thunderbird.core.android.account.AccountManager
66

7-
class AccountColorPicker(
7+
internal class AccountColorPicker(
88
private val accountManager: AccountManager,
99
private val resources: Resources,
1010
) {

0 commit comments

Comments
 (0)