"Total size of downloaded podcasts" might be interpreted as the total cumulative size of all episodes ever downloaded. This is to improve the string so it's clear that it's about the episodes currently on the device.
This removes the need for the -PfreeBuild flag to gradle, and makes
assemblePlay and assembleDebug build all flavours without errors again.
Changed circleci config back accordingly and removed comment about
-PfreeBuild. Based on #4457.
The Free build bundles a modern Conscrypt which means TLSv1.3 is always
guaranteed no matter android version. So it can always be enabled. Since
it also provides modern cipher suites, there is no need to enable older
protocols than TLSv1.2 (that is: SSLv3, TLSv1.0 and TLSv1.1 which are
all now deprecated).
And the support for modern cipher suites also means there is no need to
explicitly enable the following (obsolete+unsafe) ciphers suites:
* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
* TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
on Android API < 21 (Android < 5.0).
No changes are made to the Play builds (since the available security
provider can't be guaranteed to support modern protocols and cipher
suites).
Changed the gradlew build targets assembleRelease to assemblePlayRelease
and assembleDebug to assemblePlayDebug, because the old targets causes
files for the free builds to get compiled when not needed. It's
unnecessary and also done without -PfreeBuild which gives build errors.
These are also the targets used in makeRelease.sh, so the workflow
should better match the expected.
This fixes protocol and cipher errors on older versions of android
without requiring Google API/Services (which are non-free) to replace
the security provider from the OS. No changes are made to Play builds.
The value of conscryptVersion in build.gradle should be updated
regularly to keep the bundled version of conscrypt up to date (or
changed to "latest.release", which will cause issues with verifying
reproducible builds).
Fixes: #2814 (for users of free builds)