Skip to content

Commit 44737c2

Browse files
Merge pull request #16909 from nextcloud/fix/gallery-stay-where-it-is-after-picking-image
fix(gallery): scroll to position
2 parents 6e67133 + 1d76e45 commit 44737c2

2 files changed

Lines changed: 8 additions & 9 deletions

File tree

app/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@
9393
import com.owncloud.android.ui.events.ChangeMenuEvent;
9494
import com.owncloud.android.ui.events.SearchEvent;
9595
import com.owncloud.android.ui.fragment.FileDetailsSharingProcessFragment;
96+
import com.owncloud.android.ui.fragment.GalleryFragment;
9697
import com.owncloud.android.ui.fragment.OCFileListFragment;
9798
import com.owncloud.android.ui.navigation.NavigatorActivity;
9899
import com.owncloud.android.ui.navigation.NavigatorScreen;
@@ -330,6 +331,7 @@ private void openFavoritesTab() {
330331
}
331332

332333
private void openMediaTab(int menuItemId) {
334+
GalleryFragment.Companion.setLastMediaItemPosition(null);
333335
resetOnlyPersonalAndOnDevice();
334336
setupToolbar();
335337
startPhotoSearch(menuItemId);

app/src/main/java/com/owncloud/android/ui/fragment/GalleryFragment.kt

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,6 @@ class GalleryFragment :
131131

132132
LocalBroadcastManager.getInstance(requireContext()).unregisterReceiver(refreshSearchEventReceiver)
133133

134-
setLastMediaItemPosition(null)
135-
136134
adapter?.cleanup()
137135

138136
super.onDestroyView()
@@ -188,13 +186,12 @@ class GalleryFragment :
188186
(recyclerView as EmptyRecyclerView).setHasFooter(false)
189187
}
190188

191-
if (recyclerView != null) {
192-
val layoutManager = GridLayoutManager(context, 1)
193-
adapter?.setLayoutManager(layoutManager)
194-
recyclerView?.setLayoutManager(layoutManager)
195-
196-
if (lastMediaItemPosition != null) {
197-
layoutManager.scrollToPosition(lastMediaItemPosition!!)
189+
val layoutManager = GridLayoutManager(context, 1)
190+
adapter?.setLayoutManager(layoutManager)
191+
recyclerView?.setLayoutManager(layoutManager)
192+
recyclerView?.post {
193+
lastMediaItemPosition?.let { position ->
194+
recyclerView?.layoutManager?.scrollToPosition(position)
198195
}
199196
}
200197
}

0 commit comments

Comments
 (0)