Prechádzať zdrojové kódy

Fix a few things

Signed-off-by: Mario Danic <mario@lovelyhq.com>
Mario Danic 8 rokov pred
rodič
commit
d1847a25d3

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

@@ -1070,20 +1070,22 @@ public class FileDisplayActivity extends HookActivity
 
         if (searchView != null && !TextUtils.isEmpty(searchQuery)) {
             searchView.setQuery(searchQuery, true);
-        } else {
+        } else if (getListOfFilesFragment() != null && !getListOfFilesFragment().getIsSearchFragment()) {
             refreshListOfFilesFragment(false);
         }
 
         // Listen for sync messages
-        IntentFilter syncIntentFilter = new IntentFilter(FileSyncAdapter.EVENT_FULL_SYNC_START);
-        syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_END);
-        syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_FOLDER_CONTENTS_SYNCED);
-        syncIntentFilter.addAction(RefreshFolderOperation.EVENT_SINGLE_FOLDER_CONTENTS_SYNCED);
-        syncIntentFilter.addAction(RefreshFolderOperation.EVENT_SINGLE_FOLDER_SHARES_SYNCED);
-        mSyncBroadcastReceiver = new SyncBroadcastReceiver();
-        registerReceiver(mSyncBroadcastReceiver, syncIntentFilter);
-        //LocalBroadcastManager.getInstance(this).registerReceiver(mSyncBroadcastReceiver,
-        // syncIntentFilter);
+        if (getListOfFilesFragment() != null && !getListOfFilesFragment().getIsSearchFragment()) {
+            IntentFilter syncIntentFilter = new IntentFilter(FileSyncAdapter.EVENT_FULL_SYNC_START);
+            syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_END);
+            syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_FOLDER_CONTENTS_SYNCED);
+            syncIntentFilter.addAction(RefreshFolderOperation.EVENT_SINGLE_FOLDER_CONTENTS_SYNCED);
+            syncIntentFilter.addAction(RefreshFolderOperation.EVENT_SINGLE_FOLDER_SHARES_SYNCED);
+            mSyncBroadcastReceiver = new SyncBroadcastReceiver();
+            registerReceiver(mSyncBroadcastReceiver, syncIntentFilter);
+            //LocalBroadcastManager.getInstance(this).registerReceiver(mSyncBroadcastReceiver,
+            // syncIntentFilter);
+        }
 
         // Listen for upload messages
         IntentFilter uploadIntentFilter = new IntentFilter(FileUploader.getUploadFinishMessage());
@@ -2062,7 +2064,7 @@ public class FileDisplayActivity extends HookActivity
 
     private void refreshList(boolean ignoreETag) {
         OCFileListFragment listOfFiles = getListOfFilesFragment();
-        if (listOfFiles != null) {
+        if (listOfFiles != null && !listOfFiles.getIsSearchFragment()) {
             OCFile folder = listOfFiles.getCurrentFile();
             if (folder != null) {
                 /*mFile = mContainerActivity.getStorageManager().getFileById(mFile.getFileId());

+ 13 - 1
src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java

@@ -328,7 +328,7 @@ public class OCFileListFragment extends ExtendedListFragment implements OCFileLi
         }
 
         searchEvent = Parcels.unwrap(getArguments().getParcelable(OCFileListFragment.SEARCH_EVENT));
-        if (searchEvent != null && searchFragment) {
+        if (searchEvent != null && searchFragment && savedInstanceState == null) {
             onMessageEvent(searchEvent);
         }
     }
@@ -1462,6 +1462,14 @@ public class OCFileListFragment extends ExtendedListFragment implements OCFileLi
                         } else {
                             mAdapter.setData(remoteOperationResult.getData(), currentSearchType, storageManager);
                         }
+
+                                final FileDisplayActivity fileDisplayActivity = (FileDisplayActivity) getActivity();
+                                fileDisplayActivity.runOnUiThread(new Runnable() {
+                                    @Override
+                                    public void run() {
+                                        fileDisplayActivity.setIndeterminate(false);
+                                    }
+                                });
                     }
 
                     return remoteOperationResult.isSuccess();
@@ -1520,4 +1528,8 @@ public class OCFileListFragment extends ExtendedListFragment implements OCFileLi
     public void setSearchFragment(boolean searchFragment) {
         this.searchFragment = searchFragment;
     }
+
+    public boolean getIsSearchFragment() {
+        return searchFragment;
+    }
 }