Browse Source

Bug #843 was Fixed
PreviewImageActivity is removed from the stack activity

alejandro 8 years ago
parent
commit
0b6423ce72

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

@@ -451,6 +451,16 @@ public class FileDisplayActivity extends HookActivity
         }
     }
 
+    //Is called with the flag FLAG_ACTIVITY_SINGLE_TOP and set the new file and intent
+    @Override
+    protected void onNewIntent(Intent intent) {
+        super.onNewIntent(intent);
+        if(intent.getAction()!=null && intent.getAction().equalsIgnoreCase(ACTION_DETAILS)){
+            setIntent(intent);
+            setFile((OCFile)intent.getParcelableExtra(EXTRA_FILE));
+        }
+    }
+
     private Fragment chooseInitialSecondFragment(OCFile file) {
         Fragment secondFragment = null;
         if (file != null && !file.isFolder()) {
@@ -987,6 +997,13 @@ public class FileDisplayActivity extends HookActivity
             getListOfFilesFragment().getFabMain().collapse();
         } else {
             // all closed
+
+            //if PreviewImageActivity called this activity and mDualPane==false  then calls PreviewImageActivity again
+            if((getIntent().getAction()!=null && getIntent().getAction().equalsIgnoreCase(ACTION_DETAILS)) && !mDualPane){
+                    getIntent().setAction(null);
+                    startImagePreview(getFile());
+            }
+
             OCFileListFragment listOfFiles = getListOfFilesFragment();
             if (mDualPane || getSecondFragment() == null) {
                 OCFile currentDir = getCurrentDir();

+ 2 - 0
src/main/java/com/owncloud/android/ui/preview/PreviewImageActivity.java

@@ -304,9 +304,11 @@ public class PreviewImageActivity extends FileActivity implements
         showDetailsIntent.putExtra(FileActivity.EXTRA_FILE, file);
         showDetailsIntent.putExtra(FileActivity.EXTRA_ACCOUNT,
                 AccountUtils.getCurrentOwnCloudAccount(this));
+        showDetailsIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
         startActivity(showDetailsIntent);
         int pos = mPreviewImagePagerAdapter.getFilePosition(file);
         file = mPreviewImagePagerAdapter.getFileAt(pos);
+        finish();
     }
 
     private void requestForDownload(OCFile file) {