Эх сурвалжийг харах

Clear file selection - fix#2859

After selecting files and pressing
copy/move/download/sync/set-available-offline/unset-available-offline,
we exit the selection mode.
Jessie Chatham Spencer 6 жил өмнө
parent
commit
ada2f4698a

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

@@ -962,6 +962,7 @@ public class FileDisplayActivity extends HookActivity
             requestUploadOfFilesFromFileSystem(data, resultCode);
 
         } else if (requestCode == REQUEST_CODE__MOVE_FILES && resultCode == RESULT_OK) {
+            exitSelectionMode();
             final Intent fData = data;
             getHandler().postDelayed(
                     new Runnable() {
@@ -974,7 +975,7 @@ public class FileDisplayActivity extends HookActivity
             );
 
         } else if (requestCode == REQUEST_CODE__COPY_FILES && resultCode == RESULT_OK) {
-
+            exitSelectionMode();
             final Intent fData = data;
             getHandler().postDelayed(
                     new Runnable() {
@@ -992,6 +993,13 @@ public class FileDisplayActivity extends HookActivity
 
     }
 
+    private void exitSelectionMode() {
+        OCFileListFragment ocFileListFragment = getListOfFilesFragment();
+        if (ocFileListFragment != null) {
+            ocFileListFragment.exitSelectionMode();
+        }
+    }
+
     private void requestUploadOfFilesFromFileSystem(Intent data, int resultCode) {
         String[] filePaths = data.getStringArrayExtra(UploadFilesActivity.EXTRA_CHOSEN_FILES);
         if (filePaths != null) {

+ 10 - 0
src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java

@@ -947,6 +947,7 @@ public class OCFileListFragment extends ExtendedListFragment implements
             case R.id.action_download_file:
             case R.id.action_sync_file: {
                 mContainerActivity.getFileOperationsHelper().syncFiles(checkedFiles);
+                exitSelectionMode();
                 return true;
             }
             case R.id.action_cancel_sync: {
@@ -955,10 +956,12 @@ public class OCFileListFragment extends ExtendedListFragment implements
             }
             case R.id.action_keep_files_offline: {
                 mContainerActivity.getFileOperationsHelper().toggleOfflineFiles(checkedFiles, true);
+                exitSelectionMode();
                 return true;
             }
             case R.id.action_unset_keep_files_offline: {
                 mContainerActivity.getFileOperationsHelper().toggleOfflineFiles(checkedFiles, false);
+                exitSelectionMode();
                 return true;
             }
             case R.id.action_favorite: {
@@ -1579,4 +1582,11 @@ public class OCFileListFragment extends ExtendedListFragment implements
 
         mActiveActionMode.invalidate();        
     }
+
+    /**
+     * Exits the multi file selection mode.
+     */
+    public void exitSelectionMode() {
+        mActiveActionMode.finish();
+    }
 }