Browse Source

Fix onResume FileDetailFragment

Signed-off-by: Joris Bodin <joris.bodin@infomaniak.com>
Joris Bodin 4 years ago
parent
commit
cff3d8f588

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

@@ -226,7 +226,7 @@ public abstract class ToolbarActivity extends BaseActivity {
         mInfoBox.setVisibility(View.GONE);
         mInfoBox.setVisibility(View.GONE);
     }
     }
 
 
-    private void setPreviewImageVisibility(boolean isVisibility) {
+    public void setPreviewImageVisibility(boolean isVisibility) {
         if (mPreviewImage != null && mPreviewImageContainer != null) {
         if (mPreviewImage != null && mPreviewImageContainer != null) {
             if (isVisibility) {
             if (isVisibility) {
                 mToolbar.setTitle(null);
                 mToolbar.setTitle(null);

+ 26 - 15
src/main/java/com/owncloud/android/ui/fragment/FileDetailFragment.java

@@ -144,9 +144,10 @@ public class FileDetailFragment extends FileFragment implements OnClickListener,
     private View view;
     private View view;
     private Account account;
     private Account account;
     private Unbinder unbinder;
     private Unbinder unbinder;
+    private boolean previewLoaded = false;
 
 
     private ProgressListener progressListener;
     private ProgressListener progressListener;
-    private ToolbarActivity activity;
+    private ToolbarActivity toolbarActivity;
     private int activeTab;
     private int activeTab;
 
 
     @Inject AppPreferences preferences;
     @Inject AppPreferences preferences;
@@ -349,6 +350,15 @@ public class FileDetailFragment extends FileFragment implements OnClickListener,
         listenForTransferProgress();
         listenForTransferProgress();
     }
     }
 
 
+    @Override
+    public void onResume() {
+        super.onResume();
+
+        if (toolbarActivity != null && previewLoaded) {
+            toolbarActivity.setPreviewImageVisibility(true);
+        }
+    }
+
     @Override
     @Override
     public void onPause() {
     public void onPause() {
         super.onPause();
         super.onPause();
@@ -358,8 +368,8 @@ public class FileDetailFragment extends FileFragment implements OnClickListener,
     public void onStop() {
     public void onStop() {
         leaveTransferProgress();
         leaveTransferProgress();
 
 
-        if (activity != null) {
-            activity.hidePreviewImage();
+        if (toolbarActivity != null) {
+            toolbarActivity.hidePreviewImage();
         }
         }
 
 
         super.onStop();
         super.onStop();
@@ -369,9 +379,9 @@ public class FileDetailFragment extends FileFragment implements OnClickListener,
     public void onAttach(Context context) {
     public void onAttach(Context context) {
         super.onAttach(context);
         super.onAttach(context);
         if (context instanceof ToolbarActivity) {
         if (context instanceof ToolbarActivity) {
-            activity = (ToolbarActivity) context;
+            toolbarActivity = (ToolbarActivity) context;
         } else {
         } else {
-            activity = null;
+            toolbarActivity = null;
         }
         }
     }
     }
 
 
@@ -609,13 +619,12 @@ public class FileDetailFragment extends FileFragment implements OnClickListener,
     private void setFilePreview(OCFile file) {
     private void setFilePreview(OCFile file) {
         Bitmap resizedImage;
         Bitmap resizedImage;
 
 
-        if (activity != null && MimeTypeUtil.isImage(file)) {
+        if (toolbarActivity != null && MimeTypeUtil.isImage(file)) {
             String tagId = String.valueOf(ThumbnailsCacheManager.PREFIX_RESIZED_IMAGE + getFile().getRemoteId());
             String tagId = String.valueOf(ThumbnailsCacheManager.PREFIX_RESIZED_IMAGE + getFile().getRemoteId());
             resizedImage = ThumbnailsCacheManager.getBitmapFromDiskCache(tagId);
             resizedImage = ThumbnailsCacheManager.getBitmapFromDiskCache(tagId);
 
 
-            boolean previewLoaded;
             if (resizedImage != null && !file.isUpdateThumbnailNeeded()) {
             if (resizedImage != null && !file.isUpdateThumbnailNeeded()) {
-                activity.setPreviewImageBitmap(resizedImage);
+                toolbarActivity.setPreviewImageBitmap(resizedImage);
                 previewLoaded = true;
                 previewLoaded = true;
             } else {
             } else {
                 // show thumbnail while loading resized image
                 // show thumbnail while loading resized image
@@ -623,20 +632,20 @@ public class FileDetailFragment extends FileFragment implements OnClickListener,
                         String.valueOf(ThumbnailsCacheManager.PREFIX_THUMBNAIL + getFile().getRemoteId()));
                         String.valueOf(ThumbnailsCacheManager.PREFIX_THUMBNAIL + getFile().getRemoteId()));
 
 
                 if (thumbnail != null) {
                 if (thumbnail != null) {
-                    activity.setPreviewImageBitmap(thumbnail);
+                    toolbarActivity.setPreviewImageBitmap(thumbnail);
                 } else {
                 } else {
                     thumbnail = ThumbnailsCacheManager.mDefaultImg;
                     thumbnail = ThumbnailsCacheManager.mDefaultImg;
                 }
                 }
 
 
                 // generate new resized image
                 // generate new resized image
-                if (ThumbnailsCacheManager.cancelPotentialThumbnailWork(getFile(), activity.getPreviewImageView()) &&
+                if (ThumbnailsCacheManager.cancelPotentialThumbnailWork(getFile(), toolbarActivity.getPreviewImageView()) &&
                         containerActivity.getStorageManager() != null) {
                         containerActivity.getStorageManager() != null) {
                     final ThumbnailsCacheManager.ResizedImageGenerationTask task =
                     final ThumbnailsCacheManager.ResizedImageGenerationTask task =
                             new ThumbnailsCacheManager.ResizedImageGenerationTask(this,
                             new ThumbnailsCacheManager.ResizedImageGenerationTask(this,
-                                    activity.getPreviewImageView(),
-                                    containerActivity.getStorageManager(),
-                                    connectivityService,
-                                    containerActivity.getStorageManager().getAccount());
+                                                                                  toolbarActivity.getPreviewImageView(),
+                                                                                  containerActivity.getStorageManager(),
+                                                                                  connectivityService,
+                                                                                  containerActivity.getStorageManager().getAccount());
 
 
                     if (resizedImage == null) {
                     if (resizedImage == null) {
                         resizedImage = thumbnail;
                         resizedImage = thumbnail;
@@ -649,11 +658,13 @@ public class FileDetailFragment extends FileFragment implements OnClickListener,
                                     task
                                     task
                             );
                             );
 
 
-                    activity.setPreviewImageDrawable(asyncDrawable);
+                    toolbarActivity.setPreviewImageDrawable(asyncDrawable);
                     previewLoaded = true;
                     previewLoaded = true;
                     task.execute(getFile());
                     task.execute(getFile());
                 }
                 }
             }
             }
+        } else {
+            previewLoaded = false;
         }
         }
     }
     }