Procházet zdrojové kódy

GalleryFragment: force refresh on create, prevent unneeded refresh animations

This fixes bugs with double-loading and weird animations

Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
Álvaro Brey Vilas před 3 roky
rodič
revize
80928a2799

+ 3 - 3
src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java

@@ -525,7 +525,7 @@ public class FileDisplayActivity extends FileActivity
                     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);
@@ -2071,7 +2071,7 @@ public class FileDisplayActivity extends FileActivity
 
                             OCFileListFragment fragment = getListOfFilesFragment();
 
-                            if (fragment != null) {
+                            if (fragment != null && !(fragment instanceof GalleryFragment)) {
                                 fragment.setLoading(true);
                             }
 
@@ -2341,7 +2341,7 @@ public class FileDisplayActivity extends FileActivity
         if (SearchRemoteOperation.SearchType.PHOTO_SEARCH == event.searchType) {
             Log_OC.d(this, "Switch to photo search fragment");
 
-            setLeftFragment(new GalleryFragment(true));
+            setLeftFragment(new GalleryFragment());
         }
     }
 

+ 12 - 8
src/main/java/com/owncloud/android/ui/fragment/GalleryFragment.java

@@ -54,14 +54,6 @@ 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);
@@ -77,6 +69,12 @@ public class GalleryFragment extends OCFileListFragment {
         }
     }
 
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        refresh = true;
+    }
+
     @Override
     public void onPause() {
         super.onPause();
@@ -127,6 +125,12 @@ public class GalleryFragment extends OCFileListFragment {
         handleSearchEvent();
     }
 
+    @Override
+    public void onResume() {
+        super.onResume();
+        setLoading(photoSearchQueryRunning);
+    }
+
     @Override
     public void onMessageEvent(ChangeMenuEvent changeMenuEvent) {
         super.onMessageEvent(changeMenuEvent);