From 78f65349d597a2d3b251323f1ea4def77c4993d4 Mon Sep 17 00:00:00 2001 From: Taco Date: Sat, 1 Apr 2023 17:16:53 -0400 Subject: [PATCH] Update AGP to 7.4.0 (#5655) --- app/build.gradle | 12 ++++-------- app/src/main/AndroidManifest.xml | 12 +++++++++--- build.gradle | 2 +- common.gradle | 17 +++++++++-------- core/build.gradle | 2 +- .../core/service/playback/PlaybackService.java | 2 ++ gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- net/download/service-interface/build.gradle | 2 +- .../net/ssl/CompositeX509TrustManager.java | 3 +++ playFlavor.gradle | 2 +- .../playback/cast/CastOptionsProvider.java | 2 ++ .../antennapod/playback/cast/CastPsmp.java | 2 ++ storage/database/build.gradle | 4 ++-- storage/preferences/build.gradle | 2 +- ui/i18n/build.gradle | 2 +- 16 files changed, 41 insertions(+), 29 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 47e7a550a..9c6edb45b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,6 +1,6 @@ plugins { id('com.android.application') - id('com.github.triplet.play') version '3.7.0-agp4.2' apply false + id('com.github.triplet.play') version '3.7.0' apply false } apply from: "../common.gradle" apply from: "../playFlavor.gradle" @@ -56,23 +56,19 @@ android { } } - lintOptions { + lint { disable 'ObsoleteLintCustomCheck', 'CheckResult', 'UnusedAttribute', 'BatteryLife', 'InflateParams', 'RestrictedApi', 'TrustAllX509TrustManager', 'ExportedReceiver', 'AllowBackup', 'VectorDrawableCompat', 'StaticFieldLeak', 'UseCompoundDrawables', 'NestedWeights', 'Overdraw', 'UselessParent', 'TextFields', 'AlwaysShowAction', 'Autofill', 'ClickableViewAccessibility', 'ContentDescription', 'KeyboardInaccessibleWidget', 'LabelFor', 'SetTextI18n', 'HardcodedText', 'RelativeOverlap', 'RtlCompat', 'RtlHardcoded', 'MissingMediaBrowserServiceIntentFilter', 'VectorPath', - 'InvalidPeriodicWorkRequestInterval' + 'InvalidPeriodicWorkRequestInterval', 'NotifyDataSetChanged', 'RtlEnabled' } - aaptOptions { + androidResources { additionalParameters "--no-version-vectors" } - - dexOptions { - jumboMode true - } } dependencies { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d784e8709..a1b596d6c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -76,7 +76,6 @@ @@ -99,7 +98,6 @@ android:configChanges="keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout|density|uiMode|keyboard|navigation" android:windowSoftInputMode="stateAlwaysHidden" android:launchMode="singleTask" - android:label="@string/app_name" android:exported="true"> @@ -111,14 +109,21 @@ android:host="antennapod.org" android:pathPrefix="/deeplink/main" android:scheme="https" /> + + + + + + + - + @@ -382,6 +387,7 @@ diff --git a/build.gradle b/build.gradle index d5f24bc56..1a16e1dac 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { gradlePluginPortal() } dependencies { - classpath 'com.android.tools.build:gradle:4.2.2' + classpath 'com.android.tools.build:gradle:7.4.0' classpath "gradle.plugin.com.github.spotbugs.snom:spotbugs-gradle-plugin:4.7.0" classpath 'org.codehaus.groovy:groovy-xml:3.0.9' } diff --git a/common.gradle b/common.gradle index 258f512f1..902b17496 100644 --- a/common.gradle +++ b/common.gradle @@ -24,16 +24,17 @@ android { } packagingOptions { - exclude "META-INF/LICENSE.txt" - exclude "META-INF/NOTICE.txt" - // Extraneous jsoup files - exclude "META-INF/CHANGES" - exclude "META-INF/README.md" + resources { + excludes += ["META-INF/LICENSE.txt", + "META-INF/NOTICE.txt", + "META-INF/CHANGES", + "META-INF/README.md"] + } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 } testOptions { @@ -43,7 +44,7 @@ android { } } - lintOptions { + lint { disable "GradleDependency" checkDependencies true warningsAsErrors true diff --git a/core/build.gradle b/core/build.gradle index 02c273db1..526589230 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -5,7 +5,7 @@ apply from: "../common.gradle" apply from: "../playFlavor.gradle" android { - lintOptions { + lint { disable "InvalidPeriodicWorkRequestInterval", "ObsoleteLintCustomCheck", "DefaultLocale", "UnusedAttribute", "ParcelClassLoader", "CheckResult", "TrustAllX509TrustManager", "StaticFieldLeak", "IconDensities", "IconDuplicates" diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java index e512f413f..43ee32680 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java @@ -2,6 +2,7 @@ package de.danoeh.antennapod.core.service.playback; import static de.danoeh.antennapod.model.feed.FeedPreferences.SPEED_USE_GLOBAL; +import android.annotation.SuppressLint; import android.app.NotificationManager; import android.app.PendingIntent; import android.app.Service; @@ -540,6 +541,7 @@ public class PlaybackService extends MediaBrowserServiceCompat { } } + @SuppressLint("LaunchActivityFromNotification") private void displayStreamingNotAllowedNotification(Intent originalIntent) { Intent intentAllowThisTime = new Intent(originalIntent); intentAllowThisTime.setAction(PlaybackServiceInterface.EXTRA_ALLOW_STREAM_THIS_TIME); diff --git a/gradle.properties b/gradle.properties index 4217706ec..e57f3d564 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ android.useAndroidX=true android.enableJetifier=true -android.jetifier.blacklist=bcprov-jdk15on +android.jetifier.ignorelist=bcprov-jdk15on org.gradle.jvmargs=-Xmx4096m diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2e6e5897b..8049c684f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/net/download/service-interface/build.gradle b/net/download/service-interface/build.gradle index 785326bab..5779ab51d 100644 --- a/net/download/service-interface/build.gradle +++ b/net/download/service-interface/build.gradle @@ -5,7 +5,7 @@ plugins { apply from: "../../../common.gradle" android { - lintOptions { + lint { disable 'ParcelClassLoader' } } diff --git a/net/ssl/src/main/java/de/danoeh/antennapod/net/ssl/CompositeX509TrustManager.java b/net/ssl/src/main/java/de/danoeh/antennapod/net/ssl/CompositeX509TrustManager.java index 16b2f0931..252950a99 100644 --- a/net/ssl/src/main/java/de/danoeh/antennapod/net/ssl/CompositeX509TrustManager.java +++ b/net/ssl/src/main/java/de/danoeh/antennapod/net/ssl/CompositeX509TrustManager.java @@ -1,5 +1,7 @@ package de.danoeh.antennapod.net.ssl; +import android.annotation.SuppressLint; + import javax.net.ssl.X509TrustManager; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; @@ -12,6 +14,7 @@ import java.util.List; * trusts a certificate chain, then it is trusted by the composite manager. * Based on https://stackoverflow.com/a/16229909 */ +@SuppressLint("CustomX509TrustManager") public class CompositeX509TrustManager implements X509TrustManager { private final List trustManagers; diff --git a/playFlavor.gradle b/playFlavor.gradle index 7289bd4c9..9f2a3d8d5 100644 --- a/playFlavor.gradle +++ b/playFlavor.gradle @@ -1,5 +1,5 @@ android { - flavorDimensions "market" + flavorDimensions += ["market"] productFlavors { free { dimension "market" diff --git a/playback/cast/src/play/java/de/danoeh/antennapod/playback/cast/CastOptionsProvider.java b/playback/cast/src/play/java/de/danoeh/antennapod/playback/cast/CastOptionsProvider.java index cdea61c39..e91baa985 100644 --- a/playback/cast/src/play/java/de/danoeh/antennapod/playback/cast/CastOptionsProvider.java +++ b/playback/cast/src/play/java/de/danoeh/antennapod/playback/cast/CastOptionsProvider.java @@ -1,5 +1,6 @@ package de.danoeh.antennapod.playback.cast; +import android.annotation.SuppressLint; import android.content.Context; import androidx.annotation.NonNull; import com.google.android.gms.cast.framework.CastOptions; @@ -9,6 +10,7 @@ import com.google.android.gms.cast.framework.SessionProvider; import java.util.List; @SuppressWarnings("unused") +@SuppressLint("VisibleForTests") public class CastOptionsProvider implements OptionsProvider { @Override @NonNull diff --git a/playback/cast/src/play/java/de/danoeh/antennapod/playback/cast/CastPsmp.java b/playback/cast/src/play/java/de/danoeh/antennapod/playback/cast/CastPsmp.java index 7562f9806..c5bb0a205 100644 --- a/playback/cast/src/play/java/de/danoeh/antennapod/playback/cast/CastPsmp.java +++ b/playback/cast/src/play/java/de/danoeh/antennapod/playback/cast/CastPsmp.java @@ -1,5 +1,6 @@ package de.danoeh.antennapod.playback.cast; +import android.annotation.SuppressLint; import android.content.Context; import androidx.annotation.NonNull; import android.util.Log; @@ -36,6 +37,7 @@ import org.greenrobot.eventbus.EventBus; /** * Implementation of PlaybackServiceMediaPlayer suitable for remote playback on Cast Devices. */ +@SuppressLint("VisibleForTests") public class CastPsmp extends PlaybackServiceMediaPlayer { public static final String TAG = "CastPSMP"; diff --git a/storage/database/build.gradle b/storage/database/build.gradle index 141cdb086..0dc5cef63 100644 --- a/storage/database/build.gradle +++ b/storage/database/build.gradle @@ -4,8 +4,8 @@ plugins { apply from: "../../common.gradle" android { - lintOptions { - disable "StaticFieldLeak" + lint { + disable "StaticFieldLeak", "StringFormatCount", "StringFormatMatches", "StringFormatInvalid", "PluralsCandidate", "StringFormatTrivial" } } diff --git a/storage/preferences/build.gradle b/storage/preferences/build.gradle index 0c852bf7a..0da810e28 100644 --- a/storage/preferences/build.gradle +++ b/storage/preferences/build.gradle @@ -4,7 +4,7 @@ plugins { apply from: "../../common.gradle" android { - lintOptions { + lint { disable "StaticFieldLeak" } } diff --git a/ui/i18n/build.gradle b/ui/i18n/build.gradle index a1ace417b..4f5370662 100644 --- a/ui/i18n/build.gradle +++ b/ui/i18n/build.gradle @@ -4,7 +4,7 @@ plugins { apply from: "../../common.gradle" android { - lintOptions { + lint { disable "Typos", "ExtraTranslation", "ImpliedQuantity", "PluralsCandidate", "UnusedQuantity", "TypographyEllipsis" }