Browse Source

Fix appbar when show FileDetailFragment

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

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

@@ -25,6 +25,7 @@ package com.owncloud.android.ui.activity;
 import android.animation.AnimatorInflater;
 import android.animation.AnimatorInflater;
 import android.annotation.SuppressLint;
 import android.annotation.SuppressLint;
 import android.graphics.Bitmap;
 import android.graphics.Bitmap;
+import android.graphics.Color;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.Drawable;
 import android.os.Build;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.Bundle;
@@ -61,6 +62,7 @@ public abstract class ToolbarActivity extends BaseActivity {
 
 
     private AppBarLayout mAppBar;
     private AppBarLayout mAppBar;
     private RelativeLayout mDefaultToolbar;
     private RelativeLayout mDefaultToolbar;
+    private Toolbar mToolbar;
     private MaterialCardView mHomeSearchToolbar;
     private MaterialCardView mHomeSearchToolbar;
     private ImageView mPreviewImage;
     private ImageView mPreviewImage;
     private FrameLayout mPreviewImageContainer;
     private FrameLayout mPreviewImageContainer;
@@ -81,8 +83,8 @@ public abstract class ToolbarActivity extends BaseActivity {
     private void setupToolbar(boolean isHomeSearchToolbarShow) {
     private void setupToolbar(boolean isHomeSearchToolbarShow) {
         int fontColor = ThemeUtils.appBarPrimaryFontColor(this);
         int fontColor = ThemeUtils.appBarPrimaryFontColor(this);
 
 
-        Toolbar toolbar = findViewById(R.id.toolbar);
-        setSupportActionBar(toolbar);
+        mToolbar = findViewById(R.id.toolbar);
+        setSupportActionBar(mToolbar);
         ThemeUtils.colorStatusBar(this);
         ThemeUtils.colorStatusBar(this);
 
 
         mAppBar = findViewById(R.id.appbar);
         mAppBar = findViewById(R.id.appbar);
@@ -103,12 +105,12 @@ public abstract class ToolbarActivity extends BaseActivity {
 
 
         mToolbarSpinner = findViewById(R.id.toolbar_spinner);
         mToolbarSpinner = findViewById(R.id.toolbar_spinner);
 
 
-        if (toolbar.getOverflowIcon() != null) {
-            ThemeUtils.tintDrawable(toolbar.getOverflowIcon(), fontColor);
+        if (mToolbar.getOverflowIcon() != null) {
+            ThemeUtils.tintDrawable(mToolbar.getOverflowIcon(), fontColor);
         }
         }
 
 
-        if (toolbar.getNavigationIcon() != null) {
-            ThemeUtils.tintDrawable(toolbar.getNavigationIcon(), fontColor);
+        if (mToolbar.getNavigationIcon() != null) {
+            ThemeUtils.tintDrawable(mToolbar.getNavigationIcon(), fontColor);
         }
         }
     }
     }
 
 
@@ -224,17 +226,22 @@ public abstract class ToolbarActivity extends BaseActivity {
         mInfoBox.setVisibility(View.GONE);
         mInfoBox.setVisibility(View.GONE);
     }
     }
 
 
-    /**
-     * Change the visibility for the toolbar's preview image.
-     *
-     * @param visibility visibility of the preview image
-     */
-    public void setPreviewImageVisibility(int visibility) {
+    private void setPreviewImageVisibility(boolean isVisibility) {
         if (mPreviewImage != null && mPreviewImageContainer != null) {
         if (mPreviewImage != null && mPreviewImageContainer != null) {
-            mPreviewImageContainer.setVisibility(visibility);
+            if (isVisibility) {
+                mToolbar.setTitle(null);
+                mToolbar.setBackgroundColor(Color.TRANSPARENT);
+            } else {
+                mToolbar.setBackgroundResource(R.color.appbar);
+            }
+            mPreviewImageContainer.setVisibility(isVisibility ? View.VISIBLE : View.GONE);
         }
         }
     }
     }
 
 
+    public void hidePreviewImage() {
+        setPreviewImageVisibility(false);
+    }
+
     /**
     /**
      * Change the bitmap for the toolbar's preview image.
      * Change the bitmap for the toolbar's preview image.
      *
      *
@@ -243,6 +250,7 @@ public abstract class ToolbarActivity extends BaseActivity {
     public void setPreviewImageBitmap(Bitmap bitmap) {
     public void setPreviewImageBitmap(Bitmap bitmap) {
         if (mPreviewImage != null) {
         if (mPreviewImage != null) {
             mPreviewImage.setImageBitmap(bitmap);
             mPreviewImage.setImageBitmap(bitmap);
+            setPreviewImageVisibility(true);
         }
         }
     }
     }
 
 
@@ -254,6 +262,7 @@ public abstract class ToolbarActivity extends BaseActivity {
     public void setPreviewImageDrawable(Drawable drawable) {
     public void setPreviewImageDrawable(Drawable drawable) {
         if (mPreviewImage != null) {
         if (mPreviewImage != null) {
             mPreviewImage.setImageDrawable(drawable);
             mPreviewImage.setImageDrawable(drawable);
+            setPreviewImageVisibility(true);
         }
         }
     }
     }
 
 

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

@@ -142,7 +142,6 @@ public class FileDetailFragment extends FileFragment implements OnClickListener,
 
 
     private int layout;
     private int layout;
     private View view;
     private View view;
-    private boolean previewLoaded;
     private Account account;
     private Account account;
     private Unbinder unbinder;
     private Unbinder unbinder;
 
 
@@ -229,26 +228,6 @@ public class FileDetailFragment extends FileFragment implements OnClickListener,
         super.onAttach(activity);
         super.onAttach(activity);
     }
     }
 
 
-    @Override
-    public void onResume() {
-        super.onResume();
-
-        if (previewLoaded && getFile() != null && MimeTypeUtil.isImage(getFile())) {
-            activatePreviewImage();
-        }
-    }
-
-    private void activatePreviewImage() {
-        if (activity != null) {
-            activity.setPreviewImageVisibility(View.VISIBLE);
-            ThemeUtils.setStatusBarColor(activity, activity.getResources().getColor(R.color.background_color_inverse));
-            if (activity.getSupportActionBar() != null) {
-                activity.getSupportActionBar().setTitle(null);
-                activity.getSupportActionBar().setBackgroundDrawable(null);
-            }
-        }
-    }
-
     @Override
     @Override
     public void onActivityCreated(Bundle savedInstanceState) {
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
         super.onActivityCreated(savedInstanceState);
@@ -370,13 +349,17 @@ public class FileDetailFragment extends FileFragment implements OnClickListener,
         listenForTransferProgress();
         listenForTransferProgress();
     }
     }
 
 
+    @Override
+    public void onPause() {
+        super.onPause();
+    }
+
     @Override
     @Override
     public void onStop() {
     public void onStop() {
         leaveTransferProgress();
         leaveTransferProgress();
 
 
-        if(activity != null) {
-            activity.setupToolbar();
-            activity.setPreviewImageVisibility(View.GONE);
+        if (activity != null) {
+            activity.hidePreviewImage();
         }
         }
 
 
         super.onStop();
         super.onStop();
@@ -630,9 +613,9 @@ public class FileDetailFragment extends FileFragment implements OnClickListener,
             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);
                 activity.setPreviewImageBitmap(resizedImage);
-                activatePreviewImage();
                 previewLoaded = true;
                 previewLoaded = true;
             } else {
             } else {
                 // show thumbnail while loading resized image
                 // show thumbnail while loading resized image
@@ -667,7 +650,6 @@ public class FileDetailFragment extends FileFragment implements OnClickListener,
                             );
                             );
 
 
                     activity.setPreviewImageDrawable(asyncDrawable);
                     activity.setPreviewImageDrawable(asyncDrawable);
-                    activatePreviewImage();
                     previewLoaded = true;
                     previewLoaded = true;
                     task.execute(getFile());
                     task.execute(getFile());
                 }
                 }