@@ -125,8 +125,6 @@ public void onDestroyView() {
125125
126126 LocalBroadcastManager .getInstance (requireContext ()).unregisterReceiver (refreshSearchEventReceiver );
127127
128- setLastMediaItemPosition (null );
129-
130128 mAdapter .cleanup ();
131129
132130 super .onDestroyView ();
@@ -176,31 +174,37 @@ public void onActivityCreated(Bundle savedInstanceState) {
176174 }
177175
178176 @ Override
179- protected void setAdapter (Bundle args ) {
180- mAdapter = new GalleryAdapter (requireContext (),
181- accountManager .getUser (),
182- this ,
183- preferences ,
184- mContainerActivity ,
185- viewThemeUtils ,
186- columnSize ,
187- ThumbnailsCacheManager .getThumbnailDimension ());
177+ public void setAdapter (Bundle args ) {
178+ final var recyclerView = getRecyclerView ();
179+ mAdapter = new GalleryAdapter (
180+ requireContext (),
181+ accountManager .getUser (),
182+ this ,
183+ preferences ,
184+ mContainerActivity ,
185+ viewThemeUtils ,
186+ columnSize ,
187+ ThumbnailsCacheManager .getThumbnailDimension ()
188+ );
188189 mAdapter .setHasStableIds (true );
189190 setRecyclerViewAdapter (mAdapter );
190-
191- //update the footer as there is no footer shown in media view
192- if (getRecyclerView () instanceof EmptyRecyclerView ) {
193- ((EmptyRecyclerView ) getRecyclerView ()).setHasFooter (false );
191+ // update the footer as there is no footer shown in media view
192+ if (recyclerView instanceof EmptyRecyclerView emptyRecyclerView ) {
193+ emptyRecyclerView .setHasFooter (false );
194194 }
195195
196- if (getRecyclerView () != null ) {
196+ if (recyclerView != null ) {
197197 GridLayoutManager layoutManager = new GridLayoutManager (getContext (), 1 );
198198 mAdapter .setLayoutManager (layoutManager );
199- getRecyclerView ().setLayoutManager (layoutManager );
200-
201- if (lastMediaItemPosition != null ) {
202- layoutManager .scrollToPosition (lastMediaItemPosition );
203- }
199+ recyclerView .setLayoutManager (layoutManager );
200+ recyclerView .post (() -> {
201+ if (lastMediaItemPosition != null ) {
202+ RecyclerView .LayoutManager lm = recyclerView .getLayoutManager ();
203+ if (lm != null ) {
204+ lm .scrollToPosition (lastMediaItemPosition );
205+ }
206+ }
207+ });
204208 }
205209 }
206210
0 commit comments