use correct tag

This commit is contained in:
oSumAtrIX 2024-12-09 07:38:36 +01:00
parent 0900686564
commit fc540ddab2
No known key found for this signature in database
GPG Key ID: A9B3094ACDB604B4
10 changed files with 70 additions and 23 deletions

View File

@ -0,0 +1,4 @@
dependencies {
compileOnly(project(":extensions:shared:library"))
compileOnly(libs.annotation)
}

View File

@ -0,0 +1 @@
<manifest/>

View File

@ -0,0 +1,20 @@
package app.revanced.extension.music.announcements;
import android.app.Activity;
import android.os.Build;
import androidx.annotation.RequiresApi;
import app.revanced.extension.shared.announcements.BaseAnnouncementsPatch;
@SuppressWarnings("unused")
public class AnnouncementsPatch extends BaseAnnouncementsPatch {
private static final AnnouncementsPatch INSTANCE = new AnnouncementsPatch();
private AnnouncementsPatch() {
super("music");
}
@RequiresApi(api = Build.VERSION_CODES.O)
public static void showAnnouncement(final Activity context) {
INSTANCE._showAnnouncement(context);
}
}

View File

@ -2,8 +2,6 @@ package app.revanced.extension.shared.announcements;
import static android.text.Html.FROM_HTML_MODE_COMPACT;
import static app.revanced.extension.shared.StringRef.str;
import static app.revanced.extension.shared.announcements.requests.AnnouncementsRoutes.GET_LATEST_ANNOUNCEMENTS;
import static app.revanced.extension.shared.announcements.requests.AnnouncementsRoutes.GET_LATEST_ANNOUNCEMENT_IDS;
import android.app.Activity;
import android.app.AlertDialog;
@ -26,15 +24,17 @@ import app.revanced.extension.shared.requests.Requester;
import app.revanced.extension.shared.announcements.requests.AnnouncementsRoutes;
import app.revanced.extension.shared.settings.BaseSettings;
@SuppressWarnings("unused")
public final class AnnouncementsPatch {
private AnnouncementsPatch() {
public abstract class BaseAnnouncementsPatch {
private final AnnouncementsRoutes announcementsRoutes;
public BaseAnnouncementsPatch(String tag) {
this.announcementsRoutes = new AnnouncementsRoutes(tag);
}
@RequiresApi(api = Build.VERSION_CODES.O)
private static boolean isLatestAlready() throws IOException {
private boolean isLatestAlready() throws IOException {
HttpURLConnection connection =
AnnouncementsRoutes.getAnnouncementsConnectionFromRoute(GET_LATEST_ANNOUNCEMENT_IDS);
announcementsRoutes.getAnnouncementsConnectionFromRoute(announcementsRoutes.GET_LATEST_ANNOUNCEMENT_IDS);
Logger.printDebug(() -> "Get latest announcement IDs route connection url: " + connection.getURL());
@ -71,7 +71,7 @@ public final class AnnouncementsPatch {
}
@RequiresApi(api = Build.VERSION_CODES.O)
public static void showAnnouncement(final Activity context) {
public void _showAnnouncement(final Activity context) {
if (!BaseSettings.ANNOUNCEMENTS.get()) return;
// Check if there is internet connection
@ -81,8 +81,8 @@ public final class AnnouncementsPatch {
try {
if (isLatestAlready()) return;
HttpURLConnection connection = AnnouncementsRoutes
.getAnnouncementsConnectionFromRoute(GET_LATEST_ANNOUNCEMENTS);
HttpURLConnection connection = announcementsRoutes
.getAnnouncementsConnectionFromRoute(announcementsRoutes.GET_LATEST_ANNOUNCEMENTS);
Logger.printDebug(() -> "Get latest announcements route connection url: " + connection.getURL());

View File

@ -9,14 +9,15 @@ import java.net.HttpURLConnection;
import static app.revanced.extension.shared.requests.Route.Method.GET;
public class AnnouncementsRoutes {
public static final Route GET_LATEST_ANNOUNCEMENT_IDS = new Route(GET, "/announcements/latest/id?tag=youtube");
public static final Route GET_LATEST_ANNOUNCEMENTS = new Route(GET, "/announcements/latest?tag=youtube");
private static final String ANNOUNCEMENTS_PROVIDER = "https://api.revanced.app/v4";
public final Route GET_LATEST_ANNOUNCEMENTS;
public final Route GET_LATEST_ANNOUNCEMENT_IDS;
private AnnouncementsRoutes() {
public AnnouncementsRoutes(String tag) {
this.GET_LATEST_ANNOUNCEMENTS = new Route(GET, "/announcements/latest?tag=" + tag);
this.GET_LATEST_ANNOUNCEMENT_IDS = new Route(GET, "/announcements/latest/ids?tag=" + tag);
}
public static HttpURLConnection getAnnouncementsConnectionFromRoute(Route route, String... params) throws IOException {
return Requester.getConnectionFromRoute(ANNOUNCEMENTS_PROVIDER, route, params);
public HttpURLConnection getAnnouncementsConnectionFromRoute(Route route, String... params) throws IOException {
return Requester.getConnectionFromRoute("https://api.revanced.app/v4", route, params);
}
}

View File

@ -0,0 +1,20 @@
package app.revanced.extension.youtube.patches.announcements;
import android.app.Activity;
import android.os.Build;
import androidx.annotation.RequiresApi;
import app.revanced.extension.shared.announcements.BaseAnnouncementsPatch;
@SuppressWarnings("unused")
public class AnnouncementsPatch extends BaseAnnouncementsPatch {
private static final AnnouncementsPatch INSTANCE = new AnnouncementsPatch();
private AnnouncementsPatch() {
super("youtube");
}
@RequiresApi(api = Build.VERSION_CODES.O)
public static void showAnnouncement(final Activity context) {
INSTANCE._showAnnouncement(context);
}
}

View File

@ -6,17 +6,15 @@ import app.revanced.patcher.patch.*
import app.revanced.patches.all.misc.resources.addResources
import app.revanced.patches.all.misc.resources.addResourcesPatch
private const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/shared/announcements/AnnouncementsPatch;"
fun announcementsPatch(
mainActivityOnCreateFingerprint: Fingerprint,
extensionPatch: Patch<*>,
extensionClassDescriptor: String,
block: BytecodePatchBuilder.() -> Unit = {},
executeBlock: BytecodePatchContext.() -> Unit = {},
) = bytecodePatch(
name = "Announcements",
description = "Adds an option to show announcements from ReVanced on app startup.",
description = "Shows announcements from ReVanced on app startup.",
) {
block()
@ -30,7 +28,7 @@ fun announcementsPatch(
mainActivityOnCreateFingerprint.method.addInstructions(
0,
"invoke-static/range { p0 .. p0 }, $EXTENSION_CLASS_DESCRIPTOR->showAnnouncement(Landroid/app/Activity;)V",
"invoke-static/range { p0 .. p0 }, $extensionClassDescriptor->showAnnouncement(Landroid/app/Activity;)V",
)
executeBlock()

View File

@ -1,12 +1,13 @@
package app.revanced.patches.music.misc.announcements
import app.revanced.patches.all.misc.announcements.announcementsPatch
import app.revanced.patches.music.misc.extension.sharedExtensionPatch
import app.revanced.patches.music.shared.musicActivityOnCreateFingerprint
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
val announcementsPatch = announcementsPatch(
musicActivityOnCreateFingerprint,
sharedExtensionPatch,
"Lapp/revanced/extension/music/announcements/AnnouncementsPatch;",
{
compatibleWith("com.google.android.apps.music")
},

View File

@ -4,5 +4,6 @@ import app.revanced.patches.music.misc.extension.hooks.applicationInitHook
import app.revanced.patches.shared.misc.extension.sharedExtensionPatch
val sharedExtensionPatch = sharedExtensionPatch(
"music",
applicationInitHook,
)

View File

@ -11,6 +11,7 @@ import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint
val announcementsPatch = announcementsPatch(
mainActivityOnCreateFingerprint,
sharedExtensionPatch,
"Lapp/revanced/extension/youtube/patches/announcements/AnnouncementsPatch;",
{
dependsOn(settingsPatch)