Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite #88

Merged
merged 96 commits into from
Jan 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
25ce99e
chore: start with rewrite
robert-virkus Oct 8, 2023
001ae71
chore: remove i18n service local access
robert-virkus Oct 8, 2023
dd339d6
feat: access the account via the message source
robert-virkus Oct 8, 2023
1de7412
refactor: remove MailClient from Message
robert-virkus Oct 9, 2023
5bafb52
feat: add mailbox-based in-account navigation
robert-virkus Oct 13, 2023
8e7155e
feat: add navigation to settings, allow navigation to emails of accou…
robert-virkus Oct 13, 2023
d4defe7
fix: handle incoming message on universal message source correctly
robert-virkus Oct 13, 2023
64e0218
feat: improve architecture further
robert-virkus Oct 15, 2023
1654297
feat: use localized mailbox/folder names
robert-virkus Oct 16, 2023
613e381
chore: move notification service
robert-virkus Oct 16, 2023
8969008
feat: re-enable message flag updates
robert-virkus Oct 16, 2023
a69cf2d
chore: simplify theme handling
robert-virkus Oct 16, 2023
cf7570b
feat: integrate mail client resume when app is resumed
robert-virkus Oct 16, 2023
72a810d
chore: improve code style
robert-virkus Oct 16, 2023
6864bd7
chore: re-generate code
robert-virkus Oct 16, 2023
5b45bc3
scout: experimenting with sender-specific widget
robert-virkus Oct 16, 2023
05151be
feat: keep senders stable and use correct context to undo leaving the…
robert-virkus Oct 17, 2023
04e2549
chore: rewrite background service, continue with architecture clean up
robert-virkus Oct 20, 2023
c48cb78
chore:upgrade notifications, remove i18n service
robert-virkus Oct 20, 2023
301ce33
chore: use correct account email when sending notification, add error…
robert-virkus Oct 21, 2023
950d168
chore: update splash screen
robert-virkus Oct 21, 2023
da7862a
chore: display and handle notifications
robert-virkus Oct 22, 2023
3804fc0
chore: fix location picker
robert-virkus Oct 22, 2023
4a5f915
chore: use context that can depend on inherited app localizations
robert-virkus Oct 22, 2023
c8a3fac
chore: show appointment attachment builder
robert-virkus Oct 22, 2023
47e4c0a
chore: reenable giphy / key service
robert-virkus Oct 22, 2023
3b9d522
chore: refactor MailHosterService
robert-virkus Oct 23, 2023
4f58a39
chore: refactor KeyService
robert-virkus Oct 23, 2023
5ef676a
chore: refactor IconService and NotificationService access
robert-virkus Oct 23, 2023
ee6c0c6
chore: move scaffold messenger service out of locator
robert-virkus Oct 23, 2023
b064598
chore: remove get_it dependency
robert-virkus Oct 23, 2023
2acb37f
feat: re-implement lock screen
robert-virkus Oct 23, 2023
8813655
feat: add iOS support, improve current account and current mailbox pr…
robert-virkus Oct 25, 2023
517eee7
improve code style
robert-virkus Oct 26, 2023
9d5741f
chore: support to delete accounts again, improve onboarding
robert-virkus Oct 28, 2023
ef68083
adapt for iOS
robert-virkus Oct 28, 2023
cf704fa
wip: improve routing and work on message duplicates
robert-virkus Oct 30, 2023
36ee47a
chore: increase logging
robert-virkus Oct 31, 2023
c445355
chore: simplify routing, improve code style
robert-virkus Nov 4, 2023
568aed0
fix: use named route when composing new message on Android
robert-virkus Nov 5, 2023
df4bbde
fix: do not subscribe for notifications again, if not needed
robert-virkus Nov 11, 2023
0c06faf
chore: release v91
robert-virkus Nov 12, 2023
3326168
fix: search routing on iOS
robert-virkus Nov 12, 2023
584de72
fix: selection of sender when replying a message from a unified accou…
robert-virkus Nov 12, 2023
8a728cc
chore: update dependencies
robert-virkus Nov 15, 2023
10776cf
fix: navigating to search on Android
robert-virkus Nov 19, 2023
7ad546c
feat: use fvm for version management
robert-virkus Nov 19, 2023
03ed21f
chore: upgrade dependencies
robert-virkus Nov 19, 2023
5d8269c
fix: do not copy recipient when it already is in the list
robert-virkus Nov 20, 2023
e676a81
fix: disable potentially nested hero animations
robert-virkus Nov 20, 2023
5e76f2d
chore: upgrade to Flutter 3.16
robert-virkus Nov 20, 2023
54e7be2
chore: release v93
robert-virkus Nov 20, 2023
92d6ed4
feat: do not load extensions from Gmail or Outlook users
robert-virkus Nov 23, 2023
778ff39
np: release v94
robert-virkus Nov 23, 2023
b180452
chore: upgrade dependencies
robert-virkus Nov 24, 2023
c8d555d
Merge branch 'rewrite' of https://github.com/Enough-Software/enough_m…
robert-virkus Nov 24, 2023
6b5d2c3
feat: add timeout for loading app extensions
robert-virkus Nov 24, 2023
82fcb58
feat: improve German translations
robert-virkus Nov 25, 2023
d455676
feat: add Spanish translations, improve German translations
robert-virkus Nov 26, 2023
b5f0793
chore: improve code style
robert-virkus Nov 27, 2023
f32be2f
fix: make Spanish translations actually selectable
robert-virkus Nov 27, 2023
29be67c
feat: support iOS dark mode
robert-virkus Nov 27, 2023
c89092b
chore: update dependencies, release v95
robert-virkus Nov 27, 2023
5335bee
chore: upgrade dependencies
robert-virkus Nov 27, 2023
9220db3
feat: allow to reselect current mailbox folder
robert-virkus Nov 28, 2023
8929fea
chore: improve code style
robert-virkus Nov 29, 2023
eb89f32
feat: fix handling of mailto links at first app start
robert-virkus Dec 5, 2023
6c3a200
feat: improve scrolling performance
robert-virkus Dec 6, 2023
22cc3df
chore: adapt for enough_mail API changes
robert-virkus Dec 8, 2023
1a95f4b
fix: handle errors in multiple message selection cases
robert-virkus Dec 8, 2023
1157499
chore: update dependencies
robert-virkus Dec 8, 2023
8799a1b
feat: trim search query automatically
robert-virkus Dec 11, 2023
91085fb
chore: improve code style
robert-virkus Dec 11, 2023
456250e
fix: compile error
robert-virkus Dec 13, 2023
dd92ce2
chore: improve code style
robert-virkus Dec 16, 2023
b71a198
chore: improve code style
robert-virkus Dec 17, 2023
7f32f99
feat: add VS Code workspace for easier setup
robert-virkus Dec 26, 2023
0c1d38a
chore: improve code style
robert-virkus Dec 26, 2023
9005a2b
feat: setup CI builds
robert-virkus Dec 26, 2023
26afee1
feat: switch from file to environment for API keys to enable cloud bu…
robert-virkus Dec 27, 2023
18a72b6
chore: work on Android CI
robert-virkus Dec 27, 2023
5b5c00a
chore: remove public_member_api_docs analysis option for now
robert-virkus Dec 27, 2023
5ab9d50
chore: try to fix CI script
robert-virkus Dec 27, 2023
0b437c1
chore: work on CI
robert-virkus Dec 27, 2023
18339d3
chore: work on CI
robert-virkus Dec 27, 2023
9ed84c0
chore: work on CI
robert-virkus Dec 27, 2023
9ea0950
chore: work on CI
robert-virkus Dec 27, 2023
5f1a1cd
chore: CI: upgrade Java to v21
robert-virkus Dec 27, 2023
7ba8f1e
chore: upgrade gradle
robert-virkus Dec 27, 2023
4bd4f1f
chore: hopefully found matching Java version from https://docs.gradle…
robert-virkus Dec 28, 2023
8d0db8a
chore: work on CI
robert-virkus Dec 28, 2023
fee4362
chore: work on CI
robert-virkus Dec 28, 2023
c3e3c87
chore: learning GitHub actions
robert-virkus Dec 28, 2023
877cfea
chore: work on CI
robert-virkus Dec 28, 2023
5f68782
chore: improve code style
robert-virkus Jan 5, 2024
4fed245
chore: improve code style
robert-virkus Jan 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .fvm/fvm_config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"flutterSdkVersion": "3.16.4",
"flavors": {}
}
51 changes: 51 additions & 0 deletions .github/workflows/flutter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@

name: CI Workflow
on:
push:
branches: [main, rewrite]
pull_request:
branches: [main]
jobs:
android:
name: Build Android
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Decode Keystore and Create key.properties
env:
PROPERTIES_PATH: ${{ github.workspace }}/android/key.properties
STORE_PATH: ${{ github.workspace }}/android/keystore.jks
run: |
echo keyPassword=\${{secrets.PLAY_UPLOAD_KEY_PASSWORD}} > ${{env.PROPERTIES_PATH}}
echo storePassword=\${{secrets.PLAY_UPLOAD_STORE_PASSWORD}} >> ${{env.PROPERTIES_PATH}}
echo keyAlias=\${{secrets.PLAY_KEY_ALIAS}} >> ${{env.PROPERTIES_PATH}}
echo storeFile=\${{env.STORE_PATH}} >> ${{env.PROPERTIES_PATH}}
echo "${{ secrets.PLAY_UPLOAD_KEYSTORE }}" | base64 --decode > ${{env.STORE_PATH}}
- uses: actions/setup-java@v2
with:
distribution: 'zulu'
java-version: '17'
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
- run: flutter --version
- run: flutter pub get
#- run: flutter test
- run: flutter build apk --release --dart-define GIPHY_API_KEY=${{ secrets.GIPHY_API_KEY }} --dart-define OAUTH_GMAIL=${{ secrets.OAUTH_GMAIL }} --dart-define OAUTH_OUTLOOK=${{ secrets.OAUTH_OUTLOOK }}

apple:
name: Build iOS
runs-on: macos-13 # required for xcode 15, macos-latest does not yet support it, compare https://github.com/maxim-lobanov/setup-xcode/issues/73
steps:
- uses: actions/checkout@v3
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '15.1'
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
#architecture: x64
- run: flutter --version
- run: flutter pub get
#- run: flutter test
- run: flutter build ios --release --no-codesign
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ assets/keys.txt
.pub-cache/
.pub/
/build/
pubspec.lock
.fvm/flutter_sdk

# Web related
lib/generated_plugin_registrant.dart
Expand Down
10 changes: 9 additions & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,15 @@
{
"name": "Maily",
"request": "launch",
"type": "dart"
"type": "dart",
"args": [
"--dart-define",
"GIPHY_API_KEY=${env:GIPHY_API_KEY}",
"--dart-define",
"OAUTH_GMAIL=${env:OAUTH_GMAIL}",
"--dart-define",
"OAUTH_OUTLOOK=${env:OAUTH_OUTLOOK}",
],
},
{
"name": "Maily (profile mode)",
Expand Down
42 changes: 33 additions & 9 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,37 @@
{
"dart.flutterSdkPath": ".fvm/flutter_sdk",
// Remove .fvm files from search
"search.exclude": {
"**/.fvm": true
},
// Remove from file watching
"files.watcherExclude": {
"**/.fvm": true
},
"cSpell.words": [
"autofocus",
"Cupertino",
"Ical",
"icalendar",
"Imap",
"LTRB",
"Maily",
"riverpod",
"unawaited"
"autocorrect",
"autofocus",
"Cupertino",
"datetime",
"finalizer",
"finalizers",
"fluttercontactpicker",
"giphy",
"hoster",
"hosters",
"Ical",
"icalendar",
"Imap",
"lerp",
"LTRB",
"Maily",
"mocktail",
"QRESYNC",
"redepth",
"riverpod",
"Toptype",
"uids",
"unawaited",
"unfocus"
]
}
2 changes: 1 addition & 1 deletion analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ linter:
- prefer_typing_uninitialized_variables
- prefer_void_to_null
- provide_deprecation_message
- public_member_api_docs
#- public_member_api_docs
- recursive_getters
- sized_box_for_whitespace
- slash_for_doc_comments
Expand Down
101 changes: 49 additions & 52 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,75 +26,69 @@ apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

def keystorePropertiesFile = rootProject.file('key.properties')
def keystoreProperties = new Properties()

if (keystorePropertiesFile.exists()) {
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

android {
compileSdkVersion rootProject.ext.compileSdkVersion

sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
keystorePropertiesFile.withReader('UTF-8') { reader ->
keystoreProperties.load(reader)
}
}

lintOptions {
disable 'InvalidPackage'
}
android {
defaultConfig {
multiDexEnabled true
}

defaultConfig {
applicationId "de.enough.enough_mail_app"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
compileOptions {
// Flag to enable support for the new language APIs
coreLibraryDesugaringEnabled true
// Sets Java compatibility to Java 8
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
compileSdkVersion rootProject.ext.compileSdkVersion

buildTypes {
release {
signingConfig signingConfigs.release
}
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
} else {
System.out.println("warning: android/key.properties not found, now using debug key.")

android {
compileSdkVersion rootProject.ext.compileSdkVersion

sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}

lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
applicationId "de.enough.enough_mail_app"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}

defaultConfig {
applicationId "de.enough.enough_mail_app"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}

buildTypes {
release {
signingConfig signingConfigs.debug
buildTypes {
release {
if (keystorePropertiesFile.exists()) {
signingConfig signingConfigs.release
} else {
System.err.println("WARNING: android/key.properties not found, now using debug key.")
signingConfig signingConfigs.debug
}
}
}
namespace 'de.enough.enough_mail_app'
lint {
disable 'InvalidPackage'
}
}



flutter {
source '../..'
}
Expand All @@ -103,4 +97,7 @@ dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
androidTestImplementation 'androidx.test:runner:1.3.0' // or higher
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' // or higher
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.2.2'
implementation 'androidx.window:window:1.0.0'
implementation 'androidx.window:window-java:1.0.0'
}
3 changes: 1 addition & 2 deletions android/app/src/debug/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.enough.enough_mail_app">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
Expand Down
3 changes: 1 addition & 2 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.enough.enough_mail_app"
xmlns:tools="http://schemas.android.com/tools"
xmlns:tools="http://schemas.android.com/tools"
>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added android/app/src/main/res/drawable-hdpi/splash.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added android/app/src/main/res/drawable-mdpi/splash.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions android/app/src/main/res/drawable-v21/launch_background.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:gravity="fill" android:src="@drawable/background"/>
</item>
<item>
<bitmap android:gravity="center" android:src="@drawable/splash"/>
</item>
</layer-list>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added android/app/src/main/res/drawable/background.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 6 additions & 9 deletions android/app/src/main/res/drawable/launch_background.xml
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/holo_green_light" />

<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
<item>
<bitmap android:gravity="fill" android:src="@drawable/background"/>
</item>
<item>
<bitmap android:gravity="center" android:src="@drawable/splash"/>
</item>
</layer-list>
21 changes: 21 additions & 0 deletions android/app/src/main/res/values-night-v31/styles.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
<item name="android:windowSplashScreenBackground">#99cc00</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.

This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
22 changes: 22 additions & 0 deletions android/app/src/main/res/values-night/styles.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.

This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
21 changes: 21 additions & 0 deletions android/app/src/main/res/values-v31/styles.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
<item name="android:windowSplashScreenBackground">#99cc00</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.

This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
4 changes: 4 additions & 0 deletions android/app/src/main/res/values/styles.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@
<!-- Show a splash screen on the activity. Automatically removed when
Flutter draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Expand Down
3 changes: 1 addition & 2 deletions android/app/src/profile/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.enough.enough_mail_app">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
Expand Down
Loading
Loading