### Description
Make the Statistics screen a top-level navigation destination in the
drawer and bottom navigation, instead of being hidden behind the
Subscriptions overflow menu. This makes it easier to discover and
reflects that statistics aren't just about subscriptions.
Fixes#8310
### Checklist
<!--
To help us keep the issue tracker clean and work as efficient as
possible,
please make sure that you have done all of the following.
You can tick the boxes below by placing an x inside the brackets like
this: [x]
-->
- [x] I have read the contribution guidelines:
https://github.com/AntennaPod/AntennaPod/blob/develop/CONTRIBUTING.md#submit-a-pull-request
- [x] I have performed a self-review of my code, going through my
changes line by line and carefully considering why this line change is
necessary
- [x] I have run the automated code checks using `./gradlew checkstyle
spotbugsPlayDebug spotbugsDebug :app:lintPlayDebug`
- [x] My code follows the style guidelines of the AntennaPod project:
https://antennapod.org/contribute/develop/app/code-style
- [x] I have mentioned the corresponding issue and the relevant keyword
(e.g., "Closes: #xy") in the description (see
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
- [x] If it is a core feature, I have added automated tests
### Description
This is handled by the website now.
Closes: #8271
### Checklist
<!--
To help us keep the issue tracker clean and work as efficient as
possible,
please make sure that you have done all of the following.
You can tick the boxes below by placing an x inside the brackets like
this: [x]
-->
- [x] I have read the contribution guidelines:
https://github.com/AntennaPod/AntennaPod/blob/develop/CONTRIBUTING.md#submit-a-pull-request
- [x] I have performed a self-review of my code, going through my
changes line by line and carefully considering why this line change is
necessary
- [x] I have run the automated code checks using `./gradlew checkstyle
spotbugsPlayDebug spotbugsDebug :app:lintPlayDebug`
- [x] My code follows the style guidelines of the AntennaPod project:
https://antennapod.org/contribute/develop/app/code-style
- [x] I have mentioned the corresponding issue and the relevant keyword
(e.g., "Closes: #xy") in the description (see
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
- [ ] If it is a core feature, I have added automated tests
---------
Co-authored-by: cumeowlus <rm98@hotmail.fr>
### Description
Remove Android 5 support. For supporting Chromecast playback via media3,
we need to upgrade the media3 library. This library no longer supports
Android 5, so we need to bump our minimum version as well. Only 0.13% of
our Google Play users are still on this ancient Android version released
in 2014. Dropping support seems okay now, especially considering that no
one should expose such an old device to the internet anymore. The app
will continue to work on Android 5 but will not receive updates anymore.
### Checklist
<!--
To help us keep the issue tracker clean and work as efficient as
possible,
please make sure that you have done all of the following.
You can tick the boxes below by placing an x inside the brackets like
this: [x]
-->
- [x] I have read the contribution guidelines:
https://github.com/AntennaPod/AntennaPod/blob/develop/CONTRIBUTING.md#submit-a-pull-request
- [x] I have performed a self-review of my code
- [x] I have run the automated code checks using `./gradlew checkstyle
spotbugsPlayDebug spotbugsDebug :app:lintPlayDebug`
- [x] My code follows the style guidelines of the AntennaPod project:
https://antennapod.org/contribute/develop/app/code-style
- [x] I have mentioned the corresponding issue and the relevant keyword
(e.g., "Closes: #xy") in the description (see
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
- [x] If it is a core feature, I have added automated tests
In my user test I had the following feedback:
- They were confused that some settings are on the feed settings screen and some are in the overflow menu. It was not clear which one to look at when wanting to change a setting. I think we should consistently move all settings to the settings screen.
- Confusion about authentication settings: They asked if they need to create an AntennaPod account now (even though there is no such thing as an AntennaPod account)
Actions taken:
- Moved the authentication settings item to the very bottom
- Grouped settings by category
- Moved rename function from overflow menu to settings screen. It is likely not so frequently used: once you set it up once, you never need to change it again. So you don't need to see it every day
Fix device surface colors leaking into default blue theme. Selecting a non-blue system wide accent color made the AntennaPod default colors all mixed up.
Defer findFragmentByTag until onPageScrollStateChange (SCROLL_STATE_IDLE), as the FragmentManager isn’t ready on the first call to onPageSelected (when first switching tabs).
First this commit improves the threshold at which the icon color is
changed. We now ask the collapsing toolbar at which size it will be
collapsed instead of guessing.
Second, this commit also sets the appbar title (when collapsed) to the
podcast name in the podcast episode view.
* Improve search bar design on add podcast screen
The search bar now looks more up to date with modern android styles.
* Fix colorPrimaryContainer in default color schemes
The color should be usable as the background for containers with a tint
of the accent color, but it was set to the full accent color.
Now it is much more in line with how it should work.
There has been some regression that the error icon in the drawer was
just a circle instead of the the exclamation mark.
The error occurred because the icon was modified to have a background
circle once it was added to the subscription screens. However, in the
drawer a icon tint was applied which now also tinted the background
and made now only the background show.
- Run Checkstyle with gradle to make it easier for users
- No longer needs different configuration for new code
- Exclude current violations
- Fix some violations that somehow couldn't be specified in the exclusion file
- Print SpotBugs/Lint/Checkstly violations in GitHub format
- Then the CI run gets annotated on the web UI