Compare commits
2 Commits
9d0e9e2c19
...
6e220073d8
Author | SHA1 | Date |
---|---|---|
Pato05 | 6e220073d8 | |
Pato05 | cb05247b5d |
100
README.md
100
README.md
|
@ -1,62 +1,38 @@
|
|||
# freezer
|
||||
|
||||
Free, unlimited, without DRM music streaming app, which uses Deezer as backend.
|
||||
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:
|
||||
Downloads are currently distributed in [Telegram channel](https://t.me/freezereleases) and the [Freezer website](https://www.freezer.life/)
|
||||
**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://git.freezer.life/exttex/freezer
|
||||
git submodule init
|
||||
git submodule update
|
||||
```
|
||||
|
||||
Compile:
|
||||
```
|
||||
flutter pub get
|
||||
flutter build apk
|
||||
```
|
||||
NOTE: You have to use own keys, or build debug using `flutter build apk --debug`
|
||||
|
||||
## Links
|
||||
Telegram group: https://t.me/freezerandroid
|
||||
Discord server: https://discord.gg/7ap654Tp3z
|
||||
|
||||
|
||||
## Credits
|
||||
**Tobs**: Beta tester
|
||||
**Xandar**: Community manager, helper, tester
|
||||
**Bas Curtiz**: Icon, Logo, Banner, Design suggestions
|
||||
**Deemix**: https://git.rip/RemixDev/deemix/
|
||||
**Annexhack**: Android Auto help and resources
|
||||
|
||||
**Huge thanks to all the Crowdin translators and all the contributors to this project <3**
|
||||
|
||||
### 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://git.rip/freezer/just_audio
|
||||
https://git.rip/freezer/audio_service
|
||||
|
||||
## Support me
|
||||
BTC: `14hcr4PGbgqeXd3SoXY9QyJFNpyurgrL9y`
|
||||
ETH: `0xb4D1893195404E1F4b45e5BDA77F202Ac4012288`
|
||||
|
||||
|
||||
## Disclaimer
|
||||
```
|
||||
Freezer was not developed for piracy, but educational and private usage.
|
||||
It may be illegal to use this in your country!
|
||||
I am not responsible in any way for the usage of this app.
|
||||
```
|
||||
# freezer
|
||||
|
||||
Free, unlimited, without DRM music streaming app, which uses Deezer as backend.
|
||||
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:
|
||||
|
||||
Downloads are distributed in [Telegram channel](https://t.me/+lm3uxdt8exgzODA0).
|
||||
|
||||
## 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://fem.mint.lgbt/pato05/freezer.git
|
||||
```
|
||||
|
||||
Compile:
|
||||
|
||||
```
|
||||
flutter pub get
|
||||
flutter pub run build_runner build
|
||||
flutter build apk # or windows/linux
|
||||
```
|
||||
|
||||
NOTE: You have to use own keys, or build debug using `flutter build apk --debug`
|
||||
|
||||
## Disclaimer
|
||||
|
||||
```
|
||||
Freezer was not developed for piracy, but educational and private usage.
|
||||
It may be illegal to use this in your country!
|
||||
I am not responsible in any way for the usage of this app.
|
||||
```
|
||||
|
|
|
@ -10,7 +10,8 @@ import 'package:window_manager/window_manager.dart';
|
|||
|
||||
final sysTray = SysTray._();
|
||||
|
||||
class SysTray with TrayListener {
|
||||
/// Handles system tray and window events
|
||||
class SysTray with TrayListener, WindowListener {
|
||||
SysTray._();
|
||||
|
||||
static String getIcon({bool forcePng = false}) {
|
||||
|
@ -33,6 +34,8 @@ class SysTray with TrayListener {
|
|||
if (_inited) return;
|
||||
_inited = true;
|
||||
|
||||
windowManager.addListener(this);
|
||||
|
||||
updateIcon();
|
||||
try {
|
||||
await trayManager.setToolTip('freezer');
|
||||
|
@ -65,22 +68,19 @@ class SysTray with TrayListener {
|
|||
MenuItem.separator(),
|
||||
MenuItem(
|
||||
label: 'Previous'.i18n,
|
||||
onClick: (menuItem) => audioHandler.skipToPrevious()),
|
||||
onClick: (_) => audioHandler.skipToPrevious()),
|
||||
playing
|
||||
? MenuItem(
|
||||
label: 'Pause'.i18n, onClick: (menuItem) => audioHandler.pause())
|
||||
: MenuItem(
|
||||
label: 'Play'.i18n, onClick: (menuItem) => audioHandler.play()),
|
||||
MenuItem(
|
||||
label: 'Next'.i18n, onClick: (menuItem) => audioHandler.skipToNext()),
|
||||
? MenuItem(label: 'Pause'.i18n, onClick: (_) => audioHandler.pause())
|
||||
: MenuItem(label: 'Play'.i18n, onClick: (_) => audioHandler.play()),
|
||||
MenuItem(label: 'Next'.i18n, onClick: (_) => audioHandler.skipToNext()),
|
||||
MenuItem.separator(),
|
||||
MenuItem(
|
||||
label: 'Show'.i18n,
|
||||
// we can safely ignore it if it errors, as it's expected
|
||||
onClick: (menuItem) => windowManager.show().catchError((e) {})),
|
||||
onClick: (_) => windowManager.show().catchError((e) {})),
|
||||
MenuItem(
|
||||
label: 'Exit'.i18n,
|
||||
onClick: (menuItem) async {
|
||||
onClick: (_) async {
|
||||
await audioHandler.pause();
|
||||
SystemNavigator.pop();
|
||||
},
|
||||
|
@ -103,5 +103,8 @@ class SysTray with TrayListener {
|
|||
void onTrayIconRightMouseUp() => trayManager.popUpContextMenu();
|
||||
|
||||
@override
|
||||
void onTrayMenuItemClick(MenuItem menuItem) {}
|
||||
void onWindowClose() {
|
||||
// release resources before closing
|
||||
audioHandler.stop();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue