Skip to content

Commit

Permalink
Merge pull request #9767 from nextcloud/backport/9743/stable-3.19
Browse files Browse the repository at this point in the history
[stable-3.19] Fix crashes and double loading in GalleryFragment when changing dark theme
  • Loading branch information
AlvaroBrey committed Jan 27, 2022
2 parents 4d3f6d1 + 52e3fae commit 7dfaf3e
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -525,7 +525,7 @@ protected void onNewIntent(Intent intent) {
if (SearchRemoteOperation.SearchType.PHOTO_SEARCH.equals(searchEvent.searchType)) {
Log_OC.d(this, "Switch to photo search fragment");

GalleryFragment photoFragment = new GalleryFragment(true);
GalleryFragment photoFragment = new GalleryFragment();
Bundle bundle = new Bundle();
bundle.putParcelable(OCFileListFragment.SEARCH_EVENT, Parcels.wrap(searchEvent));
photoFragment.setArguments(bundle);
Expand Down Expand Up @@ -2071,7 +2071,7 @@ public void run() {

OCFileListFragment fragment = getListOfFilesFragment();

if (fragment != null) {
if (fragment != null && !(fragment instanceof GalleryFragment)) {
fragment.setLoading(true);
}

Expand Down Expand Up @@ -2341,7 +2341,7 @@ public void onMessageEvent(final SearchEvent event) {
if (SearchRemoteOperation.SearchType.PHOTO_SEARCH == event.searchType) {
Log_OC.d(this, "Switch to photo search fragment");

setLeftFragment(new GalleryFragment(true));
setLeftFragment(new GalleryFragment());
}
}

Expand Down
37 changes: 21 additions & 16 deletions src/main/java/com/owncloud/android/ui/fragment/GalleryFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -54,27 +54,25 @@ public class GalleryFragment extends OCFileListFragment {
private SearchEvent searchEvent;
private boolean refresh;

public GalleryFragment() {
this.refresh = false;
}

public GalleryFragment(boolean refresh) {
this.refresh = refresh;
private void createOperation() {
if(searchEvent == null) {
searchEvent = new SearchEvent("", SearchRemoteOperation.SearchType.GALLERY_SEARCH);
}
if(searchRemoteOperation == null) {
OCCapability ocCapability = mContainerActivity.getStorageManager()
.getCapability(accountManager.getUser().getAccountName());

searchRemoteOperation = new SearchRemoteOperation(searchEvent.getSearchQuery(),
searchEvent.getSearchType(),
false,
ocCapability);
}
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

searchEvent = new SearchEvent("", SearchRemoteOperation.SearchType.GALLERY_SEARCH);

OCCapability ocCapability = mContainerActivity.getStorageManager()
.getCapability(accountManager.getUser().getAccountName());

searchRemoteOperation = new SearchRemoteOperation(searchEvent.getSearchQuery(),
searchEvent.getSearchType(),
false,
ocCapability);
refresh = true;
}

@Override
Expand All @@ -91,6 +89,7 @@ public void onPause() {
*/
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
createOperation();
View v = super.onCreateView(inflater, container, savedInstanceState);

getRecyclerView().addOnScrollListener(new RecyclerView.OnScrollListener() {
Expand Down Expand Up @@ -126,6 +125,12 @@ public void onRefresh() {
handleSearchEvent();
}

@Override
public void onResume() {
super.onResume();
setLoading(photoSearchQueryRunning);
}

@Override
public void onMessageEvent(ChangeMenuEvent changeMenuEvent) {
super.onMessageEvent(changeMenuEvent);
Expand Down

0 comments on commit 7dfaf3e

Please sign in to comment.