diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 6116821..f42ccf5 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -1,68 +1,150 @@
+name: Release
on:
push:
tags:
- - 'v*'
+ - "v*"
jobs:
- create_release:
- outputs:
- upload_url: '${{ steps.create_release.outputs.upload_url }}'
- runs-on: 'ubuntu-latest'
+ build_android_app_bundle:
+ name: Build Android App Bundle
+ needs:
+ - create_release
+ runs-on: ubuntu-latest
steps:
- - uses: actions/create-release@v1
+ - name: Checkout repository
+ uses: actions/checkout@v4
+ - name: Decrypt archive
env:
- GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
- id: 'create_release'
+ PASSPHRASE: ${{ secrets.PASSPHRASE }}
+ run: |
+ gpg --quiet --batch --yes --decrypt --passphrase "$PASSPHRASE" --output "./archive.tar" "./archive.tar.gpg"
+ tar -xf "./archive.tar"
+ rm "./archive.tar"
+ - name: Setup Flutter
+ uses: tnc1997/github-actions/actions/setup-flutter@setup-flutter_v1
with:
- release_name: '${{ github.ref }}'
- tag_name: '${{ github.ref }}'
- build_web:
+ channel: beta
+ - name: Build Android App Bundle
+ run: flutter build appbundle
+ - name: Upload release asset
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ uses: actions/upload-release-asset@v1
+ with:
+ asset_content_type: application/octet-stream
+ asset_name: google-photos-album-searcher-android.aab
+ asset_path: ./build/app/outputs/bundle/release/app-release.aab
+ upload_url: ${{ needs.create_release.outputs.upload_url }}
+ build_android_application_package:
+ name: Build Android Application Package
needs:
- create_release
- runs-on: 'ubuntu-latest'
+ runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
- - run: |
- gpg --batch --decrypt --output "files/browser_client_secret.json" --passphrase "$PASSPHRASE" --yes "files/browser_client_secret.json.gpg"
- gpg --batch --decrypt --output "files/desktop_client_secret.json" --passphrase "$PASSPHRASE" --yes "files/desktop_client_secret.json.gpg"
- gpg --batch --decrypt --output "web/firebase-config.js" --passphrase "$PASSPHRASE" --yes "web/firebase-config.js.gpg"
+ - name: Checkout repository
+ uses: actions/checkout@v4
+ - name: Decrypt archive
env:
PASSPHRASE: ${{ secrets.PASSPHRASE }}
- - uses: tnc1997/github-actions/actions/setup-flutter@setup-flutter_v1
+ run: |
+ gpg --quiet --batch --yes --decrypt --passphrase "$PASSPHRASE" --output "./archive.tar" "./archive.tar.gpg"
+ tar -xf "./archive.tar"
+ rm "./archive.tar"
+ - name: Setup Flutter
+ uses: tnc1997/github-actions/actions/setup-flutter@setup-flutter_v1
+ with:
+ channel: beta
+ - name: Build Android Application Package
+ run: flutter build apk --split-per-abi
+ - name: Upload release asset
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ uses: actions/upload-release-asset@v1
with:
- channel: 'dev'
- - run: flutter build web --no-sound-null-safety --web-renderer html
- - uses: FirebaseExtended/action-hosting-deploy@v0
+ asset_content_type: application/vnd.android.package-archive
+ asset_name: google-photos-album-searcher-android-arm64.apk
+ asset_path: ./build/app/outputs/flutter-apk/app-arm64-v8a-release.apk
+ upload_url: ${{ needs.create_release.outputs.upload_url }}
+ - name: Upload release asset
env:
- FIREBASE_CLI_PREVIEWS: 'hostingchannels'
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ uses: actions/upload-release-asset@v1
with:
- channelId: 'live'
- firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_TIDAL_RUN_307407 }}'
- projectId: 'tidal-run-307407'
- repoToken: '${{ secrets.GITHUB_TOKEN }}'
+ asset_content_type: application/vnd.android.package-archive
+ asset_name: google-photos-album-searcher-android-x64.apk
+ asset_path: ./build/app/outputs/flutter-apk/app-x86_64-release.apk
+ upload_url: ${{ needs.create_release.outputs.upload_url }}
+ build_web:
+ name: Build web
+ needs:
+ - create_release
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+ - name: Decrypt archive
+ env:
+ PASSPHRASE: ${{ secrets.PASSPHRASE }}
+ run: |
+ gpg --quiet --batch --yes --decrypt --passphrase "$PASSPHRASE" --output "./archive.tar" "./archive.tar.gpg"
+ tar -xf "./archive.tar"
+ rm "./archive.tar"
+ - name: Setup Flutter
+ uses: tnc1997/github-actions/actions/setup-flutter@setup-flutter_v1
+ with:
+ channel: beta
+ - name: Build web
+ run: flutter build web --web-renderer "html"
+ - name: Deploy hosting
+ uses: FirebaseExtended/action-hosting-deploy@v0
+ with:
+ channelId: live
+ firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_TIDAL_RUN_307407 }}
+ projectId: tidal-run-307407
+ repoToken: ${{ secrets.GITHUB_TOKEN }}
build_windows:
+ name: Build Windows
needs:
- create_release
- runs-on: 'windows-latest'
+ runs-on: windows-latest
steps:
- - uses: actions/checkout@v2
- - run: |
- gpg --batch --decrypt --output "files/browser_client_secret.json" --passphrase "$PASSPHRASE" --yes "files/browser_client_secret.json.gpg"
- gpg --batch --decrypt --output "files/desktop_client_secret.json" --passphrase "$PASSPHRASE" --yes "files/desktop_client_secret.json.gpg"
- gpg --batch --decrypt --output "web/firebase-config.js" --passphrase "$PASSPHRASE" --yes "web/firebase-config.js.gpg"
+ - name: Checkout repository
+ uses: actions/checkout@v4
+ - name: Decrypt archive
env:
PASSPHRASE: ${{ secrets.PASSPHRASE }}
- shell: 'bash'
- - uses: tnc1997/github-actions/actions/setup-flutter@setup-flutter_v1
+ run: |
+ gpg --quiet --batch --yes --decrypt --passphrase "$PASSPHRASE" --output "./archive.tar" "./archive.tar.gpg"
+ tar -xf "./archive.tar"
+ rm "./archive.tar"
+ shell: bash
+ - name: Setup Flutter
+ uses: tnc1997/github-actions/actions/setup-flutter@setup-flutter_v1
with:
- channel: 'dev'
- - run: flutter config --enable-windows-desktop
- - run: flutter build windows --no-sound-null-safety
- - run: Compress-Archive -DestinationPath Release.zip -Path build\windows\runner\Release
- - uses: actions/upload-release-asset@v1
+ channel: beta
+ - name: Build Windows
+ run: flutter build windows
+ - name: Create installer
+ run: . "${env:ProgramFiles(x86)}\Inno Setup 6\iscc.exe" ".\setup.iss"
+ - name: Upload release asset
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ uses: actions/upload-release-asset@v1
+ with:
+ asset_content_type: application/vnd.microsoft.portable-executable
+ asset_name: google-photos-album-searcher-windows-x64.exe
+ asset_path: ./Output/mysetup.exe
+ upload_url: ${{ needs.create_release.outputs.upload_url }}
+ create_release:
+ name: Create release
+ outputs:
+ upload_url: ${{ steps.create_release.outputs.upload_url }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: Create release
env:
- GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ id: create_release
+ uses: actions/create-release@v1
with:
- asset_content_type: 'application/zip'
- asset_name: 'windows.zip'
- asset_path: 'Release.zip'
- upload_url: '${{ needs.create_release.outputs.upload_url }}'
+ release_name: ${{ github.ref }}
+ tag_name: ${{ github.ref }}
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index d3d0a77..b0a7db3 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -1,46 +1,31 @@
+name: Test
on:
pull_request:
branches:
- main
jobs:
build_web:
- runs-on: 'ubuntu-latest'
+ name: Build web
+ runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
- - run: |
- gpg --batch --decrypt --output "files/browser_client_secret.json" --passphrase "$PASSPHRASE" --yes "files/browser_client_secret.json.gpg"
- gpg --batch --decrypt --output "files/desktop_client_secret.json" --passphrase "$PASSPHRASE" --yes "files/desktop_client_secret.json.gpg"
- gpg --batch --decrypt --output "web/firebase-config.js" --passphrase "$PASSPHRASE" --yes "web/firebase-config.js.gpg"
+ - name: Checkout repository
+ uses: actions/checkout@v4
+ - name: Decrypt archive
env:
PASSPHRASE: ${{ secrets.PASSPHRASE }}
- - uses: tnc1997/github-actions/actions/setup-flutter@setup-flutter_v1
+ run: |
+ gpg --quiet --batch --yes --decrypt --passphrase "$PASSPHRASE" --output "./archive.tar" "./archive.tar.gpg"
+ tar -xf "./archive.tar"
+ rm "./archive.tar"
+ - name: Setup Flutter
+ uses: tnc1997/github-actions/actions/setup-flutter@setup-flutter_v1
with:
- channel: 'dev'
- - run: flutter build web --no-sound-null-safety --web-renderer html
- - uses: FirebaseExtended/action-hosting-deploy@v0
- env:
- FIREBASE_CLI_PREVIEWS: 'hostingchannels'
- with:
- firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_TIDAL_RUN_307407 }}'
- projectId: 'tidal-run-307407'
- repoToken: '${{ secrets.GITHUB_TOKEN }}'
- build_windows:
- runs-on: 'windows-latest'
- steps:
- - uses: actions/checkout@v2
- - run: |
- gpg --batch --decrypt --output "files/browser_client_secret.json" --passphrase "$PASSPHRASE" --yes "files/browser_client_secret.json.gpg"
- gpg --batch --decrypt --output "files/desktop_client_secret.json" --passphrase "$PASSPHRASE" --yes "files/desktop_client_secret.json.gpg"
- gpg --batch --decrypt --output "web/firebase-config.js" --passphrase "$PASSPHRASE" --yes "web/firebase-config.js.gpg"
- env:
- PASSPHRASE: ${{ secrets.PASSPHRASE }}
- shell: 'bash'
- - uses: tnc1997/github-actions/actions/setup-flutter@setup-flutter_v1
- with:
- channel: 'dev'
- - run: flutter config --enable-windows-desktop
- - run: flutter build windows --no-sound-null-safety
- - uses: actions/upload-artifact@v2
+ channel: beta
+ - name: Build web
+ run: flutter build web --web-renderer "html"
+ - name: Deploy hosting
+ uses: FirebaseExtended/action-hosting-deploy@v0
with:
- name: 'windows'
- path: 'build\windows\runner\Release'
+ firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_TIDAL_RUN_307407 }}
+ projectId: tidal-run-307407
+ repoToken: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.gitignore b/.gitignore
index 3f643c0..560296c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,190 +1,47 @@
-# Created by https://www.toptal.com/developers/gitignore/api/firebase,flutter,intellij,vscode
-# Edit at https://www.toptal.com/developers/gitignore?templates=firebase,flutter,intellij,vscode
-
-### Firebase ###
-**/node_modules/*
-**/.firebaserc
+# Miscellaneous
+*.class
+*.log
+*.pyc
+*.swp
+.DS_Store
+.atom/
+.buildlog/
+.history
+.svn/
+migrate_working_dir/
+
+# IntelliJ related
+*.iml
+*.ipr
+*.iws
+.idea/
-### Firebase Patch ###
-.runtimeconfig.json
-.firebase/
+# The .vscode folder contains launch configuration and tasks you configure in
+# VS Code which you may wish to be included in version control, so this line
+# is commented out by default.
+#.vscode/
-### Flutter ###
# Flutter/Dart/Pub related
**/doc/api/
+**/ios/Flutter/.last_build_id
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
-.fvm/
-.packages
.pub-cache/
.pub/
-build/
-coverage/
-lib/generated_plugin_registrant.dart
-# For library packages, don’t commit the pubspec.lock file.
-# Regenerating the pubspec.lock file lets you test your package against the latest compatible versions of its dependencies.
-# See https://dart.dev/guides/libraries/private-files#pubspeclock
-#pubspec.lock
-
-# Android related
-**/android/**/gradle-wrapper.jar
-**/android/.gradle
-**/android/captures/
-**/android/gradlew
-**/android/gradlew.bat
-**/android/key.properties
-**/android/local.properties
-**/android/**/GeneratedPluginRegistrant.java
-
-# iOS/XCode related
-**/ios/**/*.mode1v3
-**/ios/**/*.mode2v3
-**/ios/**/*.moved-aside
-**/ios/**/*.pbxuser
-**/ios/**/*.perspectivev3
-**/ios/**/*sync/
-**/ios/**/.sconsign.dblite
-**/ios/**/.tags*
-**/ios/**/.vagrant/
-**/ios/**/DerivedData/
-**/ios/**/Icon?
-**/ios/**/Pods/
-**/ios/**/.symlinks/
-**/ios/**/profile
-**/ios/**/xcuserdata
-**/ios/.generated/
-**/ios/Flutter/.last_build_id
-**/ios/Flutter/App.framework
-**/ios/Flutter/Flutter.framework
-**/ios/Flutter/Flutter.podspec
-**/ios/Flutter/Generated.xcconfig
-**/ios/Flutter/app.flx
-**/ios/Flutter/app.zip
-**/ios/Flutter/flutter_assets/
-**/ios/Flutter/flutter_export_environment.sh
-**/ios/ServiceDefinitions.json
-**/ios/Runner/GeneratedPluginRegistrant.*
-
-# Exceptions to above rules.
-!**/ios/**/default.mode1v3
-!**/ios/**/default.mode2v3
-!**/ios/**/default.pbxuser
-!**/ios/**/default.perspectivev3
-!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
-
-### Intellij ###
-# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
-# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
-
-# User-specific stuff
-.idea/**/workspace.xml
-.idea/**/tasks.xml
-.idea/**/usage.statistics.xml
-.idea/**/dictionaries
-.idea/**/shelf
-
-# Generated files
-.idea/**/contentModel.xml
-
-# Sensitive or high-churn files
-.idea/**/dataSources/
-.idea/**/dataSources.ids
-.idea/**/dataSources.local.xml
-.idea/**/sqlDataSources.xml
-.idea/**/dynamic.xml
-.idea/**/uiDesigner.xml
-.idea/**/dbnavigator.xml
-
-# Gradle
-.idea/**/gradle.xml
-.idea/**/libraries
-
-# Gradle and Maven with auto-import
-# When using Gradle or Maven with auto-import, you should exclude module files,
-# since they will be recreated, and may cause churn. Uncomment if using
-# auto-import.
-# .idea/artifacts
-# .idea/compiler.xml
-# .idea/jarRepositories.xml
-# .idea/modules.xml
-# .idea/*.iml
-# .idea/modules
-# *.iml
-# *.ipr
-
-# CMake
-cmake-build-*/
-
-# Mongo Explorer plugin
-.idea/**/mongoSettings.xml
-
-# File-based project format
-*.iws
-
-# IntelliJ
-out/
-
-# mpeltonen/sbt-idea plugin
-.idea_modules/
-
-# JIRA plugin
-atlassian-ide-plugin.xml
-
-# Cursive Clojure plugin
-.idea/replstate.xml
-
-# Crashlytics plugin (for Android Studio and IntelliJ)
-com_crashlytics_export_strings.xml
-crashlytics.properties
-crashlytics-build.properties
-fabric.properties
-
-# Editor-based Rest Client
-.idea/httpRequests
-
-# Android studio 3.1+ serialized cache file
-.idea/caches/build_file_checksums.ser
-
-### Intellij Patch ###
-# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
-
-# *.iml
-# modules.xml
-# .idea/misc.xml
-# *.ipr
-
-# Sonarlint plugin
-# https://plugins.jetbrains.com/plugin/7973-sonarlint
-.idea/**/sonarlint/
-
-# SonarQube Plugin
-# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
-.idea/**/sonarIssues.xml
-
-# Markdown Navigator plugin
-# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
-.idea/**/markdown-navigator.xml
-.idea/**/markdown-navigator-enh.xml
-.idea/**/markdown-navigator/
+/build/
-# Cache file creation bug
-# See https://youtrack.jetbrains.com/issue/JBR-2257
-.idea/$CACHE_FILE$
+# Symbolication related
+app.*.symbols
-# CodeStream plugin
-# https://plugins.jetbrains.com/plugin/12206-codestream
-.idea/codestream.xml
+# Obfuscation related
+app.*.map.json
-### vscode ###
-.vscode/*
-!.vscode/settings.json
-!.vscode/tasks.json
-!.vscode/launch.json
-!.vscode/extensions.json
-*.code-workspace
+# Android Studio will place build artifacts here
+/android/app/debug
+/android/app/profile
+/android/app/release
-### Other ###
-files/browser_client_secret.json
-files/desktop_client_secret.json
-web/firebase-config.js
+# Secret related
+/lib/firebase_options.dart
+/lib/google_sign_in_parameters.dart
diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index ea96b3c..0000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Datasource local storage ignored files
-/../../../../:\Repos\flutter-google-photos-album-searcher\.idea/dataSources/
-/dataSources.local.xml
-# Editor-based HTTP Client requests
-/httpRequests/
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index b592662..0000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/main_dart.xml b/.idea/runConfigurations/main_dart.xml
deleted file mode 100644
index 5d918c8..0000000
--- a/.idea/runConfigurations/main_dart.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.metadata b/.metadata
index c60a809..4262e0d 100644
--- a/.metadata
+++ b/.metadata
@@ -4,7 +4,36 @@
# This file should be version controlled and should not be manually edited.
version:
- revision: cc9b78fc5c4a4d2d51316d9626523336230a89a9
- channel: dev
+ revision: "29babcb32a591b9e5be8c6a6075d4fe605d46ad3"
+ channel: "beta"
project_type: app
+
+# Tracks metadata for the flutter migrate command
+migration:
+ platforms:
+ - platform: root
+ create_revision: 29babcb32a591b9e5be8c6a6075d4fe605d46ad3
+ base_revision: 29babcb32a591b9e5be8c6a6075d4fe605d46ad3
+ - platform: android
+ create_revision: 29babcb32a591b9e5be8c6a6075d4fe605d46ad3
+ base_revision: 29babcb32a591b9e5be8c6a6075d4fe605d46ad3
+ - platform: linux
+ create_revision: 29babcb32a591b9e5be8c6a6075d4fe605d46ad3
+ base_revision: 29babcb32a591b9e5be8c6a6075d4fe605d46ad3
+ - platform: web
+ create_revision: 29babcb32a591b9e5be8c6a6075d4fe605d46ad3
+ base_revision: 29babcb32a591b9e5be8c6a6075d4fe605d46ad3
+ - platform: windows
+ create_revision: 29babcb32a591b9e5be8c6a6075d4fe605d46ad3
+ base_revision: 29babcb32a591b9e5be8c6a6075d4fe605d46ad3
+
+ # User provided section
+
+ # List of Local paths (relative to this file) that should be
+ # ignored by the migrate tool.
+ #
+ # Files that are not part of the templates will be ignored by default.
+ unmanaged_files:
+ - 'lib/main.dart'
+ - 'ios/Runner.xcodeproj/project.pbxproj'
diff --git a/.versionrc b/.versionrc
deleted file mode 100644
index 5f91f9c..0000000
--- a/.versionrc
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "bumpFiles": [
- {
- "filename": "pubspec.yaml",
- "updater": "./scripts/standard-version-updater.js"
- }
- ],
- "releaseCommitMessageFormat": "chore(release): {{currentTag}}",
- "types": [
- {
- "hidden": false,
- "section": "Builds",
- "type": "build"
- },
- {
- "hidden": false,
- "section": "Chores",
- "type": "chore"
- },
- {
- "hidden": false,
- "section": "Continuous Integrations",
- "type": "ci"
- },
- {
- "hidden": false,
- "section": "Documentation",
- "type": "docs"
- },
- {
- "hidden": false,
- "section": "Features",
- "type": "feat"
- },
- {
- "hidden": false,
- "section": "Bug Fixes",
- "type": "fix"
- },
- {
- "hidden": false,
- "section": "Performance Improvements",
- "type": "perf"
- },
- {
- "hidden": false,
- "section": "Code Refactoring",
- "type": "refactor"
- },
- {
- "hidden": false,
- "section": "Reverts",
- "type": "revert"
- },
- {
- "hidden": false,
- "section": "Styles",
- "type": "style"
- },
- {
- "hidden": false,
- "section": "Tests",
- "type": "test"
- }
- ]
-}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index fb304b7..b86b092 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,42 +2,36 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
-### [1.0.4](https://github.com/tnc1997/flutter-album-searcher-for-google-photos/compare/v1.0.3...v1.0.4) (2021-03-25)
-
+## [1.0.4](https://github.com/tnc1997/google-photos-album-searcher/compare/v1.0.3...v1.0.4) (2021-03-25)
### Builds
-* add firebase analytics ([#6](https://github.com/tnc1997/flutter-album-searcher-for-google-photos/issues/6)) ([4b84857](https://github.com/tnc1997/flutter-album-searcher-for-google-photos/commit/4b84857a594d0851f45bcdc0f71e0c8af74fe817))
-
-### [1.0.3](https://github.com/tnc1997/flutter-album-searcher-for-google-photos/compare/v1.0.2...v1.0.3) (2021-03-24)
+* add firebase analytics ([#6](https://github.com/tnc1997/google-photos-album-searcher/issues/6)) ([4b84857](https://github.com/tnc1997/google-photos-album-searcher/commit/4b84857a594d0851f45bcdc0f71e0c8af74fe817))
+## [1.0.3](https://github.com/tnc1997/google-photos-album-searcher/compare/v1.0.2...v1.0.3) (2021-03-24)
### Bug Fixes
-* terms of service url ([#5](https://github.com/tnc1997/flutter-album-searcher-for-google-photos/issues/5)) ([a7dde9f](https://github.com/tnc1997/flutter-album-searcher-for-google-photos/commit/a7dde9f1a4216131782e2bdbeeb558665d565093))
-
+* terms of service url ([#5](https://github.com/tnc1997/google-photos-album-searcher/issues/5)) ([a7dde9f](https://github.com/tnc1997/google-photos-album-searcher/commit/a7dde9f1a4216131782e2bdbeeb558665d565093))
### Code Refactoring
-* authentication services ([#4](https://github.com/tnc1997/flutter-album-searcher-for-google-photos/issues/4)) ([4a14f2e](https://github.com/tnc1997/flutter-album-searcher-for-google-photos/commit/4a14f2e17e40ae039ab59c810aa9c15c15828637))
-
-### [1.0.2](https://github.com/tnc1997/flutter-album-searcher-for-google-photos/compare/v1.0.1...v1.0.2) (2021-03-24)
+* authentication services ([#4](https://github.com/tnc1997/google-photos-album-searcher/issues/4)) ([4a14f2e](https://github.com/tnc1997/google-photos-album-searcher/commit/4a14f2e17e40ae039ab59c810aa9c15c15828637))
+## [1.0.2](https://github.com/tnc1997/google-photos-album-searcher/compare/v1.0.1...v1.0.2) (2021-03-24)
### Code Refactoring
-* sign in page to welcome page ([#3](https://github.com/tnc1997/flutter-album-searcher-for-google-photos/issues/3)) ([d9f5349](https://github.com/tnc1997/flutter-album-searcher-for-google-photos/commit/d9f534927125d1286aa9f34f389b67bad0047746)), closes [#2](https://github.com/tnc1997/flutter-album-searcher-for-google-photos/issues/2)
-
-### [1.0.1](https://github.com/tnc1997/flutter-album-searcher-for-google-photos/compare/v1.0.0...v1.0.1) (2021-03-22)
+* sign in page to welcome page ([#3](https://github.com/tnc1997/google-photos-album-searcher/issues/3)) ([d9f5349](https://github.com/tnc1997/google-photos-album-searcher/commit/d9f534927125d1286aa9f34f389b67bad0047746)), closes [#2](https://github.com/tnc1997/google-photos-album-searcher/issues/2)
+## [1.0.1](https://github.com/tnc1997/google-photos-album-searcher/compare/v1.0.0...v1.0.1) (2021-03-22)
### Chores
-* add privacy and terms ([#1](https://github.com/tnc1997/flutter-album-searcher-for-google-photos/issues/1)) ([25ae9c4](https://github.com/tnc1997/flutter-album-searcher-for-google-photos/commit/25ae9c4f7b68cdc07a9eb3f30ff3d0ab49880513))
+* add privacy and terms ([#1](https://github.com/tnc1997/google-photos-album-searcher/issues/1)) ([25ae9c4](https://github.com/tnc1997/google-photos-album-searcher/commit/25ae9c4f7b68cdc07a9eb3f30ff3d0ab49880513))
## 1.0.0 (2021-03-21)
-
### Chores
-* initial commit ([842549c](https://github.com/tnc1997/flutter-album-searcher-for-google-photos/commit/842549c39e779d684ef2781164b226299f66ab23))
+* initial commit ([842549c](https://github.com/tnc1997/google-photos-album-searcher/commit/842549c39e779d684ef2781164b226299f66ab23))
diff --git a/LICENSE b/LICENSE
index 7aeba44..fa1707a 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2021 Thomas Clark
+Copyright (c) 2024 Thomas Clark
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index 0f95db8..148b7af 100644
--- a/README.md
+++ b/README.md
@@ -1,30 +1,16 @@
-# Album Searcher for Google Photos
+Album Searcher for Google Photos
-Album Searcher for Google Photos gives you an enhanced search experience for shared albums.
+Please note that Album Searcher for Google Photos is unofficial and not endorsed by Google.
## Getting Started
1. Create a [Google Cloud Platform project](https://console.cloud.google.com/projectcreate).
-1. Enable the [Photos Library API](https://console.cloud.google.com/apis/library/photoslibrary.googleapis.com).
-1. Create an [OAuth consent screen](https://console.cloud.google.com/apis/credentials/consent) with the scopes "[openid](https://developers.google.com/identity/protocols/oauth2/scopes#oauth2)" and "[https://www.googleapis.com/auth/photoslibrary.readonly](https://developers.google.com/identity/protocols/oauth2/scopes#photoslibrary)".
-1. Create an [OAuth client](https://console.cloud.google.com/apis/credentials/oauthclient) for desktop.
-1. Create an [OAuth client](https://console.cloud.google.com/apis/credentials/oauthclient) for web with the authorised JavaScript origin "http://localhost:1234" and the authorised redirect URI "http://localhost:1234/oauth2redirect.html".
-1. Download the JSON of the desktop OAuth client to the directory "files" with the name "desktop_client_secret.json".
-1. Download the JSON of the web OAuth client to the directory "files" with the name "browser_client_secret.json".
-1. Create a [Firebase project](https://console.firebase.google.com) linked to the existing [Google Cloud Platform project](https://console.cloud.google.com).
-1. Add a [web app](https://firebase.google.com/docs/web/setup) to the [Firebase project](https://console.firebase.google.com) making a note of the Firebase config.
-1. Create a file "firebase-config.js" in the directory "web" with the following content:
- ```javascript
- export var firebaseConfig = {
- apiKey: "API_KEY",
- authDomain: "PROJECT_ID.firebaseapp.com",
- databaseURL: "https://PROJECT_ID.firebaseio.com",
- projectId: "PROJECT_ID",
- storageBucket: "PROJECT_ID.appspot.com",
- messagingSenderId: "SENDER_ID",
- appId: "APP_ID",
- measurementId: "G-MEASUREMENT_ID",
- };
- ```
-1. Run `flutter run --device-id windows --no-sound-null-safety` to start the application on desktop.
-1. Run `flutter run --device-id chrome --no-sound-null-safety --web-port 1234 --web-renderer html` to start the application on web.
+2. Enable the [Photos Library API](https://console.cloud.google.com/apis/library/photoslibrary.googleapis.com).
+3. Create an [OAuth consent screen](https://console.cloud.google.com/apis/credentials/consent) with the scopes "[openid](https://developers.google.com/identity/protocols/oauth2/scopes#oauth2)" and "[https://www.googleapis.com/auth/photoslibrary.readonly](https://developers.google.com/identity/protocols/oauth2/scopes#photoslibrary)".
+4. Create an [OAuth client](https://console.cloud.google.com/apis/credentials/oauthclient) for desktop.
+5. Create an [OAuth client](https://console.cloud.google.com/apis/credentials/oauthclient) for web with the authorised JavaScript origins "http://localhost" and "http://localhost:7357".
+6. Create a file "google_sign_in_parameters.dart" with the OAuth client credentials for each platform.
+7. Create a [Firebase project](https://console.firebase.google.com) linked to the existing [Google Cloud Platform project](https://console.cloud.google.com).
+8. Setup Firebase in the Flutter application by following [these](https://firebase.google.com/docs/flutter/setup) instructions.
+9. Run `flutter run --device-id windows` to start the application on desktop.
+10. Run `flutter run --device-id chrome --web-port 7357 --web-renderer html` to start the application on web.
diff --git a/album_searcher_for_google_photos.iml b/album_searcher_for_google_photos.iml
deleted file mode 100644
index 3de44f0..0000000
--- a/album_searcher_for_google_photos.iml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/analysis_options.yaml b/analysis_options.yaml
new file mode 100644
index 0000000..0d29021
--- /dev/null
+++ b/analysis_options.yaml
@@ -0,0 +1,28 @@
+# This file configures the analyzer, which statically analyzes Dart code to
+# check for errors, warnings, and lints.
+#
+# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
+# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
+# invoked from the command line by running `flutter analyze`.
+
+# The following line activates a set of recommended lints for Flutter apps,
+# packages, and plugins designed to encourage good coding practices.
+include: package:flutter_lints/flutter.yaml
+
+linter:
+ # The lint rules applied to this project can be customized in the
+ # section below to disable rules from the `package:flutter_lints/flutter.yaml`
+ # included above or to enable additional rules. A list of all available lints
+ # and their documentation is published at https://dart.dev/lints.
+ #
+ # Instead of disabling a lint rule for the entire project in the
+ # section below, it can also be suppressed for a single line of code
+ # or a specific dart file by using the `// ignore: name_of_lint` and
+ # `// ignore_for_file: name_of_lint` syntax on the line or in the file
+ # producing the lint.
+ rules:
+ # avoid_print: false # Uncomment to disable the `avoid_print` rule
+ # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
+
+# Additional information about this file can be found at
+# https://dart.dev/guides/language/analysis-options
diff --git a/android/.gitignore b/android/.gitignore
index 0a741cb..1c580ac 100644
--- a/android/.gitignore
+++ b/android/.gitignore
@@ -5,7 +5,10 @@ gradle-wrapper.jar
/gradlew.bat
/local.properties
GeneratedPluginRegistrant.java
+/app/google-services.json
# Remember to never publicly share your keystore.
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
key.properties
+**/*.keystore
+**/*.jks
diff --git a/android/album_searcher_for_google_photos_android.iml b/android/album_searcher_for_google_photos_android.iml
deleted file mode 100644
index 1899969..0000000
--- a/android/album_searcher_for_google_photos_android.iml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/android/app/build.gradle b/android/app/build.gradle
index d8185d1..eeac53c 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -1,58 +1,81 @@
+plugins {
+ id "com.android.application"
+ // START: FlutterFire Configuration
+ id 'com.google.gms.google-services'
+ // END: FlutterFire Configuration
+ id "kotlin-android"
+ // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
+ id "dev.flutter.flutter-gradle-plugin"
+}
+
+def keystoreProperties = new Properties()
+def keystorePropertiesFile = rootProject.file("key.properties")
+if (keystorePropertiesFile.exists()) {
+ keystorePropertiesFile.withReader("UTF-8") { reader ->
+ keystoreProperties.load(reader)
+ }
+}
+
def localProperties = new Properties()
-def localPropertiesFile = rootProject.file('local.properties')
+def localPropertiesFile = rootProject.file("local.properties")
if (localPropertiesFile.exists()) {
- localPropertiesFile.withReader('UTF-8') { reader ->
+ localPropertiesFile.withReader("UTF-8") { reader ->
localProperties.load(reader)
}
}
-def flutterRoot = localProperties.getProperty('flutter.sdk')
-if (flutterRoot == null) {
- throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
-}
-
-def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
+def flutterVersionCode = localProperties.getProperty("flutter.versionCode")
if (flutterVersionCode == null) {
- flutterVersionCode = '1'
+ flutterVersionCode = "1"
}
-def flutterVersionName = localProperties.getProperty('flutter.versionName')
+def flutterVersionName = localProperties.getProperty("flutter.versionName")
if (flutterVersionName == null) {
- flutterVersionName = '1.0'
+ flutterVersionName = "1.0"
}
-apply plugin: 'com.android.application'
-apply plugin: 'kotlin-android'
-apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
-
android {
- compileSdkVersion 30
+ namespace = "app.thomasclark.googlephotosalbumsearcher"
+ compileSdk = flutter.compileSdkVersion
+ ndkVersion = flutter.ndkVersion
- sourceSets {
- main.java.srcDirs += 'src/main/kotlin'
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_1_8
+ targetCompatibility = JavaVersion.VERSION_1_8
}
defaultConfig {
- applicationId "app.thomasclark.albumsearcherforgooglephotos"
- minSdkVersion 16
- targetSdkVersion 30
- versionCode flutterVersionCode.toInteger()
- versionName flutterVersionName
+ applicationId = "app.thomasclark.googlephotosalbumsearcher"
+ // You can update the following values to match your application needs.
+ // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
+ minSdk = flutter.minSdkVersion
+ targetSdk = flutter.targetSdkVersion
+ versionCode = flutterVersionCode.toInteger()
+ versionName = flutterVersionName
+ }
+
+ signingConfigs {
+ if (keystorePropertiesFile.exists()) {
+ release {
+ keyAlias keystoreProperties["keyAlias"]
+ keyPassword keystoreProperties["keyPassword"]
+ storeFile file(keystoreProperties["storeFile"])
+ storePassword keystoreProperties["storePassword"]
+ }
+ }
}
buildTypes {
release {
- // TODO: Add your own signing config for the release build.
- // Signing with the debug keys for now, so `flutter run --release` works.
- signingConfig signingConfigs.debug
+ if (keystorePropertiesFile.exists()) {
+ signingConfig signingConfigs.release
+ } else {
+ signingConfig signingConfigs.debug
+ }
}
}
}
flutter {
- source '../..'
-}
-
-dependencies {
- implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
+ source = "../.."
}
diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml
new file mode 100644
index 0000000..399f698
--- /dev/null
+++ b/android/app/src/debug/AndroidManifest.xml
@@ -0,0 +1,7 @@
+
+
+
+
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 0ada180..9cc1858 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -1,55 +1,59 @@
-
-
+
+
+ >
+ android:windowSoftInputMode="adjustResize"
+ >
-
-
-
-
-
-
+ android:resource="@style/NormalTheme"
+ />
-
-
-
-
+
+
+ android:value="2"
+ />
+
-
-
-
+
+
diff --git a/android/app/src/main/ic_launcher-playstore.png b/android/app/src/main/ic_launcher-playstore.png
deleted file mode 100644
index 7ab59c7..0000000
Binary files a/android/app/src/main/ic_launcher-playstore.png and /dev/null differ
diff --git a/android/app/src/main/kotlin/app/thomasclark/albumsearcherforgooglephotos/MainActivity.kt b/android/app/src/main/kotlin/app/thomasclark/albumsearcherforgooglephotos/MainActivity.kt
deleted file mode 100644
index b0751fd..0000000
--- a/android/app/src/main/kotlin/app/thomasclark/albumsearcherforgooglephotos/MainActivity.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package app.thomasclark.albumsearcherforgooglephotos
-
-import io.flutter.embedding.android.FlutterActivity
-
-class MainActivity: FlutterActivity() {
-}
diff --git a/android/app/src/main/kotlin/app/thomasclark/googlephotosalbumsearcher/MainActivity.kt b/android/app/src/main/kotlin/app/thomasclark/googlephotosalbumsearcher/MainActivity.kt
new file mode 100644
index 0000000..8c916fd
--- /dev/null
+++ b/android/app/src/main/kotlin/app/thomasclark/googlephotosalbumsearcher/MainActivity.kt
@@ -0,0 +1,5 @@
+package app.thomasclark.googlephotosalbumsearcher
+
+import io.flutter.embedding.android.FlutterActivity
+
+class MainActivity: FlutterActivity()
diff --git a/android/app/src/main/play_store.png b/android/app/src/main/play_store.png
new file mode 100644
index 0000000..c5bc9e1
Binary files /dev/null and b/android/app/src/main/play_store.png differ
diff --git a/android/app/src/main/play_store_feature_graphic.png b/android/app/src/main/play_store_feature_graphic.png
new file mode 100644
index 0000000..81e1c51
Binary files /dev/null and b/android/app/src/main/play_store_feature_graphic.png differ
diff --git a/android/app/src/main/res/drawable-v21/ic_launcher_foreground.xml b/android/app/src/main/res/drawable-v21/ic_launcher_foreground.xml
deleted file mode 100644
index 0cf2e52..0000000
--- a/android/app/src/main/res/drawable-v21/ic_launcher_foreground.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
diff --git a/android/app/src/main/res/drawable/ic_launcher_foreground.xml b/android/app/src/main/res/drawable/ic_launcher_foreground.xml
deleted file mode 100644
index 0cf2e52..0000000
--- a/android/app/src/main/res/drawable/ic_launcher_foreground.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
index 7353dbd..345888d 100644
--- a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
+++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -1,5 +1,6 @@
-
-
+
+
+
\ No newline at end of file
diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
deleted file mode 100644
index 7353dbd..0000000
--- a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
index 50fdde0..bc33974 100644
Binary files a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png
new file mode 100644
index 0000000..1966948
Binary files /dev/null and b/android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png differ
diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..736302f
Binary files /dev/null and b/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png
new file mode 100644
index 0000000..babed03
Binary files /dev/null and b/android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png differ
diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
deleted file mode 100644
index d3903f9..0000000
Binary files a/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png and /dev/null differ
diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
index 0e3f7fc..f8853a2 100644
Binary files a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png
new file mode 100644
index 0000000..75025cf
Binary files /dev/null and b/android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png differ
diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..38bbd25
Binary files /dev/null and b/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png
new file mode 100644
index 0000000..5c8dc46
Binary files /dev/null and b/android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png differ
diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
deleted file mode 100644
index 842ef94..0000000
Binary files a/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png and /dev/null differ
diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
index e04d58e..6b4412f 100644
Binary files a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png
new file mode 100644
index 0000000..9784f16
Binary files /dev/null and b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png differ
diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..3741dbc
Binary files /dev/null and b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png
new file mode 100644
index 0000000..ac33b83
Binary files /dev/null and b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png differ
diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
deleted file mode 100644
index 2811ebc..0000000
Binary files a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
index aebb98d..1ce255d 100644
Binary files a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png
new file mode 100644
index 0000000..04ef206
Binary files /dev/null and b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png differ
diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..23d236c
Binary files /dev/null and b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png
new file mode 100644
index 0000000..28ce72b
Binary files /dev/null and b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png differ
diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
deleted file mode 100644
index dac4f15..0000000
Binary files a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
index 3347fde..36ef834 100644
Binary files a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png
new file mode 100644
index 0000000..66a5487
Binary files /dev/null and b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png differ
diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..a65e8e4
Binary files /dev/null and b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png
new file mode 100644
index 0000000..168abc3
Binary files /dev/null and b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png differ
diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
deleted file mode 100644
index a2f1a74..0000000
Binary files a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/android/app/src/main/res/values-night/ic_launcher_background.xml b/android/app/src/main/res/values-night/ic_launcher_background.xml
deleted file mode 100644
index 07e4b80..0000000
--- a/android/app/src/main/res/values-night/ic_launcher_background.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- #F44336
-
\ No newline at end of file
diff --git a/android/app/src/main/res/values-night/styles.xml b/android/app/src/main/res/values-night/styles.xml
index 449a9f9..06952be 100644
--- a/android/app/src/main/res/values-night/styles.xml
+++ b/android/app/src/main/res/values-night/styles.xml
@@ -3,14 +3,14 @@