## 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.
## Changes
* get rid of the JCenter repository
* centralize repository declaration for all projects in project settings
* refactor `build.gradle` and `settings.gradle` from Groovy syntax to
Kotlin DSL (thus replacing those files with `build.gradle.kts` and
`settings.gradle.kts` respectively)
The remaining `build.gradle` files are refactored in:
https://github.com/syncthing/syncthing-android/pull/2022
## 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>