diff --git a/.github/workflows/assembleFlavors.yml b/.github/workflows/assembleFlavors.yml
index 2fb822451f79..d2d6f02f4ca4 100644
--- a/.github/workflows/assembleFlavors.yml
+++ b/.github/workflows/assembleFlavors.yml
@@ -19,9 +19,9 @@ jobs:
matrix:
flavor: [ Generic, Gplay, Huawei ]
steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: set up JDK 17
- uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4
+ uses: actions/setup-java@9704b39bf258b59bc04b50fa2dd55e9ed76b47a8 # v4.1.0
with:
distribution: "temurin"
java-version: 17
diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml
index e61731c43946..5ff5ea5d49fc 100644
--- a/.github/workflows/check.yml
+++ b/.github/workflows/check.yml
@@ -19,9 +19,9 @@ jobs:
matrix:
task: [ detekt, spotlessKotlinCheck ]
steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up JDK 17
- uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4
+ uses: actions/setup-java@9704b39bf258b59bc04b50fa2dd55e9ed76b47a8 # v4.1.0
with:
distribution: "temurin"
java-version: 17
diff --git a/.github/workflows/detectWrongSettings.yml b/.github/workflows/detectWrongSettings.yml
index b3355a911ad8..532c77e81e97 100644
--- a/.github/workflows/detectWrongSettings.yml
+++ b/.github/workflows/detectWrongSettings.yml
@@ -16,9 +16,9 @@ jobs:
runs-on: ubuntu-22.04
steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up JDK 17
- uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4
+ uses: actions/setup-java@9704b39bf258b59bc04b50fa2dd55e9ed76b47a8 # v4.1.0
with:
distribution: "temurin"
java-version: 17
diff --git a/.github/workflows/qa.yml b/.github/workflows/qa.yml
index 6b038cc013ce..ca436ccb3ce6 100644
--- a/.github/workflows/qa.yml
+++ b/.github/workflows/qa.yml
@@ -19,10 +19,10 @@ jobs:
- name: Check if secrets are available
run: echo "::set-output name=ok::${{ secrets.KS_PASS != '' }}"
id: check-secrets
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
if: ${{ steps.check-secrets.outputs.ok == 'true' }}
- name: set up JDK 17
- uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4
+ uses: actions/setup-java@9704b39bf258b59bc04b50fa2dd55e9ed76b47a8 # v4.1.0
if: ${{ steps.check-secrets.outputs.ok == 'true' }}
with:
distribution: "temurin"
diff --git a/.github/workflows/screenShotTest.yml b/.github/workflows/screenShotTest.yml
index 0f493b462f1f..5601da71dcf0 100644
--- a/.github/workflows/screenShotTest.yml
+++ b/.github/workflows/screenShotTest.yml
@@ -22,17 +22,17 @@ jobs:
color: [ blue ]
api-level: [ 27 ]
steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Gradle cache
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
- name: AVD cache
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
id: avd-cache
with:
path: |
@@ -40,7 +40,7 @@ jobs:
~/.android/adb*
key: avd-${{ matrix.api-level }}
- - uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4
+ - uses: actions/setup-java@9704b39bf258b59bc04b50fa2dd55e9ed76b47a8 # v4.1.0
with:
distribution: "temurin"
java-version: 17
diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml
index e66d442a1bfd..a10b7cdd8087 100644
--- a/.github/workflows/unit-tests.yml
+++ b/.github/workflows/unit-tests.yml
@@ -20,7 +20,7 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up JDK 17
- uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4.0.0
+ uses: actions/setup-java@9704b39bf258b59bc04b50fa2dd55e9ed76b47a8 # v4.1.0
with:
distribution: "temurin"
java-version: 17
diff --git a/app/build.gradle b/app/build.gradle
index 16f2f6753e0e..e33f3090bcf0 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -6,7 +6,7 @@ import org.gradle.internal.jvm.Jvm
buildscript {
dependencies {
classpath "com.android.tools.build:gradle:$androidPluginVersion"
- classpath 'com.github.spotbugs.snom:spotbugs-gradle-plugin:6.0.7'
+ classpath 'com.github.spotbugs.snom:spotbugs-gradle-plugin:6.0.8'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.23.5"
classpath "commons-httpclient:commons-httpclient:3.1@jar" // remove after entire switch to lib v2
@@ -275,7 +275,7 @@ dependencies {
compileOnly 'com.google.code.findbugs:annotations:3.0.1u2'
implementation 'commons-io:commons-io:2.15.1'
implementation 'org.greenrobot:eventbus:3.3.1'
- implementation 'com.googlecode.ez-vcard:ez-vcard:0.12.0'
+ implementation 'com.googlecode.ez-vcard:ez-vcard:0.12.1'
implementation 'org.lukhnos:nnio:0.3'
implementation 'org.bouncycastle:bcpkix-jdk18on:1.75'
implementation 'com.google.code.gson:gson:2.10.1'
@@ -459,14 +459,13 @@ spotbugs {
reportLevel = Confidence.valueOf('MEDIUM')
}
-tasks.withType(SpotBugsTask).configureEach { task ->
+tasks.withType(SpotBugsTask){task ->
String variantNameCap = task.name.replace("spotbugs", "")
String variantName = variantNameCap.substring(0, 1).toLowerCase() + variantNameCap.substring(1)
-
dependsOn "compile${variantNameCap}Sources"
- excludeFilter.set(file("${project.rootDir}/spotbugs-filter.xml"))
- classes = fileTree("$project.buildDir/intermediates/javac/${variantName}/classes/")
+ classes = fileTree("$project.buildDir/intermediates/javac/${variantName}/compile${variantNameCap}JavaWithJavac/classes/")
+ excludeFilter = file("${project.rootDir}/scripts/analysis/spotbugs-filter.xml")
reports {
xml {
required = true
diff --git a/app/src/main/java/com/nextcloud/client/logger/ui/LogsActivity.kt b/app/src/main/java/com/nextcloud/client/logger/ui/LogsActivity.kt
index 183b8fe00600..457e24c6efe3 100644
--- a/app/src/main/java/com/nextcloud/client/logger/ui/LogsActivity.kt
+++ b/app/src/main/java/com/nextcloud/client/logger/ui/LogsActivity.kt
@@ -39,7 +39,7 @@ import javax.inject.Inject
class LogsActivity : ToolbarActivity() {
@Inject
- protected lateinit var viewModelFactory: ViewModelFactory
+ lateinit var viewModelFactory: ViewModelFactory
@Inject
lateinit var viewThemeUtils: ViewThemeUtils
diff --git a/app/src/main/java/com/nextcloud/client/media/PlayerService.kt b/app/src/main/java/com/nextcloud/client/media/PlayerService.kt
index a7cf6bb5479c..009c51887976 100644
--- a/app/src/main/java/com/nextcloud/client/media/PlayerService.kt
+++ b/app/src/main/java/com/nextcloud/client/media/PlayerService.kt
@@ -88,10 +88,10 @@ class PlayerService : Service() {
}
@Inject
- protected lateinit var audioManager: AudioManager
+ lateinit var audioManager: AudioManager
@Inject
- protected lateinit var clientFactory: ClientFactory
+ lateinit var clientFactory: ClientFactory
@Inject
lateinit var viewThemeUtils: ViewThemeUtils
diff --git a/app/src/main/java/com/nextcloud/client/media/PlayerStateMachine.kt b/app/src/main/java/com/nextcloud/client/media/PlayerStateMachine.kt
index 5a1ece0ab382..1795fd32746a 100644
--- a/app/src/main/java/com/nextcloud/client/media/PlayerStateMachine.kt
+++ b/app/src/main/java/com/nextcloud/client/media/PlayerStateMachine.kt
@@ -25,7 +25,7 @@ import com.github.oxo42.stateless4j.delegates.Action
import com.github.oxo42.stateless4j.transitions.Transition
import java.util.ArrayDeque
-/*
+/**
* To see visual representation of the state machine, install PlanUml plugin.
* http://plantuml.com/
*
diff --git a/app/src/main/java/com/owncloud/android/syncadapter/FileSyncService.java b/app/src/main/java/com/owncloud/android/syncadapter/FileSyncService.java
index c71832088882..35477bc584a7 100644
--- a/app/src/main/java/com/owncloud/android/syncadapter/FileSyncService.java
+++ b/app/src/main/java/com/owncloud/android/syncadapter/FileSyncService.java
@@ -33,7 +33,7 @@
/**
* Background service for synchronizing remote files with their local state.
- *
+ *
* Serves as a connector to an instance of {@link FileSyncAdapter}, as required by standard Android APIs.
*/
public class FileSyncService extends Service {
@@ -46,7 +46,7 @@ public class FileSyncService extends Service {
@Inject UserAccountManager userAccountManager;
@Inject ViewThemeUtils viewThemeUtils;
- /*
+ /**
* {@inheritDoc}
*/
@Override
@@ -59,12 +59,11 @@ public void onCreate() {
}
}
- /*
+ /**
* {@inheritDoc}
*/
@Override
public IBinder onBind(Intent intent) {
return syncAdapter.getSyncAdapterBinder();
}
-
}
diff --git a/app/src/main/java/com/owncloud/android/ui/dialog/SendFilesDialog.kt b/app/src/main/java/com/owncloud/android/ui/dialog/SendFilesDialog.kt
index b11dc503f8c8..f6ee624009d3 100644
--- a/app/src/main/java/com/owncloud/android/ui/dialog/SendFilesDialog.kt
+++ b/app/src/main/java/com/owncloud/android/ui/dialog/SendFilesDialog.kt
@@ -1,3 +1,23 @@
+/*
+ * Nextcloud Android client application
+ *
+ * @author Tobias Kaminsky
+ * Copyright (C) 2020 Tobias Kaminsky
+ * Copyright (C) 2020 Nextcloud GmbH.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
package com.owncloud.android.ui.dialog
import android.content.ComponentName
@@ -23,26 +43,6 @@ import com.owncloud.android.ui.components.SendButtonData
import com.owncloud.android.utils.theme.ViewThemeUtils
import javax.inject.Inject
-/*
- * Nextcloud Android client application
- *
- * @author Tobias Kaminsky
- * Copyright (C) 2020 Tobias Kaminsky
- * Copyright (C) 2020 Nextcloud GmbH.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
- */
class SendFilesDialog : BottomSheetDialogFragment(R.layout.send_files_fragment), Injectable {
private var files: Array? = null
diff --git a/app/src/main/java/com/owncloud/android/ui/dialog/SendShareDialog.kt b/app/src/main/java/com/owncloud/android/ui/dialog/SendShareDialog.kt
index c6f57dd75aeb..9aa5789a09c8 100644
--- a/app/src/main/java/com/owncloud/android/ui/dialog/SendShareDialog.kt
+++ b/app/src/main/java/com/owncloud/android/ui/dialog/SendShareDialog.kt
@@ -1,3 +1,25 @@
+/*
+ * Nextcloud Android client application
+ *
+ * @author Tobias Kaminsky
+ * @author Andy Scherzinger
+ * Copyright (C) 2017 Tobias Kaminsky
+ * Copyright (C) 2017 Nextcloud GmbH.
+ * Copyright (C) 2018 Andy Scherzinger
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
package com.owncloud.android.ui.dialog
import android.content.ComponentName
@@ -30,28 +52,6 @@ import com.owncloud.android.utils.MimeTypeUtil
import com.owncloud.android.utils.theme.ViewThemeUtils
import javax.inject.Inject
-/*
- * Nextcloud Android client application
- *
- * @author Tobias Kaminsky
- * @author Andy Scherzinger
- * Copyright (C) 2017 Tobias Kaminsky
- * Copyright (C) 2017 Nextcloud GmbH.
- * Copyright (C) 2018 Andy Scherzinger
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
- */
class SendShareDialog : BottomSheetDialogFragment(R.layout.send_share_fragment), Injectable {
private lateinit var binding: SendShareFragmentBinding
diff --git a/app/src/main/java/com/owncloud/android/ui/preview/PreviewMediaActivity.kt b/app/src/main/java/com/owncloud/android/ui/preview/PreviewMediaActivity.kt
index 2c522850634a..09f685869f2f 100644
--- a/app/src/main/java/com/owncloud/android/ui/preview/PreviewMediaActivity.kt
+++ b/app/src/main/java/com/owncloud/android/ui/preview/PreviewMediaActivity.kt
@@ -390,6 +390,7 @@ class PreviewMediaActivity :
}
}
+ @OptIn(markerClass = [UnstableApi::class])
private fun applyWindowInsets() {
val playerView = binding.exoplayerView
val exoControls = playerView.findViewById(R.id.exo_bottom_bar)
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index edf47ba03e5c..056ea05dfccb 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -391,7 +391,7 @@
Dateiname
Halten Sie Ihre Daten sicher und unter Ihrer Kontrolle
Sichere Zusammenarbeit und Dateiaustausch
- Benutzerfreundliche Webmailer, Kalender und Kontakte
+ Benutzerfreundlicher Webmailer, Kalender und Kontakte
Bildschirmfreigabe, Online-Meetings und Webkonferenzen
Ordner existiert bereits
Erstellen
diff --git a/build.gradle b/build.gradle
index e879a4f1619a..44a081f7e831 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,17 +1,17 @@
buildscript {
ext {
- androidPluginVersion = '8.2.2'
+ androidPluginVersion = '8.3.0'
appCompatVersion = '1.6.1'
jacoco_version = '0.8.11'
kotlin_version = '1.9.22'
androidxTestVersion = "1.5.0"
- daggerVersion = "2.50"
+ daggerVersion = "2.51"
markwonVersion = "4.6.2"
prismVersion = "2.0.0"
androidLibraryVersion ="f8bebf237680bb04a566c9555776a035f8040a4e"
mockitoVersion = "4.11.0"
mockitoKotlinVersion = "4.1.0"
- mockkVersion = "1.13.9"
+ mockkVersion = "1.13.10"
espressoVersion = "3.5.1"
workRuntime = "2.9.0"
fidoVersion = "4.1.0-patch2"
diff --git a/gradle/verification-keyring.keys b/gradle/verification-keyring.keys
index 5c90cec44202..7b6ef2d21b16 100644
--- a/gradle/verification-keyring.keys
+++ b/gradle/verification-keyring.keys
@@ -2189,6 +2189,43 @@ Zo/Xr9x/cYkFS8ieh6XR0y1Yx4xZIDTi3Q==
=BLWG
-----END PGP PUBLIC KEY BLOCK-----
+pub D041CAD2E452550F
+uid Deanna
+
+sub 5199F3DAE89C332D
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: BCPG v1.68
+
+mQGNBGCtdhoBDADdopjDt4eUNEqLJSw1ZICSR0oq09SOVtJSaSYdF8UiXjBfL1Ds
+fhTDqSv5pT2a2gLj0OU3tFhWHvINLaKKCjQnHVcFXi2LTxt+XBOjRYkFjHVisbaZ
+PZ6HnTMStPrvs+hQ168vU3VfYOsOLN22j53I/Ba+FA7E0G0bqkratuT5L7BTR1mC
+fqDaeisWSCllfe6EEysaFF+/1RcRy+Yt+8ZWV0FZEF7UwQvqKHcYmlkqPIn3v/8y
+J/yvmzIEtCQ1F+bvJbzaROmeJf254G2Uh7IfMYEm9WlqnGwNdbIhil7bdxq8Y/0H
+XbQPaESxkki7yL5JTfH/+UzdklMe+Dga273L/cgzfjV3zJJ9vR94W5ABAbGYh4ZW
+aKvNnT1m4vTbEMfo4r3NF2zc+K9Ly/JNaHqkR5M4SVElvN2lsC5KNUiRvExhg+h0
+mKyx61mu3gUIrC1UOmqhtx7RzQQf7ESMdzmNHY0P93lR0Ic10fyli0wfl7A6q7+q
+zV2a1V2k9Yg6B9sAEQEAAbQgRGVhbm5hIDxkZWFubmFnYXJjaWFAZ29vZ2xlLmNv
+bT65AY0EYK12GgEMAMgP3//QeBsTS3IrfSp3m44el96X6BWona2yo4DvVyuwqfUL
+ZE+Nhj7I+kEZLrA29AOySOD/6quJ4MIJZfq/Do920Di8/10WQ00OdCM1wH7bMz2U
+vcSqsr0iOgQtycuUf7JOHSTME9vqk+C3Lhn0r59AVaRdXEe6zBgNZyzZJeCr5F8w
+RhglPlwvhOGs2aLEqlCxFnY4pLayQFoQyw1lDjHIXHg5JtfOHvqiNXVDcGpyKLG8
+SzImp62iL4sfuA0weVIQeS9kZiQabSYKvSf3TvNXYTgmFz/vjPbYhv9LTkBroTlV
+g3l+UmAxLrHVuXMx0zX3jfNNHAqUjVhPYZhnifMkmGJgLeMIVqr5Q/tx8pzyYiiO
+cqQ1zDg8ubJDGRue1JjlUGdw19OvhFDs+lydukt8Mmhb0gPkBLi2syZHgYHtEooX
+PLwEsJ+SynZCFhZiWj8BsWNFJpaDd8ynNeWhMAcwi3B5ZeQiZaAlV0sItxsrzvbu
+4ZYZtkjAkQdsaaTWSwARAQABiQG8BBgBCgAmFiEEaWthmaKp2MKc54zA0EHK0uRS
+VQ8FAmCtdhoCGwwFCQPCZwAACgkQ0EHK0uRSVQ+G7wwAvaVPDgnM+i2pGQPwq6Mk
+SzhKEG4H1pvBWyYR8H9D3p/dE33IjVu3EEy1h37Nzdyp46KtASGNe3KBodSsh6gv
+PlV5pNGxMNbX6fo8ZGtS83C+6uTF1cYmuO1nmi8P4+7qtcNZg4xv/ujAZIC20kem
+YKDth3FvPxEXsoxY+Ns7sxgd3SqoyLhjcyoczI8uyhim5nfvvbnEd6WrdiBPBtb/
+F1h/nfqdFj2TcZkAlnzGnlVlgU8J60u6zE+9VvBm0lJR73Ar55mQEwarGFPL1a3/
+A7ZEeNa0Dc3Oa5sKMYtxMlGKZ0WGUoGcDWiaDEsv5YyRnaSOaXKM1NkJCR013QAr
+RcHrRBPo+0/RIZVE+b8oEcmGzdL8HNwnm7e06ruZryF9LQA5YBmCKE0urigmgEvC
+zZsj/fMJ+OIZcAhE7UVae48GpW2kLATxmK01oSzvizIlmN3rVz2EnjOun2iuuEpF
+/lmDbjK5n1r3f8npB1l1fT5cozzQJkPVYzhBWH1KXP5X
+=nh9O
+-----END PGP PUBLIC KEY BLOCK-----
+
pub D0BF1D737C9A1C22
uid PMD Release Signing Key
@@ -3026,6 +3063,35 @@ K+jUtu4w+gsJ3GJvywKbXKy6DkVXcc+umnc318/Y
=UhYJ
-----END PGP PUBLIC KEY BLOCK-----
+pub EE92349AD86DE446
+uid Thomas Ball
+
+sub E68665C8F91BDE69
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: BCPG v1.68
+
+mQENBGO91akBCADDDpIrW/IohUSJNDu9VOUlnfEOm5VS49uqM0uucLi0BeAhy1Fo
+P6Yg1cJkcK66DtnUoTM/JJLyDzJRlKnniLrYCkw8ScvtPdA5cQKJTY5ecn+9ouR2
+SC9GkBMgagbCScP1xE45q5FO+z4kwmcERIKOQ687VAk64QM6hJCupfAd6SqS/X0Q
+SGttTNtmj7YBpfnU5iFX05Hj8Zkk7CX439xltO8uJNyBlDVbuUZc3/kRowKPVuuo
+TK2mzllVPzE/YT6NUY04wQPmRJx0uWZQUyDBZeckdurpSImdd7sik6Wf6zVGvxvg
+MC4oMufZ3EM8R4dssRSIUfnBaQ2o1LS+GVxjABEBAAG0HlRob21hcyBCYWxsIDx0
+YmFsbEBnb29nbGUuY29tPrkBDQRjvdWpAQgA0k8hiP0izEoo5Ys6Ra/ECD2j2Ssi
+SiEExo4ZGzHhHFDICs4JShob+qwbdpU6LzAwvyFArqqhcAMnoUEbFDrsbyml6vNF
+KPU7cEkgsHoV3VfzDjRLqFK9QBmz4MzUUy4PiZ/rJ27JlRUiCEZETE15Jv+9+fgp
+U+p1IAPu5Z5CIhRi95pevCi3z5Ty1E2C/4tCkKOGbmG9bIi7HGkj6Tk3TtX3LTJE
+ZaIFuCp2Z8dXB0RtRIzSwxhQlRkpb6LB/m1mKD0tm7ccB/+/JeMFYbrOSSPA7yic
+oUu6EviOTKAcZJrAkfBhGC2WSdRnQMxVzjnVtuG4UcTR1yBAJ0BgmwjrowARAQAB
+iQE8BBgBCAAmFiEE6xs95xcTyewuh8wm7pI0mtht5EYFAmO91akCGwwFCQPCZwAA
+CgkQ7pI0mtht5EY0LQf/UkEplnz4ksZwZ59yGwRbFw1E3zIG0O0MzykSwL30+36/
+MtoBhgVs9UqnOvnvMjFm+2byZRtY5rhnx4e3MtFAQWKsq693jthQ87Ie1915xyvR
+7uJBDaulGY5WueQq7gscj5/iMUSb4977cLIth7+0Eop4E4qNEBalCLsnPUZBS670
+kW7h9SmHPPTPkvJsYdrVPtBn7Z7DySouXwQR5kCrjH9u6VtpfTnS9+yBQufVf0AQ
+JbQJf85p+8W5KsRmwtRLDQrObOow84sxc6H8RmyinXsOqEZ7k07sagKezdfGqOmC
+AwT14IRCih4oeUsICRfb9e23BVJGWs2x1VvzaIrLsQ==
+=vv+C
+-----END PGP PUBLIC KEY BLOCK-----
+
pub EE9E7DC9D92FC896
uid Eddie Aftandilian
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index a3991470ded4..8fdc75708eda 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -4,7 +4,7 @@
true
true
-
+
@@ -98,7 +98,10 @@
-
+
+
+
+
@@ -145,6 +148,7 @@
+
@@ -177,7 +181,10 @@
-
+
+
+
+
@@ -242,7 +249,10 @@
-
+
+
+
+
@@ -272,6 +282,7 @@
+
@@ -280,7 +291,10 @@
-
+
+
+
+
@@ -1111,6 +1125,14 @@
+
+
+
+
+
+
+
+
@@ -1119,6 +1141,14 @@
+
+
+
+
+
+
+
+
@@ -1127,6 +1157,14 @@
+
+
+
+
+
+
+
+
@@ -1135,6 +1173,14 @@
+
+
+
+
+
+
+
+
@@ -1143,6 +1189,14 @@
+
+
+
+
+
+
+
+
@@ -1151,6 +1205,14 @@
+
+
+
+
+
+
+
+
@@ -1159,6 +1221,14 @@
+
+
+
+
+
+
+
+
@@ -2512,6 +2582,14 @@
+
+
+
+
+
+
+
+
@@ -2520,6 +2598,14 @@
+
+
+
+
+
+
+
+
@@ -2528,6 +2614,14 @@
+
+
+
+
+
+
+
+
@@ -2536,6 +2630,14 @@
+
+
+
+
+
+
+
+
@@ -2544,6 +2646,14 @@
+
+
+
+
+
+
+
+
@@ -2552,6 +2662,14 @@
+
+
+
+
+
+
+
+
@@ -2560,6 +2678,14 @@
+
+
+
+
+
+
+
+
@@ -2568,6 +2694,14 @@
+
+
+
+
+
+
+
+
@@ -2576,6 +2710,14 @@
+
+
+
+
+
+
+
+
@@ -2584,6 +2726,14 @@
+
+
+
+
+
+
+
+
@@ -2592,6 +2742,14 @@
+
+
+
+
+
+
+
+
@@ -2600,6 +2758,14 @@
+
+
+
+
+
+
+
+
@@ -2608,6 +2774,14 @@
+
+
+
+
+
+
+
+
@@ -2616,6 +2790,14 @@
+
+
+
+
+
+
+
+
@@ -2624,6 +2806,14 @@
+
+
+
+
+
+
+
+
@@ -2632,6 +2822,14 @@
+
+
+
+
+
+
+
+
@@ -2640,6 +2838,14 @@
+
+
+
+
+
+
+
+
@@ -2648,6 +2854,14 @@
+
+
+
+
+
+
+
+
@@ -2656,6 +2870,14 @@
+
+
+
+
+
+
+
+
@@ -2664,6 +2886,14 @@
+
+
+
+
+
+
+
+
@@ -2672,6 +2902,14 @@
+
+
+
+
+
+
+
+
@@ -2680,6 +2918,14 @@
+
+
+
+
+
+
+
+
@@ -2688,6 +2934,14 @@
+
+
+
+
+
+
+
+
@@ -2696,6 +2950,14 @@
+
+
+
+
+
+
+
+
@@ -2704,6 +2966,14 @@
+
+
+
+
+
+
+
+
@@ -2712,6 +2982,14 @@
+
+
+
+
+
+
+
+
@@ -2744,6 +3022,14 @@
+
+
+
+
+
+
+
+
@@ -2752,6 +3038,14 @@
+
+
+
+
+
+
+
+
@@ -2760,6 +3054,14 @@
+
+
+
+
+
+
+
+
@@ -2768,6 +3070,14 @@
+
+
+
+
+
+
+
+
@@ -2776,6 +3086,14 @@
+
+
+
+
+
+
+
+
@@ -2784,6 +3102,14 @@
+
+
+
+
+
+
+
+
@@ -2792,6 +3118,14 @@
+
+
+
+
+
+
+
+
@@ -2800,6 +3134,14 @@
+
+
+
+
+
+
+
+
@@ -2808,6 +3150,14 @@
+
+
+
+
+
+
+
+
@@ -2816,6 +3166,14 @@
+
+
+
+
+
+
+
+
@@ -2824,6 +3182,14 @@
+
+
+
+
+
+
+
+
@@ -2832,6 +3198,14 @@
+
+
+
+
+
+
+
+
@@ -2840,6 +3214,14 @@
+
+
+
+
+
+
+
+
@@ -2848,6 +3230,14 @@
+
+
+
+
+
+
+
+
@@ -2856,6 +3246,14 @@
+
+
+
+
+
+
+
+
@@ -2864,6 +3262,14 @@
+
+
+
+
+
+
+
+
@@ -2872,6 +3278,14 @@
+
+
+
+
+
+
+
+
@@ -2880,6 +3294,14 @@
+
+
+
+
+
+
+
+
@@ -2888,6 +3310,14 @@
+
+
+
+
+
+
+
+
@@ -2896,6 +3326,14 @@
+
+
+
+
+
+
+
+
@@ -2904,6 +3342,14 @@
+
+
+
+
+
+
+
+
@@ -2912,6 +3358,14 @@
+
+
+
+
+
+
+
+
@@ -2920,6 +3374,14 @@
+
+
+
+
+
+
+
+
@@ -2928,6 +3390,14 @@
+
+
+
+
+
+
+
+
@@ -2936,6 +3406,14 @@
+
+
+
+
+
+
+
+
@@ -2944,6 +3422,14 @@
+
+
+
+
+
+
+
+
@@ -2952,6 +3438,14 @@
+
+
+
+
+
+
+
+
@@ -2960,6 +3454,14 @@
+
+
+
+
+
+
+
+
@@ -2968,6 +3470,14 @@
+
+
+
+
+
+
+
+
@@ -2976,6 +3486,14 @@
+
+
+
+
+
+
+
+
@@ -2984,6 +3502,14 @@
+
+
+
+
+
+
+
+
@@ -2992,6 +3518,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4383,6 +4925,14 @@
+
+
+
+
+
+
+
+
@@ -4443,6 +4993,14 @@
+
+
+
+
+
+
+
+
@@ -4451,6 +5009,14 @@
+
+
+
+
+
+
+
+
@@ -4459,6 +5025,14 @@
+
+
+
+
+
+
+
+
@@ -4467,6 +5041,14 @@
+
+
+
+
+
+
+
+
@@ -4475,6 +5057,14 @@
+
+
+
+
+
+
+
+
@@ -4483,6 +5073,14 @@
+
+
+
+
+
+
+
+
diff --git a/scripts/analysis/lint-results.txt b/scripts/analysis/lint-results.txt
index 3e0520e4c5f4..9531ef5b263b 100644
--- a/scripts/analysis/lint-results.txt
+++ b/scripts/analysis/lint-results.txt
@@ -1,2 +1,2 @@
DO NOT TOUCH; GENERATED BY DRONE
- Lint Report: 3 errors and 69 warnings
+ Lint Report: 3 errors and 71 warnings
diff --git a/spotbugs-filter.xml b/scripts/analysis/spotbugs-filter.xml
similarity index 100%
rename from spotbugs-filter.xml
rename to scripts/analysis/spotbugs-filter.xml