diff --git a/app/src/main/java/fi/razerman/youtube/Helpers/XSwipeHelper.java b/app/src/main/java/fi/razerman/youtube/Helpers/XSwipeHelper.java new file mode 100644 index 0000000..7817e2b --- /dev/null +++ b/app/src/main/java/fi/razerman/youtube/Helpers/XSwipeHelper.java @@ -0,0 +1,8 @@ +package fi.razerman.youtube.Helpers; + +import android.view.ViewGroup; + +public class XSwipeHelper { + // Implementation in another repo + public static ViewGroup nextGenWatchLayout; +} \ No newline at end of file diff --git a/app/src/main/java/fi/vanced/libraries/youtube/sponsors/player/ui/SponsorBlockView.java b/app/src/main/java/fi/vanced/libraries/youtube/sponsors/player/ui/SponsorBlockView.java index 86e2c93..f2cedf9 100644 --- a/app/src/main/java/fi/vanced/libraries/youtube/sponsors/player/ui/SponsorBlockView.java +++ b/app/src/main/java/fi/vanced/libraries/youtube/sponsors/player/ui/SponsorBlockView.java @@ -11,6 +11,8 @@ import com.google.android.apps.youtube.app.YouTubeTikTokRoot_Application; import java.lang.ref.WeakReference; +import fi.razerman.youtube.Helpers.XSwipeHelper; + import static fi.razerman.youtube.XGlobals.debug; public class SponsorBlockView { @@ -145,11 +147,29 @@ public class SponsorBlockView { } private static void bringLayoutToFront() { + checkLayout(); inlineSponsorOverlay.bringToFront(); inlineSponsorOverlay.requestLayout(); inlineSponsorOverlay.invalidate(); } + private static void checkLayout() { + if (inlineSponsorOverlay.getHeight() == 0) { + View layout = XSwipeHelper.nextGenWatchLayout.findViewById(getIdentifier("player_overlays", "id")); + if (layout != null) { + + initialize(layout); + + if (debug){ + Log.d("XGlobals", "player_overlays refreshed for SB"); + } + } + else if (debug){ + Log.d("XGlobals", "player_overlays was not found for SB"); + } + } + } + private static int getIdentifier(String name, String defType) { Context context = YouTubeTikTokRoot_Application.getAppContext(); return context.getResources().getIdentifier(name, defType, context.getPackageName());