diff --git a/apps/mobile/src/features/threads/git/GitOverviewSheet.tsx b/apps/mobile/src/features/threads/git/GitOverviewSheet.tsx index 43e541083688f..112274dde86b3 100644 --- a/apps/mobile/src/features/threads/git/GitOverviewSheet.tsx +++ b/apps/mobile/src/features/threads/git/GitOverviewSheet.tsx @@ -227,6 +227,11 @@ function GitOverviewSheetContent(props: GitOverviewSheetProps) { setIsRefreshing(false); }; + // An Android bottom sheet reads a RefreshControl's list as unable to scroll up and drags itself + // instead, so Android sheets omit it; status still refreshes in the background. + const inAndroidSheet = + Platform.OS === "android" && (!isInspector || closeInspectorSheet !== null); + const content = ( void handleRefresh()} /> + inAndroidSheet ? undefined : ( + void handleRefresh()} /> + ) } > @@ -344,10 +351,16 @@ function GitOverviewSheetContent(props: GitOverviewSheetProps) { }; return ( + // Material sheet drags follow the first nested-scrolling native view, and the AppBar's + // Compose buttons are some, so Android renders content first and reverses the column. + {content} navigation.goBack()} refresh={refresh} /> - {content} ); }