diff --git a/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/build.gradle.kts b/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/build.gradle.kts index bc416f685c..61ff628c75 100644 --- a/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/build.gradle.kts +++ b/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/build.gradle.kts @@ -1,4 +1,11 @@ -android.namespace = "app.revanced.extension" +android { + namespace = "app.revanced.extension" + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} dependencies { compileOnly(libs.annotation) diff --git a/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/src/main/java/app/revanced/extension/all/connectivity/wifi/spoof/SpoofWifiPatch.java b/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/src/main/java/app/revanced/extension/all/connectivity/wifi/spoof/SpoofWifiPatch.java index 5f00bd730f..71c625279d 100644 --- a/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/src/main/java/app/revanced/extension/all/connectivity/wifi/spoof/SpoofWifiPatch.java +++ b/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/src/main/java/app/revanced/extension/all/connectivity/wifi/spoof/SpoofWifiPatch.java @@ -12,7 +12,7 @@ import androidx.annotation.RequiresApi; -/** @noinspection deprecation, unused */ +@SuppressWarnings({"deprecation", "unused"}) public class SpoofWifiPatch { // Used to check what the (real or fake) active network is (take a look at `hasTransport`). diff --git a/extensions/all/misc/directory/documentsprovider/export-internal-data-documents-provider/build.gradle.kts b/extensions/all/misc/directory/documentsprovider/export-internal-data-documents-provider/build.gradle.kts index 8618c67e1a..18568df5c5 100644 --- a/extensions/all/misc/directory/documentsprovider/export-internal-data-documents-provider/build.gradle.kts +++ b/extensions/all/misc/directory/documentsprovider/export-internal-data-documents-provider/build.gradle.kts @@ -1,3 +1,16 @@ +android { + namespace = "app.revanced.extension" + + defaultConfig { + minSdk = 21 + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} + dependencies { compileOnly(libs.annotation) } diff --git a/extensions/all/misc/directory/documentsprovider/export-internal-data-documents-provider/src/main/java/app/revanced/extension/all/misc/directory/documentsprovider/InternalDataDocumentsProvider.java b/extensions/all/misc/directory/documentsprovider/export-internal-data-documents-provider/src/main/java/app/revanced/extension/all/misc/directory/documentsprovider/InternalDataDocumentsProvider.java index cd4577c76e..f4e3a8e031 100644 --- a/extensions/all/misc/directory/documentsprovider/export-internal-data-documents-provider/src/main/java/app/revanced/extension/all/misc/directory/documentsprovider/InternalDataDocumentsProvider.java +++ b/extensions/all/misc/directory/documentsprovider/export-internal-data-documents-provider/src/main/java/app/revanced/extension/all/misc/directory/documentsprovider/InternalDataDocumentsProvider.java @@ -1,5 +1,6 @@ package app.revanced.extension.all.misc.directory.documentsprovider; +import android.annotation.SuppressLint; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.ProviderInfo; @@ -23,6 +24,7 @@ /** * A DocumentsProvider that allows access to the app's internal data directory. */ +@SuppressLint("LongLogTag") public class InternalDataDocumentsProvider extends DocumentsProvider { private static final String[] rootColumns = {"root_id", "mime_types", "flags", "icon", "title", "summary", "document_id"}; diff --git a/extensions/all/misc/screencapture/remove-screen-capture-restriction/build.gradle.kts b/extensions/all/misc/screencapture/remove-screen-capture-restriction/build.gradle.kts index bc416f685c..18568df5c5 100644 --- a/extensions/all/misc/screencapture/remove-screen-capture-restriction/build.gradle.kts +++ b/extensions/all/misc/screencapture/remove-screen-capture-restriction/build.gradle.kts @@ -1,4 +1,15 @@ -android.namespace = "app.revanced.extension" +android { + namespace = "app.revanced.extension" + + defaultConfig { + minSdk = 21 + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} dependencies { compileOnly(libs.annotation) diff --git a/extensions/all/misc/screencapture/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/screencapture/removerestriction/RemoveScreencaptureRestrictionPatch.java b/extensions/all/misc/screencapture/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/screencapture/removerestriction/RemoveScreenCaptureRestrictionPatch.java similarity index 88% rename from extensions/all/misc/screencapture/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/screencapture/removerestriction/RemoveScreencaptureRestrictionPatch.java rename to extensions/all/misc/screencapture/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/screencapture/removerestriction/RemoveScreenCaptureRestrictionPatch.java index 1dac341441..25a3149b96 100644 --- a/extensions/all/misc/screencapture/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/screencapture/removerestriction/RemoveScreencaptureRestrictionPatch.java +++ b/extensions/all/misc/screencapture/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/screencapture/removerestriction/RemoveScreenCaptureRestrictionPatch.java @@ -5,7 +5,8 @@ import androidx.annotation.RequiresApi; -public final class RemoveScreencaptureRestrictionPatch { +@SuppressWarnings("unused") +public final class RemoveScreenCaptureRestrictionPatch { // Member of AudioAttributes.Builder @RequiresApi(api = Build.VERSION_CODES.Q) public static AudioAttributes.Builder setAllowedCapturePolicy(final AudioAttributes.Builder builder, final int capturePolicy) { diff --git a/extensions/all/misc/screenshot/remove-screenshot-restriction/build.gradle.kts b/extensions/all/misc/screenshot/remove-screenshot-restriction/build.gradle.kts index 88c859b78f..18568df5c5 100644 --- a/extensions/all/misc/screenshot/remove-screenshot-restriction/build.gradle.kts +++ b/extensions/all/misc/screenshot/remove-screenshot-restriction/build.gradle.kts @@ -1 +1,16 @@ -android.namespace = "app.revanced.extension" +android { + namespace = "app.revanced.extension" + + defaultConfig { + minSdk = 21 + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} + +dependencies { + compileOnly(libs.annotation) +} diff --git a/extensions/all/misc/screenshot/remove-screenshot-restriction/src/main/java/app/revanced/extension/all/screenshot/removerestriction/RemoveScreenshotRestrictionPatch.java b/extensions/all/misc/screenshot/remove-screenshot-restriction/src/main/java/app/revanced/extension/all/screenshot/removerestriction/RemoveScreenshotRestrictionPatch.java index fd5c427d37..33905e8703 100644 --- a/extensions/all/misc/screenshot/remove-screenshot-restriction/src/main/java/app/revanced/extension/all/screenshot/removerestriction/RemoveScreenshotRestrictionPatch.java +++ b/extensions/all/misc/screenshot/remove-screenshot-restriction/src/main/java/app/revanced/extension/all/screenshot/removerestriction/RemoveScreenshotRestrictionPatch.java @@ -3,6 +3,7 @@ import android.view.Window; import android.view.WindowManager; +@SuppressWarnings("unused") public class RemoveScreenshotRestrictionPatch { public static void addFlags(Window window, int flags) { diff --git a/extensions/boostforreddit/stub/build.gradle.kts b/extensions/boostforreddit/stub/build.gradle.kts index c1cc5794c0..b0bb6f027a 100644 --- a/extensions/boostforreddit/stub/build.gradle.kts +++ b/extensions/boostforreddit/stub/build.gradle.kts @@ -4,7 +4,7 @@ plugins { android { namespace = "app.revanced.extension" - compileSdk = 33 + compileSdk = 34 defaultConfig { minSdk = 24 diff --git a/extensions/music/build.gradle.kts b/extensions/music/build.gradle.kts index f3c06ad739..1e7be309ca 100644 --- a/extensions/music/build.gradle.kts +++ b/extensions/music/build.gradle.kts @@ -1 +1,5 @@ -// Do not remove. Necessary for the extension plugin to be applied to the project. +android { + defaultConfig { + minSdk = 26 + } +} diff --git a/extensions/reddit/stub/build.gradle.kts b/extensions/reddit/stub/build.gradle.kts index c1cc5794c0..b0bb6f027a 100644 --- a/extensions/reddit/stub/build.gradle.kts +++ b/extensions/reddit/stub/build.gradle.kts @@ -4,7 +4,7 @@ plugins { android { namespace = "app.revanced.extension" - compileSdk = 33 + compileSdk = 34 defaultConfig { minSdk = 24 diff --git a/extensions/syncforreddit/stub/build.gradle.kts b/extensions/syncforreddit/stub/build.gradle.kts index c1cc5794c0..b0bb6f027a 100644 --- a/extensions/syncforreddit/stub/build.gradle.kts +++ b/extensions/syncforreddit/stub/build.gradle.kts @@ -4,7 +4,7 @@ plugins { android { namespace = "app.revanced.extension" - compileSdk = 33 + compileSdk = 34 defaultConfig { minSdk = 24 diff --git a/extensions/tiktok/build.gradle.kts b/extensions/tiktok/build.gradle.kts index e9c01da56e..13e98ec39e 100644 --- a/extensions/tiktok/build.gradle.kts +++ b/extensions/tiktok/build.gradle.kts @@ -3,3 +3,14 @@ dependencies { compileOnly(project(":extensions:tiktok:stub")) compileOnly(libs.annotation) } + +android { + defaultConfig { + minSdk = 22 + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} diff --git a/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/ReVancedPreferenceFragment.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/ReVancedPreferenceFragment.java index 7027e924a4..b36dcb79a4 100644 --- a/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/ReVancedPreferenceFragment.java +++ b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/ReVancedPreferenceFragment.java @@ -21,9 +21,11 @@ public class ReVancedPreferenceFragment extends AbstractPreferenceFragment { protected void syncSettingWithPreference(@NonNull Preference pref, @NonNull Setting setting, boolean applySettingToPreference) { - if (pref instanceof RangeValuePreference rangeValuePref) { + if (pref instanceof RangeValuePreference) { + RangeValuePreference rangeValuePref = (RangeValuePreference) pref; Setting.privateSetValueFromString(setting, rangeValuePref.getValue()); - } else if (pref instanceof DownloadPathPreference downloadPathPref) { + } else if (pref instanceof DownloadPathPreference) { + DownloadPathPreference downloadPathPref = (DownloadPathPreference) pref; Setting.privateSetValueFromString(setting, downloadPathPref.getValue()); } else { super.syncSettingWithPreference(pref, setting, applySettingToPreference); @@ -32,7 +34,7 @@ protected void syncSettingWithPreference(@NonNull Preference pref, @Override protected void initialize() { - final var context = getContext(); + final var context = getActivity(); // Currently no resources can be compiled for TikTok (fails with aapt error). // So all TikTok Strings are hard coded in the extension. diff --git a/extensions/tiktok/stub/build.gradle.kts b/extensions/tiktok/stub/build.gradle.kts index c1cc5794c0..798b5a6816 100644 --- a/extensions/tiktok/stub/build.gradle.kts +++ b/extensions/tiktok/stub/build.gradle.kts @@ -4,14 +4,9 @@ plugins { android { namespace = "app.revanced.extension" - compileSdk = 33 + compileSdk = 34 defaultConfig { - minSdk = 24 - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + minSdk = 22 } } diff --git a/extensions/tumblr/build.gradle.kts b/extensions/tumblr/build.gradle.kts index c4a52573c2..5849a2aa28 100644 --- a/extensions/tumblr/build.gradle.kts +++ b/extensions/tumblr/build.gradle.kts @@ -1,3 +1,9 @@ dependencies { compileOnly(project(":extensions:tumblr:stub")) } + +android { + defaultConfig { + minSdk = 26 + } +} diff --git a/extensions/tumblr/stub/build.gradle.kts b/extensions/tumblr/stub/build.gradle.kts index c1cc5794c0..3b8616f8e8 100644 --- a/extensions/tumblr/stub/build.gradle.kts +++ b/extensions/tumblr/stub/build.gradle.kts @@ -1,17 +1,14 @@ +android.namespace = "app.revanced.extension" + plugins { id(libs.plugins.android.library.get().pluginId) } android { namespace = "app.revanced.extension" - compileSdk = 33 + compileSdk = 34 defaultConfig { - minSdk = 24 - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + minSdk = 26 } } diff --git a/extensions/twitch/build.gradle.kts b/extensions/twitch/build.gradle.kts index 3b6fa456ad..9051cb7d8a 100644 --- a/extensions/twitch/build.gradle.kts +++ b/extensions/twitch/build.gradle.kts @@ -6,3 +6,14 @@ dependencies { compileOnly(libs.annotation) compileOnly(libs.appcompat) } + +android { + defaultConfig { + minSdk = 21 + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} diff --git a/extensions/twitch/stub/build.gradle.kts b/extensions/twitch/stub/build.gradle.kts index c1cc5794c0..42cf7d0387 100644 --- a/extensions/twitch/stub/build.gradle.kts +++ b/extensions/twitch/stub/build.gradle.kts @@ -4,14 +4,9 @@ plugins { android { namespace = "app.revanced.extension" - compileSdk = 33 + compileSdk = 34 defaultConfig { - minSdk = 24 - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + minSdk = 21 } } diff --git a/extensions/youtube/build.gradle.kts b/extensions/youtube/build.gradle.kts index dccfb60d69..30509bf1bf 100644 --- a/extensions/youtube/build.gradle.kts +++ b/extensions/youtube/build.gradle.kts @@ -1,8 +1,13 @@ -//noinspection GradleDependency -android.compileSdk = 33 - dependencies { compileOnly(project(":extensions:shared:library")) compileOnly(project(":extensions:youtube:stub")) compileOnly(libs.annotation) } + +android { + compileSdk = 33 // TODO: Update Swipe controls code to allow updating this to the latest sdk. + + defaultConfig { + minSdk = 26 + } +} diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ReturnYouTubeDislikePatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ReturnYouTubeDislikePatch.java index 770316d81c..752fdaf8b6 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ReturnYouTubeDislikePatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ReturnYouTubeDislikePatch.java @@ -4,7 +4,6 @@ import android.graphics.Rect; import android.graphics.drawable.ShapeDrawable; -import android.os.Build; import android.text.Spannable; import android.text.SpannableString; import android.text.Spanned; @@ -366,9 +365,7 @@ public static CharSequence updateRollingNumber(TextView view, CharSequence origi private static final List> shortsTextViewRefs = new ArrayList<>(); private static void clearRemovedShortsTextViews() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { // YouTube requires Android N or greater - shortsTextViewRefs.removeIf(ref -> ref.get() == null); - } + shortsTextViewRefs.removeIf(ref -> ref.get() == null); } /** diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ReturnYouTubeDislike.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ReturnYouTubeDislike.java index 02893537c4..002fc0b6f8 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ReturnYouTubeDislike.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ReturnYouTubeDislike.java @@ -346,56 +346,49 @@ private static SpannableString newSpanUsingStylingOfAnotherSpan(@NonNull Spanned } private static String formatDislikeCount(long dislikeCount) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - synchronized (ReturnYouTubeDislike.class) { // number formatter is not thread safe, must synchronize - if (dislikeCountFormatter == null) { - Locale locale = Objects.requireNonNull(Utils.getContext()).getResources().getConfiguration().locale; - dislikeCountFormatter = CompactDecimalFormat.getInstance(locale, CompactDecimalFormat.CompactStyle.SHORT); - - // YouTube disregards locale specific number characters - // and instead shows english number characters everywhere. - // To use the same behavior, override the digit characters to use English - // so languages such as Arabic will show "1.234" instead of the native "۱,۲۳٤" - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { - DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(locale); - symbols.setDigitStrings(DecimalFormatSymbols.getInstance(Locale.ENGLISH).getDigitStrings()); - dislikeCountFormatter.setDecimalFormatSymbols(symbols); - } + synchronized (ReturnYouTubeDislike.class) { // number formatter is not thread safe, must synchronize + if (dislikeCountFormatter == null) { + Locale locale = Objects.requireNonNull(Utils.getContext()).getResources().getConfiguration().locale; + dislikeCountFormatter = CompactDecimalFormat.getInstance(locale, CompactDecimalFormat.CompactStyle.SHORT); + + // YouTube disregards locale specific number characters + // and instead shows english number characters everywhere. + // To use the same behavior, override the digit characters to use English + // so languages such as Arabic will show "1.234" instead of the native "۱,۲۳٤" + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(locale); + symbols.setDigitStrings(DecimalFormatSymbols.getInstance(Locale.ENGLISH).getDigitStrings()); + dislikeCountFormatter.setDecimalFormatSymbols(symbols); } - return dislikeCountFormatter.format(dislikeCount); } - } - // Will never be reached, as the oldest supported YouTube app requires Android N or greater. - return String.valueOf(dislikeCount); + return dislikeCountFormatter.format(dislikeCount); + } } private static String formatDislikePercentage(float dislikePercentage) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - synchronized (ReturnYouTubeDislike.class) { // number formatter is not thread safe, must synchronize - if (dislikePercentageFormatter == null) { - Locale locale = Objects.requireNonNull(Utils.getContext()).getResources().getConfiguration().locale; - dislikePercentageFormatter = NumberFormat.getPercentInstance(locale); - - // Want to set the digit strings, and the simplest way is to cast to the implementation NumberFormat returns. - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P - && dislikePercentageFormatter instanceof DecimalFormat) { - DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(locale); - symbols.setDigitStrings(DecimalFormatSymbols.getInstance(Locale.ENGLISH).getDigitStrings()); - ((DecimalFormat) dislikePercentageFormatter).setDecimalFormatSymbols(symbols); - } - } - if (dislikePercentage >= 0.01) { // at least 1% - dislikePercentageFormatter.setMaximumFractionDigits(0); // show only whole percentage points - } else { - dislikePercentageFormatter.setMaximumFractionDigits(1); // show up to 1 digit precision + synchronized (ReturnYouTubeDislike.class) { // Number formatter is not thread safe, must synchronize. + if (dislikePercentageFormatter == null) { + Locale locale = Objects.requireNonNull(Utils.getContext()).getResources().getConfiguration().locale; + dislikePercentageFormatter = NumberFormat.getPercentInstance(locale); + + // Want to set the digit strings, and the simplest way is to cast to the implementation NumberFormat returns. + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P + && dislikePercentageFormatter instanceof DecimalFormat) { + DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(locale); + symbols.setDigitStrings(DecimalFormatSymbols.getInstance(Locale.ENGLISH).getDigitStrings()); + ((DecimalFormat) dislikePercentageFormatter).setDecimalFormatSymbols(symbols); } - return dislikePercentageFormatter.format(dislikePercentage); } - } - // Will never be reached, as the oldest supported YouTube app requires Android N or greater. - return String.valueOf((int) (dislikePercentage * 100)); + if (dislikePercentage >= 0.01) { // at least 1% + dislikePercentageFormatter.setMaximumFractionDigits(0); // show only whole percentage points + } else { + dislikePercentageFormatter.setMaximumFractionDigits(1); // show up to 1 digit precision + } + + return dislikePercentageFormatter.format(dislikePercentage); + } } @NonNull @@ -403,15 +396,13 @@ public static ReturnYouTubeDislike getFetchForVideoId(@Nullable String videoId) Objects.requireNonNull(videoId); synchronized (fetchCache) { // Remove any expired entries. - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - final long now = System.currentTimeMillis(); - fetchCache.values().removeIf(value -> { - final boolean expired = value.isExpired(now); - if (expired) - Logger.printDebug(() -> "Removing expired fetch: " + value.videoId); - return expired; - }); - } + final long now = System.currentTimeMillis(); + fetchCache.values().removeIf(value -> { + final boolean expired = value.isExpired(now); + if (expired) + Logger.printDebug(() -> "Removing expired fetch: " + value.videoId); + return expired; + }); ReturnYouTubeDislike fetch = fetchCache.get(videoId); if (fetch == null) { diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java index 00cf12a354..3a826107f7 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java @@ -153,13 +153,10 @@ private void setPreferenceScreenToolbar(PreferenceScreen parentScreen) { toolbar.setTitle(childScreen.getTitle()); toolbar.setNavigationIcon(getBackButtonDrawable()); toolbar.setNavigationOnClickListener(view -> preferenceScreenDialog.dismiss()); - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - final int margin = (int) TypedValue.applyDimension( - TypedValue.COMPLEX_UNIT_DIP, 16, getResources().getDisplayMetrics() - ); - toolbar.setTitleMargin(margin, 0, margin, 0); - } + final int margin = (int) TypedValue.applyDimension( + TypedValue.COMPLEX_UNIT_DIP, 16, getResources().getDisplayMetrics() + ); + toolbar.setTitleMargin(margin, 0, margin, 0); TextView toolbarTextView = Utils.getChildView(toolbar, true, TextView.class::isInstance); diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SponsorBlockPreferenceFragment.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SponsorBlockPreferenceFragment.java index 2d1324d093..6f77069246 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SponsorBlockPreferenceFragment.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SponsorBlockPreferenceFragment.java @@ -6,7 +6,6 @@ import android.content.DialogInterface; import android.content.Intent; import android.net.Uri; -import android.os.Build; import android.os.Bundle; import android.preference.*; import android.text.Html; @@ -393,9 +392,7 @@ protected void onPrepareDialogBuilder(AlertDialog.Builder builder) { importExport.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - importExport.getEditText().setAutofillHints((String) null); - } + importExport.getEditText().setAutofillHints((String) null); importExport.getEditText().setTextSize(TypedValue.COMPLEX_UNIT_PT, 8); importExport.setOnPreferenceClickListener(preference1 -> { importExport.getEditText().setText(SponsorBlockSettings.exportDesktopSettings()); diff --git a/extensions/youtube/stub/build.gradle.kts b/extensions/youtube/stub/build.gradle.kts index c1cc5794c0..3ec9f09a8c 100644 --- a/extensions/youtube/stub/build.gradle.kts +++ b/extensions/youtube/stub/build.gradle.kts @@ -4,14 +4,9 @@ plugins { android { namespace = "app.revanced.extension" - compileSdk = 33 + compileSdk = 34 defaultConfig { minSdk = 24 } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } } diff --git a/patches/src/main/kotlin/app/revanced/patches/all/misc/directory/documentsprovider/ExportInternalDataDocumentsProviderPatch.kt b/patches/src/main/kotlin/app/revanced/patches/all/misc/directory/documentsprovider/ExportInternalDataDocumentsProviderPatch.kt index 1f2a2d53c4..187fd23818 100644 --- a/patches/src/main/kotlin/app/revanced/patches/all/misc/directory/documentsprovider/ExportInternalDataDocumentsProviderPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/all/misc/directory/documentsprovider/ExportInternalDataDocumentsProviderPatch.kt @@ -14,7 +14,7 @@ val exportInternalDataDocumentsProviderPatch = resourcePatch( ) { dependsOn( bytecodePatch { - extendWith("extensions/all/misc/directory/export-internal-data-documents-provider.rve") + extendWith("extensions/all/misc/directory/documentsprovider/export-internal-data-documents-provider.rve") }, ) diff --git a/patches/src/main/kotlin/app/revanced/patches/all/misc/screencapture/RemoveScreenCaptureRestrictionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/all/misc/screencapture/RemoveScreenCaptureRestrictionPatch.kt index 4b5955d874..a65c19d6c9 100644 --- a/patches/src/main/kotlin/app/revanced/patches/all/misc/screencapture/RemoveScreenCaptureRestrictionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/all/misc/screencapture/RemoveScreenCaptureRestrictionPatch.kt @@ -25,7 +25,7 @@ private val removeCaptureRestrictionResourcePatch = resourcePatch( } private const val EXTENSION_CLASS_DESCRIPTOR_PREFIX = - "Lapp/revanced/extension/all/screencapture/removerestriction/RemoveScreencaptureRestrictionPatch" + "Lapp/revanced/extension/all/screencapture/removerestriction/RemoveScreenCaptureRestrictionPatch" private const val EXTENSION_CLASS_DESCRIPTOR = "$EXTENSION_CLASS_DESCRIPTOR_PREFIX;" @Suppress("unused") diff --git a/settings.gradle.kts b/settings.gradle.kts index a43ee0c2e6..357fde7cdf 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -23,7 +23,9 @@ settings { extensions { defaultNamespace = "app.revanced.extension" - proguardFiles("../proguard-rules.pro") + // Must resolve to an absolute path (not relative), + // otherwise the extensions in subfolders will fail to find the proguard config. + proguardFiles(rootProject.projectDir.resolve("extensions/proguard-rules.pro").toString()) } }