## Description
Dependabot does not support (yet) upgrading the Gradle wrapper thus it
needs to be updated/upgraded manually.
## Changes:
* Upgrade gradle wrapper to version `8.5`
See also: https://github.com/dependabot/dependabot-core/issues/2223
Refactor code inside `if-else` blocks that checks for versions that are
no longer relevant.
Few lines could be deleted some others were just un-wrapped from the
if-else blocks.
The `if-else` blocks inside `PRNGFixes` file were left out as this file
is should be deleted in
https://github.com/syncthing/syncthing-android/pull/2036
The security workarounds contained in the `PRNGFixes` class were needed
for devices older Android APIs (16, 17, 18) while the current min sdk
API is 21.
Therefore this workaround is no longer needed.
## Description:
Refactor gradle build files to use Kotlin DSL instead of Groovy.
There were also a bash script and a python script that needed to be
updated because they relied on parsing the `build.gradle` files written
in Groovy.
This PR completes the work started in:
https://github.com/syncthing/syncthing-android/pull/2000
Lollipop, API 21, has been the min sdk version for over a year in this
project.
There were still some conditions in the code, which checked for api 21,
that can be removed or simplified.
Bumps [com.google.guava:guava](https://github.com/google/guava) from
32.1.2-android to 32.1.3-android.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/guava/releases">com.google.guava:guava's
releases</a>.</em></p>
<blockquote>
<h2>32.1.3</h2>
<h3>Maven</h3>
<pre lang="xml"><code><dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.1.3-jre</version>
<!-- or, for Android: -->
<version>32.1.3-android</version>
</dependency>
</code></pre>
<h3>Jar files</h3>
<ul>
<li><a
href="https://repo1.maven.org/maven2/com/google/guava/guava/32.1.3-jre/guava-32.1.3-jre.jar">32.1.3-jre.jar</a></li>
<li><a
href="https://repo1.maven.org/maven2/com/google/guava/guava/32.1.3-android/guava-32.1.3-android.jar">32.1.3-android.jar</a></li>
</ul>
<p>Guava requires <a
href="https://github.com/google/guava/wiki/UseGuavaInYourBuild#what-about-guavas-own-dependencies">one
runtime dependency</a>, which you can download here:</p>
<ul>
<li><a
href="https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar">failureaccess-1.0.1.jar</a></li>
</ul>
<h3>Javadoc</h3>
<ul>
<li><a
href="http://guava.dev/releases/32.1.3-jre/api/docs/">32.1.3-jre</a></li>
<li><a
href="http://guava.dev/releases/32.1.3-android/api/docs/">32.1.3-android</a></li>
</ul>
<h3>JDiff</h3>
<ul>
<li><a href="http://guava.dev/releases/32.1.3-jre/api/diffs/">32.1.3-jre
vs. 32.1.2-jre</a></li>
<li><a
href="http://guava.dev/releases/32.1.3-android/api/diffs/">32.1.3-android
vs. 32.1.2-android</a></li>
<li><a
href="http://guava.dev/releases/32.1.3-android/api/androiddiffs/">32.1.3-android
vs. 32.1.3-jre</a></li>
</ul>
<h3>Changelog</h3>
<ul>
<li>Changed Gradle Metadata to include dependency versions directly.
This may address <a
href="https://redirect.github.com/google/guava/issues/6657">"Could
not find <code>some-dependency</code>" errors</a> that some users
have reported (which might be a result of users' excluding
<code>guava-parent</code>). (c6d35cf1a5)</li>
<li><code>collect</code>: Changed
<code>Multisets.unmodifiableMultiset(set).removeIf(predicate)</code> to
throw an exception always, even if nothing matches
<code>predicate</code>. (61dbccfda3)</li>
<li><code>graph</code>: Fixed the behavior of
<code>Graph</code>/<code>ValueGraph</code> views for a node when that
node is removed from the graph. (950799691c)</li>
<li><code>io</code>: Fixed <code>Files.createTempDir</code> and
<code>FileBackedOutputStream</code> under <a
href="https://redirect.github.com/google/guava/issues/6634">Windows
<em>services</em>, a rare use case</a>. (The fix actually covers only
Java 9+ because Java 8 would require an additional approach. Let us know
if you need support under Java 8.) (f87f68cd3e)</li>
<li><code>net</code>: Made <code>MediaType.parse</code> allow and skip
over whitespace around the <code>/</code> and <code>=</code> separator
tokens in addition to the <code>;</code> separator, for which it was
already being allowed. (2786f83291)</li>
<li><code>util.concurrent</code>: Tweaked
<code>Futures.getChecked</code> constructor-selection behavior: The
method continues to prefer to call constructors with a
<code>String</code> parameter, but now it breaks ties based on whether
the constructor has a <code>Throwable</code> parameter. Beyond that, the
choice of constructor remains undefined. (For this and other reasons, we
discourage the use of <code>getChecked</code>.) (59cfb2267a)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/google/guava/commits">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.google.guava:guava&package-manager=gradle&previous-version=32.1.2-android&new-version=32.1.3-android)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
`StrictMode` makes sense mainly in for debug build types, enabling
it for release does not provide any value as it can add additional overhead and its logs going to be removed (because R8 strips them).