diff --git a/app/src/main/java/app/revanced/integrations/patches/FixBackToExitGesturePatch.java b/app/src/main/java/app/revanced/integrations/patches/FixBackToExitGesturePatch.java new file mode 100644 index 00000000..ab210d27 --- /dev/null +++ b/app/src/main/java/app/revanced/integrations/patches/FixBackToExitGesturePatch.java @@ -0,0 +1,42 @@ +package app.revanced.integrations.patches; + +import com.google.android.apps.youtube.app.watchwhile.WatchWhileActivity; +import app.revanced.integrations.utils.LogHelper; + +public class FixBackToExitGesturePatch { + /** + * State whether the scroll position reaches the top. + */ + public static boolean isTopView = false; + + /** + * Handle the event after clicking the back button. + * + * @param activity The activity, the app is launched with to finish. + */ + public static void onBackPressed(WatchWhileActivity activity) { + if (!isTopView) return; + + LogHelper.printDebug(() -> "Activity is closed"); + + activity.finish(); + } + + /** + * Handle the event when the homepage list of views is being scrolled. + */ + public static void onScrollingViews() { + LogHelper.printDebug(() -> "Views are scrolling"); + + isTopView = false; + } + + /** + * Handle the event when the homepage list of views reached the top. + */ + public static void onTopView() { + LogHelper.printDebug(() -> "Scrolling reached the top"); + + isTopView = true; + } +} diff --git a/dummy/src/main/java/com/google/android/apps/youtube/app/watchwhile/WatchWhileActivity.java b/dummy/src/main/java/com/google/android/apps/youtube/app/watchwhile/WatchWhileActivity.java new file mode 100644 index 00000000..d86113d0 --- /dev/null +++ b/dummy/src/main/java/com/google/android/apps/youtube/app/watchwhile/WatchWhileActivity.java @@ -0,0 +1,7 @@ +package com.google.android.apps.youtube.app.watchwhile; + +import android.app.Activity; + +// Dummy class +public final class WatchWhileActivity extends Activity { } +