Skip to content

Commit

Permalink
Merge branch '1.0.8'
Browse files Browse the repository at this point in the history
  • Loading branch information
nt4f04uNd committed Apr 6, 2023
2 parents d35a51d + 127316a commit 8693ebe
Show file tree
Hide file tree
Showing 349 changed files with 11,003 additions and 6,602 deletions.
2 changes: 2 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[*.dart]
max_line_length = 120
2 changes: 1 addition & 1 deletion .fvm/fvm_config.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"flutterSdkVersion": "2.10.3",
"flutterSdkVersion": "3.0.2",
"flavors": {}
}
2 changes: 1 addition & 1 deletion .github/workflows/build_and_test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ inputs:
description: The channel of the Flutter used to build Sweyer with.
flutter_version:
required: false
default: "2.10.5"
default: "3.0.2"
description: The version of Flutter used to build Sweyer with.
testing_arguments:
required: false
Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/sweyer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,5 @@ jobs:
with:
testing_arguments: --coverage

- name: 📊 Check Code Coverage
uses: VeryGoodOpenSource/very_good_coverage@v1
with:
path: coverage/lcov.info
min_coverage: 0
- name: ☂ Upload Code Coverage
uses: codecov/codecov-action@v3
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
*.ipr
*.iws
.idea/
!.idea/codeStyles/

# 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
Expand Down Expand Up @@ -76,15 +77,22 @@

# Ignore key props
key.properties
**/*.keystore
**/*.jks

# gen_l10n untranslated messages output, see l10n.yaml
untranslated-messages.txt

.fvm/flutter_sdk

# ignore golden failure outputs
# Ignore golden failure outputs
**/failures/*.png

# Coverage results
coverage

.project
.classpath
.settings

temp/
120 changes: 120 additions & 0 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"flutterMode": "release"
},
{
"name": "Golden",
"name": "golden",
"request": "launch",
"type": "dart",
"codeLens": {
Expand Down
9 changes: 4 additions & 5 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,9 @@
"titleBar.inactiveForeground": "#e7e7e799",
"sash.hoverBorder": "#a280ff",
"statusBarItem.remoteBackground": "#7c4dff",
"statusBarItem.remoteForeground": "#e7e7e7"
"statusBarItem.remoteForeground": "#e7e7e7",
"commandCenter.border": "#e7e7e799"
},
"peacock.color": "#7c4dff",
"[dart]": {
"editor.defaultFormatter": "Dart-Code.flutter",
},
}
"dart.lineLength": 120,
}
2 changes: 1 addition & 1 deletion .vscode/sweyer.code-snippets
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"prefix": "_iconst",
"description": "Import constants module shortcut",
"body": [
"import 'package:sweyer/constants.dart' as Constants;"
"import 'package:sweyer/constants.dart' as constants;"
],
},
"Import application": {
Expand Down
56 changes: 53 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,52 @@
[@Abestanis]: https://github.com/Abestanis

## 1.0.8

All the work related to this version can be found in this [project](https://github.com/users/nt4f04uNd/projects/4/views/1)

### Enhancements:
- [Added favorites](https://github.com/nt4f04uNd/sweyer/pull/34) **(@nt4f04und)**
- Also [allow to keep favorites when enabling/disabling using the MediaStore favorites](https://github.com/nt4f04uNd/sweyer/pull/71) by **[@Abestanis]**
- [Added "Player color theme" setting](https://github.com/nt4f04uNd/sweyer/pull/79) **(@nt4f04und)**
- [Added German language support](https://github.com/nt4f04uNd/sweyer/pull/25) **([@Abestanis])**
- [Changed notification stop icon](https://github.com/nt4f04uNd/sweyer/pull/56) **([@Abestanis])**
- [Sort album tracks](https://github.com/nt4f04uNd/sweyer/pull/72) **([@Abestanis])**
- [Add setting to disable back button exit confirmation on home page](https://github.com/nt4f04uNd/sweyer/pull/26) **([@Abestanis])**
- [Hide gear button on selection screen](https://github.com/nt4f04uNd/sweyer/pull/50) **([@Abestanis])**

### Bug fixes:
- [Fixed back button on dialogs](https://github.com/nt4f04uNd/sweyer/pull/58) **([@Abestanis])**
- [Fix splash screen animation](https://github.com/nt4f04uNd/sweyer/pull/30) **([@Abestanis])**
- [Fix design bug on search page](https://github.com/nt4f04uNd/sweyer/pull/29) **([@Abestanis])**
- [Fix visual bug in song tiles (1)](https://github.com/nt4f04uNd/sweyer/pull/51) **([@Abestanis])**
- [Fix visual bug in song tiles (2)](https://github.com/nt4f04uNd/sweyer/pull/52) **([@Abestanis])**
- [Fix visual bug in song tiles (3)](https://github.com/nt4f04uNd/sweyer/pull/59) **([@Abestanis])**
- [Fix opening the search page from a search query](https://github.com/nt4f04uNd/sweyer/pull/55) **([@Abestanis])**
- [Fix not updating the player notification when stopping playback](https://github.com/nt4f04uNd/sweyer/pull/57) **([@Abestanis])**
- [Fix layout with various text scale factors](https://github.com/nt4f04uNd/sweyer/issues/66) **([@Abestanis], @nt4f04und)**
- [Fix selection animations](https://github.com/nt4f04uNd/sweyer/pull/69) **([@Abestanis])**
- [Add marquee in some places where text is very long](https://github.com/nt4f04uNd/sweyer/pull/82) **(@nt4f04und)**
- [Show scrollbars in places where need to indicate to user that area is scrollable (for example, selection actions bar)](https://github.com/nt4f04uNd/sweyer/pull/82) **(@nt4f04und)**
- [Fix - content art for playlist now shows correct default icon for songs without content art](https://github.com/nt4f04uNd/sweyer/pull/82) **(@nt4f04und)**
- [Fix layout related to max lines in album/playlist pages](https://github.com/nt4f04uNd/sweyer/pull/82) **(@nt4f04und)**
- Some debug features
- Other bug fixes

### Not important for users:
- [Add bug and feature request templates to issues](https://github.com/nt4f04uNd/sweyer/pull/39) **([@Abestanis])**
- [Add readme Google Play store badge](https://github.com/nt4f04uNd/sweyer/pull/64) **([@Abestanis])**
- [Unit and golden tests](https://github.com/nt4f04uNd/sweyer/pull/21) **(@nt4f04und, [@Abestanis])**
- [Refactor the content type system](https://github.com/nt4f04uNd/sweyer/pull/70) **([@Abestanis])**
- [Flutter 3 migration](https://github.com/nt4f04uNd/sweyer/pull/61) **(@nt4f04und)**
- [Rewrite theme with ThemeExtensions](https://github.com/nt4f04uNd/sweyer/issues/79) **(@nt4f04und)**
- CI
- [Setup CI](https://github.com/nt4f04uNd/sweyer/pull/21) **(@nt4f04und)**
- [Golden test files update workflow](https://github.com/nt4f04uNd/sweyer/pull/35) **([@Abestanis])**
- [Codecov](https://github.com/nt4f04uNd/sweyer/pull/32) [![Codecov](https://codecov.io/gh/nt4f04uNd/sweyer/branch/master/graph/badge.svg)](https://codecov.io/gh/nt4f04uNd/sweyer) **([@Abestanis])**
- [Use Lottie instead of Flare and update some dependencies](https://github.com/nt4f04uNd/sweyer/pull/63) **([@Abestanis])**
- [Optimize Android assets](https://github.com/nt4f04uNd/sweyer/pull/68) **([@Abestanis])**
- [Fix typos](https://github.com/nt4f04uNd/sweyer/pull/65) **([@Abestanis])**

## 1.0.7

- Fix bug that localization didn't fallback to English as a default language
Expand Down Expand Up @@ -36,7 +85,7 @@
was saved only for the current app session, when it was added, and was not restored.
- Optimized scrollbar and listviews
- Became media browser service, support for Android Auto
- Fixed that album arts were not recached (below Android 10)
- Fixed that album arts were not re-cached (below Android 10)
- Refactored a lot of code and fixed a lot of other bugs
- Changed player backend (non-UX)

Expand All @@ -45,7 +94,7 @@
- localization (ru, en)
- revamped design, changed logo, some fancy animations
- ability to change primary color in theme settings
- bottom bar is now swipable
- bottom bar is now swipeable
- sidebar can be swiped out from any place on the screen
- albums
- queue system
Expand All @@ -54,4 +103,5 @@
## 1.0.0

- basic playback
- dark and light theme
- dark and light theme

69 changes: 69 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
## Code style

The repo has a set of lints in [analysis_options](https://github.com/nt4f04uNd/sweyer/blob/master/analysis_options.yaml),
which are based of [flutter_lints](https://pub.dev/packages/flutter_lints) (with some tunes), and
that enforce the style that I'm following, so just following
them and the code that you see around you should be fine.

The project is also using auto dart formatter with line break
limit set to 120 characters (instead of default 80).

VSCode workspace is already configured to use 120 line break automatically.

Android Studio's default formatter unfortunately adds its own rules beyond
regular `flutter format`, so please only use the `Reformat Code with 'dart format'`
action for formatting.

To run it from console, use this command

```flutter format -l 120 .```

## Tests and golden tests

After you made some changes, run the tests

```shell
flutter test
```

This will run regular automated tests located in `test/` folder,
as well as golden tests, located in `test/golden`.

If you find that some automated tests failed - fix them.

If you find that some golden tests failed, ensure that those changes
are indeed expected, and if no - adjust your code, if yes - update
golden tests files.

## Updating golden tests

Because Flutter golden files are platform-specific, the golden files will vary slightly depending
on what platform you are using. To avoid creating unnecessary changes and to have the golden tests
consistent on the continuous integration tests, they should only be regenerated on Linux.

You can update golden tests files locally on Linux just by running
```shell
flutter test --update-goldens
```

To update the golden tests from Windows or MacOS, run the
[`Update Goldens`](https://github.com/nt4f04uNd/sweyer/actions/workflows/update_goldens.yml)
workflow on GitHub **in your fork**. Unless you are a collaborator, you can't run it on the main
repository. In the popup, choose on which branch the goldens should be updated and whether
the workflow should automatically create a commit on that branch with the updated golden artifacts:

![The workflow site on GitHub](static_assets/readme/run_update_goldens_workflow.png)

The workflow also uploads a `golden-test-updated` artifact, which will contain the generated
golden files:

![The workflow result site on GitHub](static_assets/readme/update_goldens_workflow_result.png)

If you left the auto-commit option unchecked, those new files can be put into `test/golden/goldens`
folder and manually pushed to your PR.

## Coverage [![Codecov](https://codecov.io/gh/nt4f04uNd/sweyer/branch/master/graph/badge.svg)](https://codecov.io/gh/nt4f04uNd/sweyer)

Coverage measures which lines of code are covered during the tests. It shows which part of the
code is untested. When adding a new feature, a test must be added to verify the new feature and to
avoid reducing the test coverage.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ An open-source non-commercial music player built with Flutter
For the time being it's Android-only and I have no plans to support other platforms, however
I don't mind accepting someone's PR tweaking this

#### A huge thank you to the contributors! ❤️
- [@Abestanis](https://github.com/Abestanis)

[<img height="90px" alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png'/>](https://play.google.com/store/apps/details?id=com.nt4f04und.sweyer)

<img alt="" src="./static_assets/readme/feature_graphic.png"></div>

<img alt="" src="./static_assets/readme/1.jpg" width="25%"><img alt="" src="./static_assets/readme/2.jpg" width="25%" /><img alt="" src="./static_assets/readme/3.jpg" width="25%" /><img alt="" src="./static_assets/readme/4.jpg" width="25%" />
Loading

0 comments on commit 8693ebe

Please sign in to comment.