diff --git a/app/src/main/java/app/revanced/integrations/youtube/patches/misc/ShareSheetPatch.java b/app/src/main/java/app/revanced/integrations/youtube/patches/misc/ShareSheetPatch.java index 5365d4ce5a..2de814ca64 100644 --- a/app/src/main/java/app/revanced/integrations/youtube/patches/misc/ShareSheetPatch.java +++ b/app/src/main/java/app/revanced/integrations/youtube/patches/misc/ShareSheetPatch.java @@ -13,6 +13,17 @@ public class ShareSheetPatch { private static final boolean changeShareSheetEnabled = Settings.CHANGE_SHARE_SHEET.get(); + private static void clickSystemShareButton(final RecyclerView bottomSheetRecyclerView, + final RecyclerView appsContainerRecyclerView) { + if (appsContainerRecyclerView.getChildAt(appsContainerRecyclerView.getChildCount() - 1) instanceof ViewGroup parentView && + parentView.getChildAt(0) instanceof ViewGroup shareWithOtherAppsView) { + ShareSheetMenuFilter.isShareSheetMenuVisible = false; + + bottomSheetRecyclerView.setVisibility(View.GONE); + Utils.clickView(shareWithOtherAppsView); + } + } + /** * Injection point. */ @@ -22,17 +33,18 @@ public static void onShareSheetMenuCreate(final RecyclerView recyclerView) { recyclerView.getViewTreeObserver().addOnDrawListener(() -> { try { - if (ShareSheetMenuFilter.isShareSheetMenuVisible && - recyclerView.getChildAt(0) instanceof ViewGroup parentView4th && - parentView4th.getChildAt(0) instanceof ViewGroup parentView3rd && - parentView3rd.getChildAt(0) instanceof ViewGroup parentView2nd && - parentView2nd.getChildAt(parentView2nd.getChildCount() - 1) instanceof ViewGroup parentView && - parentView.getChildAt(0) instanceof ViewGroup shareWithOtherAppsView - ) { - ShareSheetMenuFilter.isShareSheetMenuVisible = false; - - recyclerView.setVisibility(View.GONE); - Utils.clickView(shareWithOtherAppsView); + if (!ShareSheetMenuFilter.isShareSheetMenuVisible) { + return; + } + if (!(recyclerView.getChildAt(0) instanceof ViewGroup parentView4th)) { + return; + } + if (parentView4th.getChildAt(0) instanceof ViewGroup parentView3rd && + parentView3rd.getChildAt(0) instanceof RecyclerView appsContainerRecyclerView) { + clickSystemShareButton(recyclerView, appsContainerRecyclerView); + } else if (parentView4th.getChildAt(1) instanceof ViewGroup parentView3rd && + parentView3rd.getChildAt(0) instanceof RecyclerView appsContainerRecyclerView) { + clickSystemShareButton(recyclerView, appsContainerRecyclerView); } } catch (Exception ex) { Logger.printException(() -> "onShareSheetMenuCreate failure", ex);