0
0
mirror of https://github.com/thunderbird/thunderbird-android.git synced 2024-09-19 19:52:14 +02:00

Merge pull request #7900 from thunderbird/add-material3-legacy-theme2

Add Material 3 legacy theme 2
This commit is contained in:
Wolf-Martell Montwé 2024-06-04 19:06:23 +02:00 committed by GitHub
commit 06a6aa0ec3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
40 changed files with 621 additions and 204 deletions

View File

@ -12,6 +12,7 @@ if (testCoverageEnabled) {
dependencies {
implementation(projects.app.common)
implementation(projects.core.ui.compose.theme2.k9mail)
implementation(projects.core.ui.legacy.theme2.k9mail)
implementation(projects.feature.launcher)
implementation(projects.app.core)

View File

@ -12,6 +12,7 @@ if (testCoverageEnabled) {
dependencies {
implementation(projects.app.common)
implementation(projects.core.ui.compose.theme2.thunderbird)
implementation(projects.core.ui.legacy.theme2.thunderbird)
implementation(projects.feature.launcher)
implementation(projects.app.core)

View File

@ -0,0 +1,19 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="72dp"
android:height="72dp"
android:viewportWidth="1024"
android:viewportHeight="1024">
<path
android:pathData="M555.9,831V808H578.6C588.6,808 593.4,812.2 593.4,819.1C593.4,825.9 589.1,831 578.8,831H555.9Z"
android:fillColor="#000000"/>
<path
android:pathData="M555.9,873.1V848.3H577.9C590,848.3 594.7,852.8 594.7,860.6C594.7,868.3 589.2,873.1 578.7,873.1H555.9Z"
android:fillColor="#000000"/>
<path
android:pathData="M846.4,854.8H817.7L832.1,815.3L846.4,854.8Z"
android:fillColor="#000000"/>
<path
android:pathData="M618,129C532.9,145.8 461.3,189.1 441.1,259.7H440.9C389.5,280.8 372.9,321.7 372.6,354.8C372.6,355.6 372.6,356.4 372.7,357.2C372.8,366.9 374.3,375.8 376.8,383.3C376.8,383.3 376.8,383.5 376.7,383.9C416,356.4 466.1,341.5 513.5,341.5C591.6,341.5 659.7,376.6 695.4,428.5L695.3,428.6C691.6,423.1 687.5,417.9 683.2,412.9C630.6,459.8 590.2,495.5 534.9,542.7C513.5,560.9 506.8,561.3 485,542.7C436.6,501.5 402.4,469.4 360,429.6L343,413.8C343,413.8 342.9,413.9 342.9,413.9C348,328.1 315,225.4 253.4,205.2C249,203.8 244.7,207.1 244.1,211.6C236,279.5 218.5,303.1 199.5,328.5L199.5,328.5C171.1,366.6 150.4,410.6 151.3,459C141,437.3 132.6,414.7 126.5,391.6C125.6,388.4 120.4,378.7 114.7,381.9C110.1,384.5 106.7,391.6 104.2,399.1C94.8,434.3 90,472 90,508.4C90,717.1 248.1,894.7 448.7,926.7V939.7C448.7,950.7 457.6,959.6 468.6,959.6H811.4C892.5,959.6 958.3,893.8 958.3,812.7V701.1C958.3,701.1 958.3,701.2 958.3,701.3V701.1C958.3,680.5 944.1,656.4 915,643.4C929.3,601 937,555.6 937,508.4C937.1,422.6 911.1,338.8 862.4,268.2C882.2,267.8 902,269.3 921.5,272.7C895.6,243.9 860.7,220.7 820,205.5C848.3,195.3 878,189.4 908,188C900.9,182.2 893.3,176.7 885.2,171.5C836.6,140.1 772.6,121 702.4,121L618,129ZM506.5,751.1C515.9,743.9 526.2,737.8 537.2,733C525.5,725.5 514,716.2 503.6,704.4C499.3,699.5 491.8,691 495.2,685.5C498.1,680.8 505.1,681.1 510.6,681.3H510.6C511.6,681.3 512.6,681.4 513.5,681.4L513.5,681.4C628.5,681.4 721.8,605.3 721.8,511.4C721.8,482.9 713.2,456.1 698,432.5L698,432.5C698.3,433.1 698.7,433.7 699.1,434.2L678.3,454.1L539.7,605.5C525.1,615.5 501.9,616.7 486.5,607.5L370.5,477L327.6,434.9C313.5,457.6 305.2,484.1 305.2,513.9C305.3,635.3 398,719.3 506.5,751.1ZM542.7,256.5C565,249.5 563,227.4 563,227.4C563,227.4 551.9,214.3 529.8,221.5C509.1,228.4 505.9,243.1 505.9,243.1C505.9,243.1 517.2,264.5 542.7,256.5ZM578.2,790.9H537V890.4H578.4C600.5,890.4 614.2,880.6 614.2,861C614.2,850.6 609.5,843.1 601.2,838.9C604.8,836.9 607.8,834 609.8,830.4C611.8,826.9 612.8,822.8 612.7,818.7C612.7,800.9 600.2,790.9 578.2,790.9ZM699.5,790.9H632.5V890.4H699.5V872.2H651.8V849.5H699.5V831.4H651.8V809H699.5V790.9ZM716,808.6H743.7L743.6,890.4H762.6V808.6H790V790.9H716V808.6ZM841.5,790.9H822.6L785,890.4H804.7L811.3,872.3H852.8L859.4,890.4H879.2L841.5,790.9Z"
android:fillColor="#000000"
android:fillType="evenOdd"/>
</vector>

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="72dp"
android:height="72dp"
android:viewportWidth="1024"
android:viewportHeight="1024">
<path
android:pathData="M618,129C532.9,145.8 461.3,189.1 441.1,259.7H440.9C389.5,280.8 372.9,321.7 372.6,354.8C372.6,355.6 372.6,356.4 372.7,357.2C372.8,366.9 374.3,375.8 376.8,383.3C376.8,383.3 376.8,383.5 376.7,383.9C416,356.4 466.1,341.5 513.5,341.5C591.6,341.5 659.7,376.6 695.4,428.5L695.3,428.6C691.6,423.1 687.5,417.9 683.2,412.9C630.6,459.8 590.2,495.5 534.9,542.7C513.5,560.9 506.8,561.3 485,542.7C436.6,501.5 402.4,469.4 360,429.6L343,413.8C343,413.8 342.9,413.9 342.9,413.9C348,328.1 315,225.4 253.4,205.2C249,203.8 244.7,207.1 244.1,211.6C236,279.5 218.5,303.1 199.5,328.5L199.5,328.5C171.1,366.6 150.4,410.6 151.3,459C141,437.3 132.6,414.7 126.5,391.6C125.6,388.4 120.4,378.7 114.7,381.9C110.1,384.5 106.7,391.6 104.2,399.1C94.8,434.3 90,472 90,508.4C90,717.1 248.1,894.7 448.7,926.7V939.7C448.7,950.7 457.6,959.6 468.6,959.6H811.4C892.5,959.6 958.3,893.8 958.3,812.7V701.1C958.3,701.1 958.3,701.2 958.3,701.3V701.1C958.3,680.5 944.1,656.4 915,643.4C929.3,601 937,555.6 937,508.4C937.1,422.6 911.1,338.8 862.4,268.2C882.2,267.8 902,269.3 921.5,272.7C895.6,243.9 860.7,220.7 820,205.5C848.3,195.3 878,189.4 908,188C900.9,182.2 893.3,176.7 885.2,171.5C836.6,140.1 772.6,121 702.4,121L618,129ZM506.5,751.1C515.9,743.9 526.2,737.8 537.2,733C525.5,725.5 514,716.2 503.6,704.4C499.3,699.5 491.8,691 495.2,685.5C498.1,680.8 505.1,681.1 510.6,681.3H510.6H510.6C511.6,681.3 512.6,681.4 513.5,681.4L513.5,681.4C628.5,681.4 721.8,605.3 721.8,511.4C721.8,482.9 713.2,456.1 698,432.5L698,432.5C698.3,433.1 698.7,433.7 699.1,434.2L678.3,454.1L539.7,605.5C525.1,615.5 501.9,616.7 486.5,607.5L370.5,477L327.6,434.9C313.5,457.6 305.2,484.1 305.2,513.9C305.3,635.3 398,719.3 506.5,751.1ZM542.7,256.5C565,249.5 563,227.4 563,227.4C563,227.4 551.9,214.3 529.8,221.5C509.1,228.4 505.9,243.1 505.9,243.1C505.9,243.1 517.2,264.5 542.7,256.5ZM522.1,889H555.1C564.5,889 572.7,887.1 579.5,883.4C586.3,879.7 591.5,874.3 595.1,867.4C598.8,860.4 600.6,852.1 600.6,842.4C600.6,832.7 598.8,824.4 595.1,817.5C591.5,810.5 586.3,805.2 579.5,801.5C572.8,797.8 564.7,795.9 555.4,795.9H522.1V889ZM554.3,872.1H541.8V812.8H554.3C560.1,812.8 565,813.8 569,815.9C573,817.9 576,821.1 578,825.5C580,829.9 581,835.5 581,842.4C581,849.3 580,855 578,859.4C576,863.7 573,867 569,869C565,871.1 560.1,872.1 554.3,872.1ZM604.9,889H626L632.9,867.8H666.5L673.4,889H694.5L662.4,795.9H637.1L604.9,889ZM661.5,852.4L650.1,817.2H649.4L637.9,852.4H661.5ZM725.4,889V795.9H705.7V889H725.4ZM741.6,795.9V889H801.2V872.8H761.3V795.9H741.6ZM818.9,795.9H796.9L830.8,856.1V889H850.4V856.1L884.3,795.9H862.3L841.1,836H840.2L818.9,795.9Z"
android:fillColor="#000000"
android:fillType="evenOdd"/>
</vector>

View File

@ -0,0 +1,19 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="72dp"
android:height="72dp"
android:viewportWidth="1024"
android:viewportHeight="1024">
<path
android:pathData="M525.3,872.1H512.8V812.8H525.3C531.1,812.8 536,813.8 540,815.9C544,817.9 547,821.1 549,825.5C551,829.9 552,835.5 552,842.4C552,849.3 551,855 549,859.4C547,863.7 544,867 540,869C536,871.1 531.1,872.1 525.3,872.1Z"
android:fillColor="#000000"/>
<path
android:pathData="M700.3,872.9H684.3V848.2H700.8C703.9,848.2 706.6,848.7 708.9,849.9C711.2,851 713,852.5 714.2,854.5C715.5,856.5 716.1,858.7 716.1,861.3C716.1,864.8 714.8,867.7 712.3,869.8C709.8,871.9 705.8,872.9 700.3,872.9Z"
android:fillColor="#000000"/>
<path
android:pathData="M698.9,834.9H684.3V811.8H699.2C703.6,811.8 707,812.8 709.3,814.9C711.7,817 712.9,819.7 712.9,823C712.9,825.5 712.3,827.6 711,829.4C709.8,831.1 708.2,832.5 706,833.5C704,834.4 701.6,834.9 698.9,834.9Z"
android:fillColor="#000000"/>
<path
android:pathData="M618,129C532.9,145.8 461.3,189.1 441.1,259.7H440.9C389.5,280.8 372.9,321.7 372.6,354.8C372.6,355.6 372.6,356.4 372.7,357.2C372.8,366.9 374.3,375.8 376.8,383.3C376.8,383.3 376.8,383.5 376.7,383.9C416,356.4 466.1,341.5 513.5,341.5C591.6,341.5 659.7,376.6 695.4,428.5L695.3,428.6C691.6,423.1 687.5,417.9 683.2,412.9C630.6,459.8 590.2,495.5 534.9,542.7C513.5,560.9 506.8,561.3 485,542.7C436.6,501.5 402.4,469.4 360,429.6L343,413.8C343,413.8 342.9,413.9 342.9,413.9C348,328.1 315,225.4 253.4,205.2C249,203.8 244.7,207.1 244.1,211.6C236,279.5 218.5,303.1 199.5,328.5L199.5,328.5C171.1,366.6 150.4,410.6 151.3,459C141,437.3 132.6,414.7 126.5,391.6C125.6,388.4 120.4,378.7 114.7,381.9C110.1,384.5 106.7,391.6 104.2,399.1C94.8,434.3 90,472 90,508.4C90,717.1 248.1,894.7 448.7,926.7V939.7C448.7,950.7 457.6,959.6 468.6,959.6H811.4C892.5,959.6 958.3,893.8 958.3,812.7V701.1C958.3,701.1 958.3,701.2 958.3,701.3V701.1C958.3,680.5 944.1,656.4 915,643.4C929.3,601 937,555.6 937,508.4C937.1,422.6 911.1,338.8 862.4,268.2C882.2,267.8 902,269.3 921.5,272.7C895.6,243.9 860.7,220.7 820,205.5C848.3,195.3 878,189.4 908,188C900.9,182.2 893.3,176.7 885.2,171.5C836.6,140.1 772.6,121 702.4,121L618,129ZM506.5,751.1C515.9,743.9 526.2,737.8 537.2,733C525.5,725.5 514,716.2 503.6,704.4C499.3,699.5 491.8,691 495.2,685.5C498.1,680.8 505.1,681.1 510.6,681.3H510.6C511.6,681.3 512.6,681.4 513.5,681.4L513.5,681.4C628.5,681.4 721.8,605.3 721.8,511.4C721.8,482.9 713.2,456.1 698,432.5L698,432.5C698.3,433.1 698.7,433.7 699.1,434.2L678.3,454.1L539.7,605.5C525.1,615.5 501.9,616.7 486.5,607.5L370.5,477L327.6,434.9C313.5,457.6 305.2,484.1 305.2,513.9C305.3,635.3 398,719.3 506.5,751.1ZM542.7,256.5C565,249.5 563,227.4 563,227.4C563,227.4 551.9,214.3 529.8,221.5C509.1,228.4 505.9,243.1 505.9,243.1C505.9,243.1 517.2,264.5 542.7,256.5ZM493.1,889H526.1C535.5,889 543.7,887.1 550.5,883.4C557.3,879.7 562.5,874.3 566.1,867.4C569.8,860.4 571.6,852.1 571.6,842.4C571.6,832.7 569.8,824.4 566.1,817.5C562.5,810.5 557.3,805.2 550.5,801.5C543.8,797.8 535.7,795.9 526.4,795.9H493.1V889ZM586.2,795.9V889H649.1V872.8H605.9V850.5H645.7V834.3H605.9V812.1H648.9V795.9H586.2ZM664.6,795.9V889H704.4C711.3,889 717.2,887.9 722,885.6C726.7,883.4 730.3,880.3 732.7,876.5C735.2,872.6 736.4,868.2 736.4,863.3C736.4,858.7 735.4,854.8 733.5,851.5C731.6,848.1 729,845.5 725.9,843.7C722.8,841.8 719.5,840.8 716,840.7V839.8C719.2,839 722.1,837.8 724.6,836.1C727.1,834.3 729.1,832.1 730.6,829.4C732,826.6 732.8,823.4 732.8,819.8C732.8,815.1 731.6,811 729.3,807.4C727,803.8 723.6,801 719,799C714.4,796.9 708.7,795.9 701.9,795.9H664.6ZM826.4,795.9H806.7V854.7C806.7,858.2 805.9,861.4 804.4,864.1C802.8,866.9 800.6,869.1 797.8,870.6C794.9,872.2 791.6,873 787.8,873C784,873 780.7,872.2 777.9,870.6C775,869.1 772.8,866.9 771.2,864.1C769.7,861.4 768.9,858.2 768.9,854.7V795.9H749.2V856.4C749.2,863.2 750.8,869.1 754,874.2C757.2,879.3 761.7,883.2 767.5,886.1C773.3,888.9 780.1,890.3 787.8,890.3C795.5,890.3 802.2,888.9 808,886.1C813.8,883.2 818.3,879.3 821.5,874.2C824.8,869.1 826.4,863.2 826.4,856.4V795.9ZM901.6,820.1C902.8,821.8 903.7,823.8 904.3,826H924.3C923.7,821.4 922.2,817.2 920,813.4C917.8,809.5 914.9,806.2 911.3,803.4C907.8,800.6 903.8,798.5 899.2,797C894.7,795.4 889.8,794.6 884.5,794.6C878.3,794.6 872.6,795.7 867.4,797.9C862.1,800 857.5,803.2 853.5,807.3C849.5,811.4 846.4,816.4 844.2,822.4C842,828.3 841,835 841,842.5C841,852.4 842.8,860.8 846.5,868C850.2,875.1 855.3,880.6 861.9,884.5C868.5,888.3 876.2,890.3 884.9,890.3C892.7,890.3 899.7,888.7 905.7,885.5C911.8,882.4 916.5,877.8 920,872C923.5,866.1 925.2,859.1 925.2,850.9V839.2H886.2V854H906.2C906.1,857.7 905.3,861 903.7,863.7C902,866.6 899.6,868.9 896.4,870.5C893.3,872.1 889.5,872.9 885,872.9C880.1,872.9 875.8,871.7 872.2,869.3C868.6,866.9 865.8,863.5 863.9,858.9C861.9,854.4 860.9,848.8 860.9,842.4C860.9,835.9 861.9,830.4 863.9,825.9C865.9,821.4 868.7,818 872.3,815.6C875.9,813.2 880.1,812 884.8,812C887.4,812 889.7,812.4 891.8,813C893.9,813.6 895.8,814.6 897.4,815.8C899.1,817 900.5,818.4 901.6,820.1Z"
android:fillColor="#000000"
android:fillType="evenOdd"/>
</vector>

View File

@ -30,7 +30,6 @@
android:allowTaskReparenting="false"
android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"
android:icon="@drawable/ic_launcher"
android:theme="@style/Theme.K9.Startup"
android:resizeableActivity="true"
android:allowBackup="false"
@ -60,7 +59,7 @@
<activity
android:name="com.fsck.k9.ui.settings.account.OpenPgpAppSelectDialog"
android:configChanges="locale"
android:theme="@style/Theme.K9.Dialog.Translucent.DayNight" />
android:theme="@style/Theme.K9.DayNight.Dialog.Translucent" />
<activity
android:name="com.fsck.k9.activity.setup.AccountSetupComposition"
@ -99,7 +98,7 @@
android:excludeFromRecents="true"
android:launchMode="singleTop"
android:taskAffinity=""
android:theme="@style/Theme.K9.Dialog.Translucent.DayNight" />
android:theme="@style/Theme.K9.DayNight.Dialog.Translucent" />
<activity
android:name="com.fsck.k9.ui.endtoend.AutocryptKeyTransferActivity"
@ -242,7 +241,6 @@
<!-- This component is disabled by default (if possible). It will be enabled programmatically if necessary. -->
<receiver
android:name="com.fsck.k9.provider.UnreadWidgetProvider"
android:icon="@drawable/ic_launcher"
android:label="@string/unread_widget_label"
android:enabled="@bool/home_screen_widgets_enabled"
android:exported="false">

View File

@ -6,6 +6,8 @@ plugins {
dependencies {
api(projects.app.ui.base)
api(projects.core.ui.legacy.designsystem)
// TODO: Remove once Theme2 is fully migrated
api(projects.core.ui.legacy.theme2.k9mail)
implementation(projects.app.core)
implementation(projects.mail.common)

View File

@ -1,10 +1,14 @@
package com.fsck.k9.activity
import android.content.Intent
import android.content.res.Resources.Theme
import android.os.Bundle
import android.util.TypedValue
import androidx.annotation.AttrRes
import com.fsck.k9.BaseAccount
import com.fsck.k9.search.SearchAccount
import com.fsck.k9.ui.R
import app.k9mail.core.ui.legacy.theme2.common.R as CommonR
class LauncherShortcuts : AccountList() {
override fun onCreate(savedInstanceState: Bundle?) {
@ -25,7 +29,7 @@ class LauncherShortcuts : AccountList() {
}
val displayName = account.name ?: account.email
val iconResId = R.drawable.ic_launcher
val iconResId = theme.resolveDrawableResourceId(CommonR.attr.appLogo)
val iconResource = Intent.ShortcutIconResource.fromContext(this, iconResId)
setResult(
@ -50,4 +54,10 @@ class LauncherShortcuts : AccountList() {
putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource)
}
}
private fun Theme.resolveDrawableResourceId(@AttrRes attr: Int): Int {
val typedValue = TypedValue()
resolveAttribute(attr, typedValue, true)
return typedValue.resourceId
}
}

View File

@ -7,6 +7,6 @@ class K9ThemeProvider : ThemeProvider {
override val appThemeResourceId = R.style.Theme_K9_DayNight
override val appLightThemeResourceId = R.style.Theme_K9_Light
override val appDarkThemeResourceId = R.style.Theme_K9_Dark
override val dialogThemeResourceId = R.style.Theme_K9_Dialog_DayNight
override val translucentDialogThemeResourceId = R.style.Theme_K9_Dialog_Translucent_DayNight
override val dialogThemeResourceId = R.style.Theme_K9_DayNight_Dialog
override val translucentDialogThemeResourceId = R.style.Theme_K9_DayNight_Dialog_Translucent
}

View File

@ -1,150 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="72dp"
android:height="72dp"
android:viewportWidth="192"
android:viewportHeight="192">
<path
android:fillColor="#607d8b"
android:fillType="evenOdd"
android:pathData="m32,116v12l25.61,38c2.07,3.59 5.94,6 10.39,6h56c4.46,0 8.32,-2.41 10.39,-6h0.01l25.6,-38v-12z"
android:strokeWidth="0.376"
android:strokeColor="#00000000"
android:strokeLineCap="butt"
android:strokeLineJoin="miter" />
<path
android:fillColor="#263238"
android:fillType="nonZero"
android:pathData="M64,16h8v28h-8z"
android:strokeWidth="5.99999952"
android:strokeColor="#00000000"
android:strokeLineCap="round"
android:strokeLineJoin="miter" />
<path
android:fillColor="#263238"
android:fillType="nonZero"
android:pathData="M120,16h8v28h-8z"
android:strokeWidth="5.99999952"
android:strokeColor="#00000000"
android:strokeLineCap="round"
android:strokeLineJoin="miter" />
<path
android:fillColor="#4d6570"
android:fillType="nonZero"
android:pathData="m32,127v1l25.61,38c2.07,3.59 5.94,6 10.39,6h56c4.46,0 8.32,-2.41 10.39,-6h0.01l25.6,-38v-1l-25.6,38h-0.01c-2.07,3.59 -5.94,6 -10.39,6h-56c-4.46,0 -8.32,-2.41 -10.39,-6z"
android:strokeWidth="0.34016225"
android:strokeColor="#00000000"
android:strokeLineCap="round"
android:strokeLineJoin="miter" />
<path
android:fillColor="#607d8b"
android:fillType="nonZero"
android:pathData="M80,14L80,22A6,6 0,0 1,74 28L50,28A6,6 0,0 1,44 22L44,14A6,6 0,0 1,50 8L74,8A6,6 0,0 1,80 14z"
android:strokeWidth="0.34016225"
android:strokeColor="#00000000"
android:strokeLineCap="round"
android:strokeLineJoin="miter" />
<path
android:fillColor="#607d8b"
android:fillType="nonZero"
android:pathData="M148,14L148,22A6,6 0,0 1,142 28L118,28A6,6 0,0 1,112 22L112,14A6,6 0,0 1,118 8L142,8A6,6 0,0 1,148 14z"
android:strokeWidth="0.34016225"
android:strokeColor="#00000000"
android:strokeLineCap="round"
android:strokeLineJoin="miter" />
<path
android:fillColor="#4d6570"
android:fillType="nonZero"
android:pathData="m44,21v1c0,3.32 2.68,6 6,6h24c3.32,0 6,-2.68 6,-6v-1c0,3.32 -2.68,6 -6,6h-24c-3.32,0 -6,-2.68 -6,-6z"
android:strokeWidth="0.34016225"
android:strokeColor="#00000000"
android:strokeLineCap="round"
android:strokeLineJoin="miter" />
<path
android:fillColor="#4d6570"
android:fillType="nonZero"
android:pathData="m112,21v1c0,3.32 2.68,6 6,6h24c3.32,0 6,-2.68 6,-6v-1c0,3.32 -2.68,6 -6,6h-24c-3.32,0 -6,-2.68 -6,-6z"
android:strokeWidth="0.34016225"
android:strokeColor="#00000000"
android:strokeLineCap="round"
android:strokeLineJoin="miter" />
<path
android:fillColor="#8097a2"
android:fillType="nonZero"
android:pathData="m50,8c-3.32,0 -6,2.68 -6,6v1c0,-3.32 2.68,-6 6,-6h24c3.32,0 6,2.68 6,6v-1c0,-3.32 -2.68,-6 -6,-6z"
android:strokeWidth="0.34016225"
android:strokeColor="#00000000"
android:strokeLineCap="round"
android:strokeLineJoin="miter" />
<path
android:fillColor="#8097a2"
android:fillType="nonZero"
android:pathData="m118,8c-3.32,0 -6,2.68 -6,6v1c0,-3.32 2.68,-6 6,-6h24c3.32,0 6,2.68 6,6v-1c0,-3.32 -2.68,-6 -6,-6z"
android:strokeWidth="0.34016225"
android:strokeColor="#00000000"
android:strokeLineCap="round"
android:strokeLineJoin="miter" />
<path
android:fillColor="@color/app_logo_main"
android:fillType="nonZero"
android:pathData="M172,48L172,116A12,12 0,0 1,160 128L32,128A12,12 0,0 1,20 116L20,48A12,12 0,0 1,32 36L160,36A12,12 0,0 1,172 48z"
android:strokeWidth="0.340162"
android:strokeColor="#00000000"
android:strokeLineCap="round"
android:strokeLineJoin="miter" />
<path
android:fillColor="#00000000"
android:fillType="evenOdd"
android:pathData="m36,52 l60,32 60,-32"
android:strokeWidth="6"
android:strokeColor="#fbe9e7"
android:strokeLineCap="round"
android:strokeLineJoin="miter" />
<path
android:fillColor="@color/app_logo_highlight_light"
android:fillType="nonZero"
android:pathData="m32,36c-6.65,0 -12,5.35 -12,12v1c0,-6.65 5.35,-12 12,-12h128c6.65,0 12,5.35 12,12v-1c0,-6.65 -5.35,-12 -12,-12z"
android:strokeWidth="0.340162"
android:strokeColor="#00000000"
android:strokeLineCap="round"
android:strokeLineJoin="miter" />
<path
android:fillColor="@color/app_logo_highlight_dark"
android:fillType="nonZero"
android:pathData="m20,115v1c0,6.65 5.35,12 12,12h128c6.65,0 12,-5.35 12,-12v-1c0,6.65 -5.35,12 -12,12h-128c-6.65,0 -12,-5.35 -12,-12z"
android:strokeWidth="0.340162"
android:strokeColor="#00000000"
android:strokeLineCap="round"
android:strokeLineJoin="miter" />
<path
android:fillColor="#263238"
android:fillType="nonZero"
android:pathData="M108,158L108,170A6,6 0,0 1,102 176L90,176A6,6 0,0 1,84 170L84,158A6,6 0,0 1,90 152L102,152A6,6 0,0 1,108 158z"
android:strokeWidth="0.340162"
android:strokeColor="#00000000"
android:strokeLineCap="round"
android:strokeLineJoin="miter" />
<path
android:fillColor="#263238"
android:fillType="nonZero"
android:pathData="M96,172m-12,0a12,12 0,1 1,24 0a12,12 0,1 1,-24 0"
android:strokeWidth="9"
android:strokeColor="#00000000"
android:strokeLineCap="round"
android:strokeLineJoin="miter" />
<path
android:fillColor="#37474f"
android:fillType="nonZero"
android:pathData="m90,152c-3.32,0 -6,2.68 -6,6v1c0,-3.32 2.68,-6 6,-6h12c3.32,0 6,2.68 6,6v-1c0,-3.32 -2.68,-6 -6,-6z"
android:strokeWidth="0.340162"
android:strokeColor="#00000000"
android:strokeLineCap="round"
android:strokeLineJoin="miter" />
<path
android:fillColor="#1a252a"
android:fillType="nonZero"
android:pathData="m84.02,171.43a12,12 0,0 0,-0.02 0.57,12 12,0 0,0 12,12 12,12 0,0 0,12 -12,12 12,0 0,0 -0.02,-0.41 12,12 0,0 1,-11.98 11.41,12 12,0 0,1 -11.98,-11.57z"
android:strokeWidth="9"
android:strokeColor="#00000000"
android:strokeLineCap="round"
android:strokeLineJoin="miter" />
</vector>

View File

@ -5,7 +5,7 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="?attr/backgroundColorChooseAccountHeader"
android:background="?attr/colorSurfaceContainerHighest"
android:gravity="start|center_vertical">
<View
android:id="@+id/chip"

View File

@ -2,9 +2,7 @@
<resources>
<style name="Theme.K9.DayNight" parent="Theme.K9.Dark" />
<style name="Theme.K9.Dialog.DayNight" parent="Theme.K9.Dialog.Dark" />
<style name="Theme.K9.Dialog.Translucent.DayNight" parent="Theme.K9.Dialog.Translucent.Dark" />
<style name="Theme.K9.DayNight.Dialog" parent="Theme.K9.Dark.Dialog" />
<style name="Theme.K9.DayNight.Dialog.Translucent" parent="Theme.K9.Dark.Dialog.Translucent" />
</resources>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.K9.Startup" parent="Theme.K9.DayNight" />
</resources>

View File

@ -4,7 +4,6 @@
<declare-styleable name="K9Styles">
<attr name="textColorPrimaryRecipientDropdown" format="reference" />
<attr name="textColorSecondaryRecipientDropdown" format="reference" />
<attr name="backgroundColorChooseAccountHeader" format="color" />
<attr name="messageListRegularItemBackgroundColor" format="reference|color"/>
<attr name="messageListReadItemBackgroundColor" format="reference|color"/>
<attr name="messageListUnreadItemBackgroundColor" format="reference|color"/>

View File

@ -5,12 +5,7 @@
<item name="android:windowBackground">@android:color/black</item>
</style>
<!-- Empty base themes that can be easily replaced by RRO (Runtime Resource Overlay) themes -->
<style name="Theme.K9.Light.Base" parent="Theme.Material3.Light.NoActionBar" />
<style name="Theme.K9.Dark.Base" parent="Theme.Material3.Dark.NoActionBar" />
<style name="Theme.K9.Light.Common" parent="Theme.K9.Light.Base">
<!-- Colors -->
<style name="Theme.K9.Light" parent="Theme2.Main.Light">
<item name="colorPrimary">@color/k9_primary_040</item>
<item name="colorOnPrimary">@color/k9_primary_100</item>
<item name="colorPrimaryInverse">@color/k9_primary_080</item>
@ -58,7 +53,9 @@
<item name="colorErrorContainer">@color/k9_error_090</item>
<item name="colorOnErrorContainer">@color/k9_error_010</item>
<item name="windowActionModeOverlay">true</item>
<!-- Custom attributes -->
<item name="appLogo">@drawable/ic_app_logo</item>
<item name="actionModeCloseDrawable">@drawable/ic_close</item>
<item name="actionBarPopupTheme">@style/Widget.App.ActionMode.PopupMenu</item>
<item name="toolbarStyle">@style/Widget.App.Toolbar</item>
@ -106,17 +103,7 @@
<item name="materialDrawerHeaderStyle">@style/Widget.MaterialDrawerHeaderStyle.K9.Light</item>
</style>
<style name="Theme.K9.Light" parent="Theme.K9.Light.Common">
<item name="android:statusBarColor">?attr/colorSurfaceInverse</item>
<item name="android:navigationBarColor">?attr/colorSurfaceInverse</item>
</style>
<style name="Theme.K9.Dark" parent="Theme.K9.Dark.Common">
<item name="android:statusBarColor">?attr/colorSurfaceContainer</item>
<item name="android:navigationBarColor">?attr/colorSurfaceContainer</item>
</style>
<style name="Theme.K9.Dark.Common" parent="Theme.K9.Dark.Base">
<style name="Theme.K9.Dark" parent="Theme2.Main.Dark">
<!-- Colors -->
<item name="colorPrimary">@color/k9_primary_080</item>
<item name="colorOnPrimary">@color/k9_primary_020</item>
@ -165,7 +152,6 @@
<item name="colorErrorContainer">@color/k9_error_030</item>
<item name="colorOnErrorContainer">@color/k9_error_090</item>
<item name="windowActionModeOverlay">true</item>
<item name="actionModeCloseDrawable">@drawable/ic_close</item>
<item name="actionBarPopupTheme">@style/Widget.App.ActionMode.PopupMenu</item>
<item name="toolbarStyle">@style/Widget.App.Toolbar</item>
@ -213,15 +199,10 @@
<item name="materialDrawerHeaderStyle">@style/Widget.MaterialDrawerHeaderStyle.K9.Dark</item>
</style>
<style name="Theme.K9.Dialog.Light" parent="Theme.K9.Light">
<item name="backgroundColorChooseAccountHeader">#cccccc</item>
</style>
<style name="Theme.K9.Light.Dialog" parent="Theme.K9.Light" />
<style name="Theme.K9.Dark.Dialog" parent="Theme.K9.Dark" />
<style name="Theme.K9.Dialog.Dark" parent="Theme.K9.Dark">
<item name="backgroundColorChooseAccountHeader">#404040</item>
</style>
<style name="Theme.K9.Dialog.Translucent.Dark" parent="Theme.Material3.Dark.Dialog">
<style name="Theme.K9.Dark.Dialog.Translucent" parent="Theme.Material3.Dark.Dialog">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
@ -235,7 +216,7 @@
<item name="tintColorBulletPointNeutral">#bbb</item>
</style>
<style name="Theme.K9.Dialog.Translucent.Light" parent="Theme.Material3.Light.Dialog">
<style name="Theme.K9.Light.Dialog.Translucent" parent="Theme.Material3.Light.Dialog">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
@ -250,7 +231,7 @@
</style>
<style name="Theme.K9.DayNight" parent="Theme.K9.Light" />
<style name="Theme.K9.Dialog.DayNight" parent="Theme.K9.Dialog.Light" />
<style name="Theme.K9.Dialog.Translucent.DayNight" parent="Theme.K9.Dialog.Translucent.Light" />
<style name="Theme.K9.DayNight.Dialog" parent="Theme.K9.Light.Dialog" />
<style name="Theme.K9.DayNight.Dialog.Translucent" parent="Theme.K9.Light.Dialog.Translucent" />
</resources>

View File

@ -7,6 +7,5 @@ android {
}
dependencies {
// TODO Remove this dependency once the legacy theme is available
api(libs.android.material)
api(projects.core.ui.legacy.theme2.common)
}

View File

@ -0,0 +1,12 @@
## Core - UI - Legacy - Theme 2
Legacy Theme 2 represents a Material 3 adaptation of the legacy application theme. It follows the design principles of Material 3, while ensuring compatibility with the existing implementation.
It is available in two variants:
- [K9Mail](./k9mail) - The theme for the K-9 Mail app.
- [Thunderbird](./thunderbird) - The theme for the Thunderbird app.
It's not suggested to use the contained modules for new features. Use the Composable UI along our [theme 2](../../compose/theme2) and [design system](../../compose/designsystem) instead.
This is only maintained for the purpose of supporting the existing implementation.

View File

@ -0,0 +1,11 @@
plugins {
id(ThunderbirdPlugins.Library.android)
}
android {
namespace = "app.k9mail.core.ui.legacy.theme2.common"
}
dependencies {
api(libs.android.material)
}

View File

@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.K9.Light" parent="Theme.K9.Light.Common">
<style name="Theme2.Main.Light" parent="Theme2.Main.Light.Common">
<item name="android:statusBarColor">?attr/colorSurfaceContainer</item>
<item name="android:windowLightStatusBar">true</item>
<item name="android:navigationBarColor">?attr/colorSurfaceInverse</item>
</style>
<style name="Theme.K9.Dark" parent="Theme.K9.Dark.Common">
<style name="Theme2.Main.Dark" parent="Theme2.Main.Dark.Common">
<item name="android:statusBarColor">?attr/colorSurfaceContainer</item>
<item name="android:windowLightStatusBar">false</item>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.K9.Light" parent="Theme.K9.Light.Common">
<style name="Theme2.Main.Light" parent="Theme2.Main.Light.Common">
<item name="android:statusBarColor">?attr/colorSurfaceContainer</item>
<item name="android:windowLightStatusBar">true</item>
@ -9,7 +9,7 @@
<item name="android:windowLightNavigationBar">true</item>
</style>
<style name="Theme.K9.Dark" parent="Theme.K9.Dark.Common">
<style name="Theme2.Main.Dark" parent="Theme2.Main.Dark.Common">
<item name="android:statusBarColor">?attr/colorSurfaceContainer</item>
<item name="android:windowLightStatusBar">false</item>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme2.Main.Startup" parent="Theme2.Main.DayNight" />
</resources>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="MainTheme">
<attr name="appLogo" format="reference"/>
</declare-styleable>
</resources>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Empty base themes that can be easily replaced by RRO (Runtime Resource Overlay) themes -->
<style name="Theme2.Main.Light.Base" parent="Theme.Material3.Light.NoActionBar" />
<style name="Theme2.Main.Dark.Base" parent="Theme.Material3.Dark.NoActionBar" />
<style name="Theme2.Main.DayNight.Base" parent="Theme.Material3.DayNight.NoActionBar" />
<!-- Common main themes -->
<style name="Theme2.Main.Light.Common" parent="Theme2.Main.Light.Base">
<!-- Draw action mode above content -->
<item name="windowActionModeOverlay">true</item>
</style>
<style name="Theme2.Main.Dark.Common" parent="Theme2.Main.Dark.Base">
<!-- Draw action mode above content -->
<item name="windowActionModeOverlay">true</item>
</style>
<style name="Theme2.Main.DayNight.Common" parent="Theme2.Main.Light.Base" />
<!-- Main themes -->
<style name="Theme2.Main.Light" parent="Theme2.Main.Light.Common">
<item name="android:statusBarColor">?attr/colorSurfaceInverse</item>
<item name="android:navigationBarColor">?attr/colorSurfaceInverse</item>
</style>
<style name="Theme2.Main.Dark" parent="Theme2.Main.Dark.Common">
<item name="android:statusBarColor">?attr/colorSurfaceContainer</item>
<item name="android:navigationBarColor">?attr/colorSurfaceContainer</item>
</style>
<style name="Theme2.Main.DayNight" parent="Theme2.Main.Light" />
<style name="Theme2.Main.Startup" parent="Theme2.Main.Dark">
<item name="android:windowBackground">@android:color/black</item>
</style>
</resources>

View File

@ -0,0 +1,11 @@
plugins {
id(ThunderbirdPlugins.Library.android)
}
android {
namespace = "app.k9mail.core.ui.legacy.theme2.k9mail"
}
dependencies {
implementation(projects.core.ui.legacy.theme2.common)
}

View File

@ -4,5 +4,5 @@
<foreground>
<inset android:drawable="@drawable/ic_app_logo" android:inset="23%"/>
</foreground>
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
<monochrome android:drawable="@drawable/ic_app_logo_monochrome" />
</adaptive-icon>

View File

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Theme2.K9.Light" parent="Theme2.Main.Light">
<item name="colorPrimary">@color/k9_primary_040</item>
<item name="colorOnPrimary">@color/k9_primary_100</item>
<item name="colorPrimaryInverse">@color/k9_primary_080</item>
<item name="colorPrimaryContainer">@color/k9_primary_090</item>
<item name="colorOnPrimaryContainer">@color/k9_primary_010</item>
<item name="colorPrimaryFixed">@color/k9_primary_090</item>
<item name="colorPrimaryFixedDim">@color/k9_primary_080</item>
<item name="colorOnPrimaryFixed">@color/k9_primary_010</item>
<item name="colorOnPrimaryFixedVariant">@color/k9_primary_030</item>
<item name="colorSecondary">@color/k9_secondary_040</item>
<item name="colorOnSecondary">@color/k9_secondary_100</item>
<item name="colorSecondaryContainer">@color/k9_secondary_090</item>
<item name="colorOnSecondaryContainer">@color/k9_secondary_010</item>
<item name="colorSecondaryFixed">@color/k9_secondary_090</item>
<item name="colorSecondaryFixedDim">@color/k9_secondary_080</item>
<item name="colorOnSecondaryFixed">@color/k9_secondary_010</item>
<item name="colorOnSecondaryFixedVariant">@color/k9_secondary_030</item>
<item name="colorTertiary">@color/k9_tertiary_040</item>
<item name="colorOnTertiary">@color/k9_tertiary_100</item>
<item name="colorTertiaryContainer">@color/k9_tertiary_090</item>
<item name="colorOnTertiaryContainer">@color/k9_tertiary_010</item>
<item name="colorTertiaryFixed">@color/k9_tertiary_090</item>
<item name="colorTertiaryFixedDim">@color/k9_tertiary_080</item>
<item name="colorOnTertiaryFixed">@color/k9_tertiary_010</item>
<item name="colorOnTertiaryFixedVariant">@color/k9_tertiary_030</item>
<item name="android:colorBackground">@color/k9_neutral_098</item>
<item name="colorOnBackground">@color/k9_neutral_010</item>
<item name="colorSurface">@color/k9_neutral_098</item>
<item name="colorOnSurface">@color/k9_neutral_010</item>
<item name="colorSurfaceVariant">@color/k9_neutral_variant_090</item>
<item name="colorOnSurfaceVariant">@color/k9_neutral_variant_030</item>
<item name="colorSurfaceInverse">@color/k9_neutral_020</item>
<item name="colorOnSurfaceInverse">@color/k9_neutral_095</item>
<item name="colorSurfaceBright">@color/k9_neutral_098</item>
<item name="colorSurfaceDim">@color/k9_neutral_087</item>
<item name="colorSurfaceContainer">@color/k9_neutral_094</item>
<item name="colorSurfaceContainerLow">@color/k9_neutral_096</item>
<item name="colorSurfaceContainerHigh">@color/k9_neutral_092</item>
<item name="colorSurfaceContainerLowest">@color/k9_neutral_100</item>
<item name="colorSurfaceContainerHighest">@color/k9_neutral_090</item>
<item name="colorOutline">@color/k9_neutral_variant_050</item>
<item name="colorOutlineVariant">@color/k9_neutral_variant_080</item>
<item name="colorError">@color/k9_error_040</item>
<item name="colorOnError">@color/k9_error_100</item>
<item name="colorErrorContainer">@color/k9_error_090</item>
<item name="colorOnErrorContainer">@color/k9_error_010</item>
<!-- Custom attributes -->
<item name="appLogo">@drawable/ic_app_logo</item>
</style>
<style name="Theme2.K9.Dark" parent="Theme2.Main.Dark">
<item name="colorPrimary">@color/k9_primary_080</item>
<item name="colorOnPrimary">@color/k9_primary_020</item>
<item name="colorPrimaryInverse">@color/k9_primary_040</item>
<item name="colorPrimaryContainer">@color/k9_primary_030</item>
<item name="colorOnPrimaryContainer">@color/k9_primary_090</item>
<item name="colorPrimaryFixed">@color/k9_primary_090</item>
<item name="colorPrimaryFixedDim">@color/k9_primary_080</item>
<item name="colorOnPrimaryFixed">@color/k9_primary_010</item>
<item name="colorOnPrimaryFixedVariant">@color/k9_primary_030</item>
<item name="colorSecondary">@color/k9_secondary_080</item>
<item name="colorOnSecondary">@color/k9_secondary_020</item>
<item name="colorSecondaryContainer">@color/k9_secondary_030</item>
<item name="colorOnSecondaryContainer">@color/k9_secondary_090</item>
<item name="colorSecondaryFixed">@color/k9_secondary_090</item>
<item name="colorSecondaryFixedDim">@color/k9_secondary_080</item>
<item name="colorOnSecondaryFixed">@color/k9_secondary_010</item>
<item name="colorOnSecondaryFixedVariant">@color/k9_secondary_030</item>
<item name="colorTertiary">@color/k9_tertiary_080</item>
<item name="colorOnTertiary">@color/k9_tertiary_020</item>
<item name="colorTertiaryContainer">@color/k9_tertiary_030</item>
<item name="colorOnTertiaryContainer">@color/k9_tertiary_090</item>
<item name="colorTertiaryFixed">@color/k9_tertiary_090</item>
<item name="colorTertiaryFixedDim">@color/k9_tertiary_080</item>
<item name="colorOnTertiaryFixed">@color/k9_tertiary_010</item>
<item name="colorOnTertiaryFixedVariant">@color/k9_tertiary_030</item>
<item name="android:colorBackground">@color/k9_neutral_010</item>
<item name="colorOnBackground">@color/k9_neutral_090</item>
<item name="colorSurface">@color/k9_neutral_006</item>
<item name="colorOnSurface">@color/k9_neutral_090</item>
<item name="colorSurfaceVariant">@color/k9_neutral_variant_030</item>
<item name="colorOnSurfaceVariant">@color/k9_neutral_variant_080</item>
<item name="colorSurfaceInverse">@color/k9_neutral_090</item>
<item name="colorOnSurfaceInverse">@color/k9_neutral_020</item>
<item name="colorSurfaceBright">@color/k9_neutral_024</item>
<item name="colorSurfaceDim">@color/k9_neutral_006</item>
<item name="colorSurfaceContainer">@color/k9_neutral_012</item>
<item name="colorSurfaceContainerLow">@color/k9_neutral_010</item>
<item name="colorSurfaceContainerHigh">@color/k9_neutral_017</item>
<item name="colorSurfaceContainerLowest">@color/k9_neutral_004</item>
<item name="colorSurfaceContainerHighest">@color/k9_neutral_022</item>
<item name="colorOutline">@color/k9_neutral_variant_060</item>
<item name="colorOutlineVariant">@color/k9_neutral_variant_030</item>
<item name="colorError">@color/k9_error_080</item>
<item name="colorOnError">@color/k9_error_020</item>
<item name="colorErrorContainer">@color/k9_error_030</item>
<item name="colorOnErrorContainer">@color/k9_error_090</item>
<!-- Custom attributes -->
<item name="appLogo">@drawable/ic_app_logo</item>
</style>
</resources>

View File

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:ignore="UnusedResources">
<color name="k9_primary_000">#000000</color>
<color name="k9_primary_010">#38091B</color>
<color name="k9_primary_020">#521F30</color>
<color name="k9_primary_030">#6D3546</color>
<color name="k9_primary_040">#894C5D</color>
<color name="k9_primary_050">#A66476</color>
<color name="k9_primary_060">#C37D8F</color>
<color name="k9_primary_070">#E196AA</color>
<color name="k9_primary_080">#FFB1C5</color>
<color name="k9_primary_090">#FFD9E1</color>
<color name="k9_primary_095">#FFECEF</color>
<color name="k9_primary_099">#FFFBFF</color>
<color name="k9_primary_100">#FFFFFF</color>
<color name="k9_secondary_000">#000000</color>
<color name="k9_secondary_010">#27171B</color>
<color name="k9_secondary_020">#3D2C30</color>
<color name="k9_secondary_030">#554246</color>
<color name="k9_secondary_040">#6E595E</color>
<color name="k9_secondary_050">#887176</color>
<color name="k9_secondary_060">#A38B90</color>
<color name="k9_secondary_070">#BEA5AA</color>
<color name="k9_secondary_080">#DBC0C5</color>
<color name="k9_secondary_090">#F8DCE1</color>
<color name="k9_secondary_095">#FFECEF</color>
<color name="k9_secondary_099">#FFFBFF</color>
<color name="k9_secondary_100">#FFFFFF</color>
<color name="k9_tertiary_000">#000000</color>
<color name="k9_tertiary_010">#230E48</color>
<color name="k9_tertiary_020">#38255E</color>
<color name="k9_tertiary_030">#4F3C76</color>
<color name="k9_tertiary_040">#685490</color>
<color name="k9_tertiary_050">#816DAB</color>
<color name="k9_tertiary_060">#9B86C6</color>
<color name="k9_tertiary_070">#B6A0E2</color>
<color name="k9_tertiary_080">#D2BBFF</color>
<color name="k9_tertiary_090">#EADDFF</color>
<color name="k9_tertiary_095">#F6EDFF</color>
<color name="k9_tertiary_099">#FFFBFA</color>
<color name="k9_tertiary_100">#FFFFFF</color>
<color name="k9_error_000">#000000</color>
<color name="k9_error_010">#410E0B</color>
<color name="k9_error_020">#601410</color>
<color name="k9_error_030">#8C1D18</color>
<color name="k9_error_040">#B3261E</color>
<color name="k9_error_050">#DC362E</color>
<color name="k9_error_060">#E46962</color>
<color name="k9_error_070">#EC928E</color>
<color name="k9_error_080">#F2B8B5</color>
<color name="k9_error_090">#F9DEDC</color>
<color name="k9_error_095">#FCEEEE</color>
<color name="k9_error_099">#FFFBF9</color>
<color name="k9_error_100">#FFFFFF</color>
<color name="k9_neutral_000">#000000</color>
<color name="k9_neutral_004">#140C0E</color>
<color name="k9_neutral_006">#191113</color>
<color name="k9_neutral_010">#22191B</color>
<color name="k9_neutral_012">#261D1F</color>
<color name="k9_neutral_017">#31282A</color>
<color name="k9_neutral_020">#342F30</color>
<color name="k9_neutral_022">#3C3234</color>
<color name="k9_neutral_024">#413739</color>
<color name="k9_neutral_030">#4B4546</color>
<color name="k9_neutral_040">#635D5E</color>
<color name="k9_neutral_050">#7C7576</color>
<color name="k9_neutral_060">#968F90</color>
<color name="k9_neutral_070">#B1A9AA</color>
<color name="k9_neutral_080">#CDC4C5</color>
<color name="k9_neutral_087">#E6D6D8</color>
<color name="k9_neutral_090">#EFDFE1</color>
<color name="k9_neutral_092">#F5E4E6</color>
<color name="k9_neutral_094">#FBEAEC</color>
<color name="k9_neutral_095">#F8EEEF</color>
<color name="k9_neutral_096">#FFF0F2</color>
<color name="k9_neutral_098">#FFF8F8</color>
<color name="k9_neutral_100">#FFFFFF</color>
<color name="k9_neutral_variant_000">#000000</color>
<color name="k9_neutral_variant_010">#211A1B</color>
<color name="k9_neutral_variant_020">#372E30</color>
<color name="k9_neutral_variant_030">#4E4446</color>
<color name="k9_neutral_variant_040">#675C5E</color>
<color name="k9_neutral_variant_050">#807476</color>
<color name="k9_neutral_variant_060">#9A8E90</color>
<color name="k9_neutral_variant_070">#B6A8AA</color>
<color name="k9_neutral_variant_080">#D2C3C5</color>
<color name="k9_neutral_variant_090">#EEDFE1</color>
<color name="k9_neutral_variant_095">#FDEDEF</color>
<color name="k9_neutral_variant_099">#FFFBFF</color>
<color name="k9_neutral_variant_100">#FFFFFF</color>
</resources>

View File

@ -0,0 +1,11 @@
plugins {
id(ThunderbirdPlugins.Library.android)
}
android {
namespace = "app.k9mail.core.ui.legacy.theme2.thunderbird"
}
dependencies {
implementation(projects.core.ui.legacy.theme2.common)
}

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/launcher_icon_background"/>
<foreground>
<inset android:drawable="@drawable/ic_app_logo" android:inset="23%"/>
</foreground>
<monochrome android:drawable="@drawable/ic_app_logo_monochrome" />
</adaptive-icon>

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="72dp"
android:height="72dp"
android:viewportWidth="1024"
android:viewportHeight="1024">
<path
android:pathData="M441.1,259.7C461.3,189.1 532.9,145.8 618,129L702.4,121C772.6,121 836.6,140.1 885.2,171.5C893.3,176.7 900.9,182.2 908,188C878,189.4 848.3,195.3 820,205.5C860.7,220.7 895.6,243.9 921.5,272.7C902,269.3 882.2,267.8 862.4,268.2C911.1,338.8 937.1,422.6 937,508.4C937,742.3 747.4,931.9 513.5,931.9C283.2,931.9 90,739.1 90,508.4C90,472 94.8,434.3 104.2,399.1C106.7,391.6 110.1,384.5 114.7,381.9C120.4,378.7 125.6,388.4 126.5,391.6C132.6,414.7 141,437.3 151.3,459C150.4,410.6 171.1,366.6 199.5,328.5L199.5,328.5C218.5,303.1 236,279.5 244.1,211.6C244.7,207.1 249,203.8 253.4,205.2C315,225.4 348,328.1 342.9,413.9C342.9,413.9 342.9,413.9 342.9,413.9C342.9,413.9 343,413.8 343,413.8L360,429.6C402.4,469.4 436.6,501.5 485,542.7C506.8,561.3 513.5,560.9 534.9,542.7C590.2,495.5 630.6,459.8 683.2,412.9C687.5,417.9 691.6,423.1 695.3,428.6C695.4,428.6 695.4,428.6 695.4,428.5C659.7,376.6 591.6,341.5 513.5,341.5C466.1,341.5 416,356.4 376.7,383.9C376.8,383.5 376.8,383.3 376.8,383.3C374.3,375.8 372.8,366.9 372.7,357.2C372.6,356.4 372.6,355.6 372.6,354.8C372.9,321.7 389.5,280.8 440.9,259.7H441.1ZM698,432.5L698,432.5C698.3,433.1 698.7,433.7 699.1,434.2L678.3,454.1L539.7,605.5C525.1,615.5 501.9,616.7 486.5,607.5L370.5,477L327.6,434.9C313.5,457.6 305.2,484.1 305.2,513.9C305.3,681.7 482.5,778.2 633.6,763.6C632.9,763.5 632,763.5 630.9,763.3C613.8,761.7 548.6,755.3 503.6,704.4C499.3,699.5 491.8,691 495.2,685.5C498.1,680.8 505.1,681.1 510.6,681.3H510.6C511.6,681.3 512.6,681.4 513.5,681.4L513.5,681.4C628.5,681.4 721.8,605.3 721.8,511.4C721.8,482.9 713.2,456.1 698,432.5ZM563,227.4C563,227.4 565,249.5 542.7,256.5C517.2,264.5 505.9,243.1 505.9,243.1C505.9,243.1 509.1,228.4 529.8,221.5C551.9,214.3 563,227.4 563,227.4Z"
android:fillColor="#000000"
android:fillType="evenOdd"/>
</vector>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="launcher_icon_background">#F0F0F0</color>
</resources>

View File

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Theme2.Thunderbird.Light" parent="Theme2.Main.Light">
<item name="colorPrimary">@color/thunderbird_primary_040</item>
<item name="colorOnPrimary">@color/thunderbird_primary_100</item>
<item name="colorPrimaryInverse">@color/thunderbird_primary_080</item>
<item name="colorPrimaryContainer">@color/thunderbird_primary_090</item>
<item name="colorOnPrimaryContainer">@color/thunderbird_primary_010</item>
<item name="colorPrimaryFixed">@color/thunderbird_primary_090</item>
<item name="colorPrimaryFixedDim">@color/thunderbird_primary_080</item>
<item name="colorOnPrimaryFixed">@color/thunderbird_primary_010</item>
<item name="colorOnPrimaryFixedVariant">@color/thunderbird_primary_030</item>
<item name="colorSecondary">@color/thunderbird_secondary_040</item>
<item name="colorOnSecondary">@color/thunderbird_secondary_100</item>
<item name="colorSecondaryContainer">@color/thunderbird_secondary_090</item>
<item name="colorOnSecondaryContainer">@color/thunderbird_secondary_010</item>
<item name="colorSecondaryFixed">@color/thunderbird_secondary_090</item>
<item name="colorSecondaryFixedDim">@color/thunderbird_secondary_080</item>
<item name="colorOnSecondaryFixed">@color/thunderbird_secondary_010</item>
<item name="colorOnSecondaryFixedVariant">@color/thunderbird_secondary_030</item>
<item name="colorTertiary">@color/thunderbird_tertiary_040</item>
<item name="colorOnTertiary">@color/thunderbird_tertiary_100</item>
<item name="colorTertiaryContainer">@color/thunderbird_tertiary_090</item>
<item name="colorOnTertiaryContainer">@color/thunderbird_tertiary_010</item>
<item name="colorTertiaryFixed">@color/thunderbird_tertiary_090</item>
<item name="colorTertiaryFixedDim">@color/thunderbird_tertiary_080</item>
<item name="colorOnTertiaryFixed">@color/thunderbird_tertiary_010</item>
<item name="colorOnTertiaryFixedVariant">@color/thunderbird_tertiary_030</item>
<item name="android:colorBackground">@color/thunderbird_neutral_099</item>
<item name="colorOnBackground">@color/thunderbird_neutral_010</item>
<item name="colorSurface">@color/thunderbird_neutral_098</item>
<item name="colorOnSurface">@color/thunderbird_neutral_010</item>
<item name="colorSurfaceVariant">@color/thunderbird_neutral_variant_090</item>
<item name="colorOnSurfaceVariant">@color/thunderbird_neutral_variant_030</item>
<item name="colorSurfaceInverse">@color/thunderbird_neutral_020</item>
<item name="colorOnSurfaceInverse">@color/thunderbird_neutral_095</item>
<item name="colorSurfaceBright">@color/thunderbird_neutral_098</item>
<item name="colorSurfaceDim">@color/thunderbird_neutral_087</item>
<item name="colorSurfaceContainer">@color/thunderbird_neutral_094</item>
<item name="colorSurfaceContainerLow">@color/thunderbird_neutral_096</item>
<item name="colorSurfaceContainerHigh">@color/thunderbird_neutral_092</item>
<item name="colorSurfaceContainerLowest">@color/thunderbird_neutral_100</item>
<item name="colorSurfaceContainerHighest">@color/thunderbird_neutral_090</item>
<item name="colorOutline">@color/thunderbird_neutral_variant_050</item>
<item name="colorOutlineVariant">@color/thunderbird_neutral_variant_080</item>
<item name="colorError">@color/thunderbird_error_040</item>
<item name="colorOnError">@color/thunderbird_error_100</item>
<item name="colorErrorContainer">@color/thunderbird_error_090</item>
<item name="colorOnErrorContainer">@color/thunderbird_error_010</item>
<!-- Custom attributes -->
<item name="appLogo">@drawable/ic_app_logo</item>
</style>
<style name="Theme2.Thunderbird.Dark" parent="Theme2.Main.Dark">
<item name="colorPrimary">@color/thunderbird_primary_080</item>
<item name="colorOnPrimary">@color/thunderbird_primary_020</item>
<item name="colorPrimaryInverse">@color/thunderbird_primary_040</item>
<item name="colorPrimaryContainer">@color/thunderbird_primary_030</item>
<item name="colorOnPrimaryContainer">@color/thunderbird_primary_090</item>
<item name="colorPrimaryFixed">@color/thunderbird_primary_090</item>
<item name="colorPrimaryFixedDim">@color/thunderbird_primary_080</item>
<item name="colorOnPrimaryFixed">@color/thunderbird_primary_010</item>
<item name="colorOnPrimaryFixedVariant">@color/thunderbird_primary_030</item>
<item name="colorSecondary">@color/thunderbird_secondary_080</item>
<item name="colorOnSecondary">@color/thunderbird_secondary_020</item>
<item name="colorSecondaryContainer">@color/thunderbird_secondary_030</item>
<item name="colorOnSecondaryContainer">@color/thunderbird_secondary_090</item>
<item name="colorSecondaryFixed">@color/thunderbird_secondary_090</item>
<item name="colorSecondaryFixedDim">@color/thunderbird_secondary_080</item>
<item name="colorOnSecondaryFixed">@color/thunderbird_secondary_010</item>
<item name="colorOnSecondaryFixedVariant">@color/thunderbird_secondary_030</item>
<item name="colorTertiary">@color/thunderbird_tertiary_080</item>
<item name="colorOnTertiary">@color/thunderbird_tertiary_020</item>
<item name="colorTertiaryContainer">@color/thunderbird_tertiary_030</item>
<item name="colorOnTertiaryContainer">@color/thunderbird_tertiary_090</item>
<item name="colorTertiaryFixed">@color/thunderbird_tertiary_090</item>
<item name="colorTertiaryFixedDim">@color/thunderbird_tertiary_080</item>
<item name="colorOnTertiaryFixed">@color/thunderbird_tertiary_010</item>
<item name="colorOnTertiaryFixedVariant">@color/thunderbird_tertiary_030</item>
<item name="android:colorBackground">@color/thunderbird_neutral_010</item>
<item name="colorOnBackground">@color/thunderbird_neutral_090</item>
<item name="colorSurface">@color/thunderbird_neutral_006</item>
<item name="colorOnSurface">@color/thunderbird_neutral_090</item>
<item name="colorSurfaceVariant">@color/thunderbird_neutral_variant_030</item>
<item name="colorOnSurfaceVariant">@color/thunderbird_neutral_variant_080</item>
<item name="colorSurfaceInverse">@color/thunderbird_neutral_090</item>
<item name="colorOnSurfaceInverse">@color/thunderbird_neutral_020</item>
<item name="colorSurfaceBright">@color/thunderbird_neutral_024</item>
<item name="colorSurfaceDim">@color/thunderbird_neutral_006</item>
<item name="colorSurfaceContainer">@color/thunderbird_neutral_012</item>
<item name="colorSurfaceContainerLow">@color/thunderbird_neutral_010</item>
<item name="colorSurfaceContainerHigh">@color/thunderbird_neutral_017</item>
<item name="colorSurfaceContainerLowest">@color/thunderbird_neutral_004</item>
<item name="colorSurfaceContainerHighest">@color/thunderbird_neutral_022</item>
<item name="colorOutline">@color/thunderbird_neutral_variant_060</item>
<item name="colorOutlineVariant">@color/thunderbird_neutral_variant_030</item>
<item name="colorError">@color/thunderbird_error_080</item>
<item name="colorOnError">@color/thunderbird_error_020</item>
<item name="colorErrorContainer">@color/thunderbird_error_030</item>
<item name="colorOnErrorContainer">@color/thunderbird_error_090</item>
<!-- Custom attributes -->
<item name="appLogo">@drawable/ic_app_logo</item>
</style>
</resources>

View File

@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:ignore="UnusedResources">
<color name="thunderbird_primary_000">#000000</color>
<color name="thunderbird_primary_010">#3F001B</color>
<color name="thunderbird_primary_020">#5E112F</color>
<color name="thunderbird_primary_030">#7B2946</color>
<color name="thunderbird_primary_040">#99405D</color>
<color name="thunderbird_primary_050">#B75876</color>
<color name="thunderbird_primary_060">#D6718F</color>
<color name="thunderbird_primary_070">#F68BAA</color>
<color name="thunderbird_primary_080">#FFB1C5</color>
<color name="thunderbird_primary_090">#FFD9E1</color>
<color name="thunderbird_primary_095">#FFECEF</color>
<color name="thunderbird_primary_099">#FFFBFF</color>
<color name="thunderbird_primary_100">#FFFFFF</color>
<color name="thunderbird_secondary_000">#000000</color>
<color name="thunderbird_secondary_010">#2B151B</color>
<color name="thunderbird_secondary_020">#422930</color>
<color name="thunderbird_secondary_030">#5B3F46</color>
<color name="thunderbird_secondary_040">#74565E</color>
<color name="thunderbird_secondary_050">#8F6F76</color>
<color name="thunderbird_secondary_060">#AA8890</color>
<color name="thunderbird_secondary_070">#C6A2AA</color>
<color name="thunderbird_secondary_080">#E3BDC5</color>
<color name="thunderbird_secondary_090">#FFD9E1</color>
<color name="thunderbird_secondary_095">#FFECEF</color>
<color name="thunderbird_secondary_099">#FFFBFF</color>
<color name="thunderbird_secondary_100">#FFFFFF</color>
<color name="thunderbird_tertiary_000">#000000</color>
<color name="thunderbird_tertiary_010">#260059</color>
<color name="thunderbird_tertiary_020">#3C1D70</color>
<color name="thunderbird_tertiary_030">#533688</color>
<color name="thunderbird_tertiary_040">#6B4EA2</color>
<color name="thunderbird_tertiary_050">#8567BD</color>
<color name="thunderbird_tertiary_060">#9F81D9</color>
<color name="thunderbird_tertiary_070">#BA9CF6</color>
<color name="thunderbird_tertiary_080">#D3BBFF</color>
<color name="thunderbird_tertiary_090">#EBDDFF</color>
<color name="thunderbird_tertiary_095">#F7EDFF</color>
<color name="thunderbird_tertiary_099">#FFFBFF</color>
<color name="thunderbird_tertiary_100">#FFFFFF</color>
<color name="thunderbird_error_000">#000000</color>
<color name="thunderbird_error_010">#410002</color>
<color name="thunderbird_error_020">#690005</color>
<color name="thunderbird_error_030">#93000A</color>
<color name="thunderbird_error_040">#BA1A1A</color>
<color name="thunderbird_error_050">#DE3730</color>
<color name="thunderbird_error_060">#FF5449</color>
<color name="thunderbird_error_070">#FF897D</color>
<color name="thunderbird_error_080">#FFB4AB</color>
<color name="thunderbird_error_090">#FFDAD6</color>
<color name="thunderbird_error_095">#FFEDEA</color>
<color name="thunderbird_error_099">#FFFBFF</color>
<color name="thunderbird_error_100">#FFFFFF</color>
<color name="thunderbird_neutral_000">#000000</color>
<color name="thunderbird_neutral_004">#120D0E</color>
<color name="thunderbird_neutral_006">#171213</color>
<color name="thunderbird_neutral_010">#201A1B</color>
<color name="thunderbird_neutral_012">#241E1F</color>
<color name="thunderbird_neutral_017">#2F282A</color>
<color name="thunderbird_neutral_020">#352F30</color>
<color name="thunderbird_neutral_022">#3A3334</color>
<color name="thunderbird_neutral_024">#3E3739</color>
<color name="thunderbird_neutral_030">#4C4546</color>
<color name="thunderbird_neutral_040">#655C5E</color>
<color name="thunderbird_neutral_050">#7E7576</color>
<color name="thunderbird_neutral_060">#988E90</color>
<color name="thunderbird_neutral_070">#B3A9AA</color>
<color name="thunderbird_neutral_080">#CFC4C5</color>
<color name="thunderbird_neutral_087">#E3D7D8</color>
<color name="thunderbird_neutral_090">#ECE0E1</color>
<color name="thunderbird_neutral_092">#F1E5E6</color>
<color name="thunderbird_neutral_094">#F7EBEC</color>
<color name="thunderbird_neutral_095">#FAEEEF</color>
<color name="thunderbird_neutral_096">#FDF1F2</color>
<color name="thunderbird_neutral_098">#FFF8F8</color>
<color name="thunderbird_neutral_099">#FFFBFF</color>
<color name="thunderbird_neutral_100">#FFFFFF</color>
<color name="thunderbird_neutral_variant_000">#000000</color>
<color name="thunderbird_neutral_variant_010">#24191B</color>
<color name="thunderbird_neutral_variant_020">#3A2D30</color>
<color name="thunderbird_neutral_variant_030">#514346</color>
<color name="thunderbird_neutral_variant_040">#6A5A5E</color>
<color name="thunderbird_neutral_variant_050">#847376</color>
<color name="thunderbird_neutral_variant_060">#9E8C90</color>
<color name="thunderbird_neutral_variant_070">#BAA7AA</color>
<color name="thunderbird_neutral_variant_080">#D6C2C5</color>
<color name="thunderbird_neutral_variant_090">#F3DDE1</color>
<color name="thunderbird_neutral_variant_095">#FFECEF</color>
<color name="thunderbird_neutral_variant_099">#FFFBFF</color>
<color name="thunderbird_neutral_variant_100">#FFFFFF</color>
</resources>

View File

@ -82,6 +82,9 @@ include(
":core:ui:compose:theme2:thunderbird",
":core:ui:compose:testing",
":core:ui:legacy:designsystem",
":core:ui:legacy:theme2:common",
":core:ui:legacy:theme2:k9mail",
":core:ui:legacy:theme2:thunderbird",
)
include(