From e984621eeb06b03625f31b0479fc732d99de13fc Mon Sep 17 00:00:00 2001 From: exttex Date: Fri, 18 Sep 2020 19:36:41 +0200 Subject: [PATCH] 0.4.0 - translations, download fallback, android auto, radio, infinite flow, bugfixes --- .gitignore | 1 + README.md | 34 +- android/app/build.gradle | 2 +- android/app/src/main/AndroidManifest.xml | 4 + .../app/src/main/ic_launcher-playstore.png | Bin 0 -> 16346 bytes .../main/java/f/f/freezer/MainActivity.java | 24 + .../main/res/drawable-hdpi/ic_action_stop.png | Bin 0 -> 470 bytes .../src/main/res/drawable-hdpi/ic_pause.png | Bin 196 -> 0 bytes .../main/res/drawable-hdpi/ic_play_arrow.png | Bin 390 -> 0 bytes .../main/res/drawable-hdpi/ic_skip_next.png | Bin 415 -> 0 bytes .../res/drawable-hdpi/ic_skip_previous.png | Bin 401 -> 0 bytes .../src/main/res/drawable-hdpi/ic_stop.png | Bin 137 -> 0 bytes .../main/res/drawable-mdpi/ic_action_stop.png | Bin 0 -> 439 bytes .../src/main/res/drawable-mdpi/ic_pause.png | Bin 144 -> 0 bytes .../main/res/drawable-mdpi/ic_play_arrow.png | Bin 220 -> 0 bytes .../main/res/drawable-mdpi/ic_skip_next.png | Bin 251 -> 0 bytes .../res/drawable-mdpi/ic_skip_previous.png | Bin 250 -> 0 bytes .../src/main/res/drawable-mdpi/ic_stop.png | Bin 122 -> 0 bytes .../res/drawable-xhdpi/ic_action_stop.png | Bin 0 -> 778 bytes .../src/main/res/drawable-xhdpi/ic_pause.png | Bin 220 -> 0 bytes .../main/res/drawable-xhdpi/ic_play_arrow.png | Bin 410 -> 0 bytes .../main/res/drawable-xhdpi/ic_skip_next.png | Bin 456 -> 0 bytes .../res/drawable-xhdpi/ic_skip_previous.png | Bin 440 -> 0 bytes .../src/main/res/drawable-xhdpi/ic_stop.png | Bin 181 -> 0 bytes .../res/drawable-xxhdpi/ic_action_stop.png | Bin 0 -> 810 bytes .../src/main/res/drawable-xxhdpi/ic_pause.png | Bin 302 -> 0 bytes .../res/drawable-xxhdpi/ic_play_arrow.png | Bin 683 -> 0 bytes .../main/res/drawable-xxhdpi/ic_skip_next.png | Bin 734 -> 0 bytes .../res/drawable-xxhdpi/ic_skip_previous.png | Bin 723 -> 0 bytes .../src/main/res/drawable-xxhdpi/ic_stop.png | Bin 228 -> 0 bytes .../res/drawable-xxxhdpi/ic_action_stop.png | Bin 0 -> 1351 bytes .../main/res/drawable-xxxhdpi/ic_pause.png | Bin 316 -> 0 bytes .../res/drawable-xxxhdpi/ic_play_arrow.png | Bin 807 -> 0 bytes .../res/drawable-xxxhdpi/ic_skip_next.png | Bin 983 -> 0 bytes .../res/drawable-xxxhdpi/ic_skip_previous.png | Bin 953 -> 0 bytes .../src/main/res/drawable-xxxhdpi/ic_stop.png | Bin 304 -> 0 bytes .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 1506 -> 1528 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 1856 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 3234 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 1191 -> 1026 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 1333 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2021 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 1951 -> 2139 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 2643 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 4469 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 2579 -> 3363 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 4448 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 7188 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 3491 -> 4917 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 6568 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 10401 bytes .../res/values/ic_launcher_background.xml | 4 + .../src/main/res/xml/automotive_app_desc.xml | 3 + assets/favorites_thumb.jpg | Bin 0 -> 1512 bytes lib/api/deezer.dart | 17 + lib/api/definitions.dart | 32 +- lib/api/definitions.g.dart | 2 + lib/api/download.dart | 73 +- lib/api/player.dart | 114 ++- lib/api/spotify.dart | 2 +- lib/languages/ar_ar.dart | 171 ++++ lib/languages/de_de.dart | 190 ++++ lib/languages/en_us.dart | 187 ++++ lib/languages/it_it.dart | 192 ++++ lib/languages/pt_br.dart | 169 ++++ lib/languages/ru_ru.dart | 190 ++++ lib/main.dart | 124 +-- lib/settings.dart | 4 + lib/settings.g.dart | 2 + lib/translations.i18n.dart | 24 + lib/ui/android_auto.dart | 216 +++++ lib/ui/cached_image.dart | 8 + lib/ui/details_screens.dart | 91 +- lib/ui/downloads_screen.dart | 32 +- lib/ui/error.dart | 3 +- lib/ui/home_screen.dart | 3 +- lib/ui/importer_screen.dart | 26 +- lib/ui/library.dart | 81 +- lib/ui/login_screen.dart | 27 +- lib/ui/menu.dart | 78 +- lib/ui/player_bar.dart | 2 +- lib/ui/player_screen.dart | 14 +- lib/ui/search.dart | 64 +- lib/ui/settings_screen.dart | 179 ++-- pubspec.lock | 878 ++++++++++++++++++ pubspec.yaml | 13 +- 88 files changed, 2911 insertions(+), 379 deletions(-) create mode 100644 android/app/src/main/ic_launcher-playstore.png create mode 100644 android/app/src/main/res/drawable-hdpi/ic_action_stop.png delete mode 100644 android/app/src/main/res/drawable-hdpi/ic_pause.png delete mode 100644 android/app/src/main/res/drawable-hdpi/ic_play_arrow.png delete mode 100644 android/app/src/main/res/drawable-hdpi/ic_skip_next.png delete mode 100644 android/app/src/main/res/drawable-hdpi/ic_skip_previous.png delete mode 100644 android/app/src/main/res/drawable-hdpi/ic_stop.png create mode 100644 android/app/src/main/res/drawable-mdpi/ic_action_stop.png delete mode 100644 android/app/src/main/res/drawable-mdpi/ic_pause.png delete mode 100644 android/app/src/main/res/drawable-mdpi/ic_play_arrow.png delete mode 100644 android/app/src/main/res/drawable-mdpi/ic_skip_next.png delete mode 100644 android/app/src/main/res/drawable-mdpi/ic_skip_previous.png delete mode 100644 android/app/src/main/res/drawable-mdpi/ic_stop.png create mode 100644 android/app/src/main/res/drawable-xhdpi/ic_action_stop.png delete mode 100644 android/app/src/main/res/drawable-xhdpi/ic_pause.png delete mode 100644 android/app/src/main/res/drawable-xhdpi/ic_play_arrow.png delete mode 100644 android/app/src/main/res/drawable-xhdpi/ic_skip_next.png delete mode 100644 android/app/src/main/res/drawable-xhdpi/ic_skip_previous.png delete mode 100644 android/app/src/main/res/drawable-xhdpi/ic_stop.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/ic_action_stop.png delete mode 100644 android/app/src/main/res/drawable-xxhdpi/ic_pause.png delete mode 100644 android/app/src/main/res/drawable-xxhdpi/ic_play_arrow.png delete mode 100644 android/app/src/main/res/drawable-xxhdpi/ic_skip_next.png delete mode 100644 android/app/src/main/res/drawable-xxhdpi/ic_skip_previous.png delete mode 100644 android/app/src/main/res/drawable-xxhdpi/ic_stop.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/ic_action_stop.png delete mode 100644 android/app/src/main/res/drawable-xxxhdpi/ic_pause.png delete mode 100644 android/app/src/main/res/drawable-xxxhdpi/ic_play_arrow.png delete mode 100644 android/app/src/main/res/drawable-xxxhdpi/ic_skip_next.png delete mode 100644 android/app/src/main/res/drawable-xxxhdpi/ic_skip_previous.png delete mode 100644 android/app/src/main/res/drawable-xxxhdpi/ic_stop.png create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/values/ic_launcher_background.xml create mode 100644 android/app/src/main/res/xml/automotive_app_desc.xml create mode 100644 assets/favorites_thumb.jpg create mode 100644 lib/languages/ar_ar.dart create mode 100644 lib/languages/de_de.dart create mode 100644 lib/languages/en_us.dart create mode 100644 lib/languages/it_it.dart create mode 100644 lib/languages/pt_br.dart create mode 100644 lib/languages/ru_ru.dart create mode 100644 lib/translations.i18n.dart create mode 100644 lib/ui/android_auto.dart create mode 100644 pubspec.lock diff --git a/.gitignore b/.gitignore index e78915c..ccee263 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ android/key.properties *.iws .idea/ android/.idea/ +android/local.properties # 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 diff --git a/README.md b/README.md index 7cb3b4e..2cd1eb0 100644 --- a/README.md +++ b/README.md @@ -7,36 +7,56 @@ This app is still in BETA, so it is missing features and contains bugs. If you want to report bug or request feature, please open an issue. ## Downloads: -Under releases tab -**You might get Play Protect warning - just select install anyway or disable Play Protect** - it is because the keys used for signing this app are new. +Downloads are currently distributed in Telegram channel: https://t.me/freezereleases +**You might get Play Protect warning - just select install anyway or disable Play Protect** - it is because the keys used for signing this app are new. +**App not installed** error - try different version (arm32/64) or uninstall old version. ## Compile from source Install flutter SDK: https://flutter.dev/docs/get-started/install (Optional) Generate keys for release build: https://flutter.dev/docs/deployment/android + +Download source: +``` +git clone https://notabug.org/exttex/freezer +git submodule init +git submodule update +``` + Compile: ``` flutter pub get flutter build apk ``` -## Telegram +## Telegram group https://t.me/freezerandroid ## Credits Tobs: Beta tester Bas Curtiz: Icon, Logo, Banner, Design suggestions Deemix: https://notabug.org/RemixDev/deemix -just_audio && audio_service: https://github.com/ryanheise/just_audio +Annexhack: Android Auto help and resources + +### Translators: +Homam Al-Rawi: Arabic +Markus: German +Andrea: Italian +Diego Hiro: Portuguese +Annexhack: Russian + +### just_audio, audio_service +This app depends on modified just_audio and audio_service plugins with Deezer support. +Both plugins were originally written by ryanheise, all credits to him. +Forked versions for Freezer: +https://notabug.org/exttex/just_audio/ +https://notabug.org/exttex/audio_service/ ## Support me BTC: `14hcr4PGbgqeXd3SoXY9QyJFNpyurgrL9y` ETH: `0xb4D1893195404E1F4b45e5BDA77F202Ac4012288` -## just_audio -This app depends on modified just_audio plugin with Deezer support. -The fork repo is deprecated, current version available in this repo. ## Disclaimer ``` diff --git a/android/app/build.gradle b/android/app/build.gradle index 9d6c556..e90334e 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -41,7 +41,7 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "f.f.freezer" - minSdkVersion 20 + minSdkVersion 21 targetSdkVersion 28 versionCode flutterVersionCode.toInteger() versionName flutterVersionName diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index c6b0906..e7094bd 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -31,6 +31,7 @@ android:name="io.flutter.embedding.android.NormalTheme" android:resource="@style/NormalTheme" /> +