|
@@ -46,10 +46,7 @@ import android.view.MenuInflater;
|
|
|
import android.view.MenuItem;
|
|
|
import android.view.View;
|
|
|
import android.view.ViewGroup;
|
|
|
-import android.widget.FrameLayout;
|
|
|
import android.widget.ImageView;
|
|
|
-import android.widget.LinearLayout;
|
|
|
-import android.widget.TextView;
|
|
|
|
|
|
import com.caverock.androidsvg.SVG;
|
|
|
import com.caverock.androidsvg.SVGParseException;
|
|
@@ -112,14 +109,6 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
|
|
private static final String MIME_TYPE_GIF = "image/gif";
|
|
|
private static final String MIME_TYPE_SVG = "image/svg+xml";
|
|
|
|
|
|
- private PhotoView imageView;
|
|
|
-
|
|
|
- private LinearLayout mMultiListContainer;
|
|
|
- private TextView mMultiListMessage;
|
|
|
- private TextView mMultiListHeadline;
|
|
|
- private ImageView mMultiListIcon;
|
|
|
- private FrameLayout mMultiListProgress;
|
|
|
-
|
|
|
private Boolean showResizedImage;
|
|
|
|
|
|
private Bitmap bitmap;
|
|
@@ -200,27 +189,17 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
|
|
binding = PreviewImageFragmentBinding.inflate(inflater, container, false);
|
|
|
View view = binding.getRoot();
|
|
|
|
|
|
- imageView = view.findViewById(R.id.image);
|
|
|
- imageView.setVisibility(View.GONE);
|
|
|
+ binding.image.setVisibility(View.GONE);
|
|
|
|
|
|
view.setOnClickListener(v -> togglePreviewImageFullScreen());
|
|
|
|
|
|
- imageView.setOnClickListener(v -> togglePreviewImageFullScreen());
|
|
|
+ binding.image.setOnClickListener(v -> togglePreviewImageFullScreen());
|
|
|
|
|
|
- setupMultiView();
|
|
|
setMultiListLoadingMessage();
|
|
|
|
|
|
return view;
|
|
|
}
|
|
|
|
|
|
- private void setupMultiView() {
|
|
|
- multiListContainer = binding.emptyList.emptyListView;
|
|
|
- multiListMessage = binding.emptyList.emptyListViewText;
|
|
|
- multiListHeadline = binding.emptyList.emptyListViewHeadline;
|
|
|
- multiListIcon = binding.emptyList.emptyListIcon;
|
|
|
- mMultiListProgress = view.findViewById(R.id.empty_list_progress);
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* {@inheritDoc}
|
|
|
*/
|
|
@@ -231,7 +210,7 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
|
|
if (!ignoreFirstSavedState) {
|
|
|
OCFile file = savedInstanceState.getParcelable(EXTRA_FILE);
|
|
|
setFile(file);
|
|
|
- imageView.setScale(Math.min(imageView.getMaximumScale(), savedInstanceState.getFloat(EXTRA_ZOOM)));
|
|
|
+ binding.image.setScale(Math.min(binding.image.getMaximumScale(), savedInstanceState.getFloat(EXTRA_ZOOM)));
|
|
|
} else {
|
|
|
ignoreFirstSavedState = false;
|
|
|
}
|
|
@@ -242,7 +221,7 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
|
|
public void onSaveInstanceState(@NonNull Bundle outState) {
|
|
|
super.onSaveInstanceState(outState);
|
|
|
|
|
|
- outState.putFloat(EXTRA_ZOOM, imageView.getScale());
|
|
|
+ outState.putFloat(EXTRA_ZOOM, binding.image.getScale());
|
|
|
outState.putParcelable(EXTRA_FILE, getFile());
|
|
|
}
|
|
|
|
|
@@ -250,7 +229,7 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
|
|
public void onStart() {
|
|
|
super.onStart();
|
|
|
if (getFile() != null) {
|
|
|
- imageView.setTag(getFile().getFileId());
|
|
|
+ binding.image.setTag(getFile().getFileId());
|
|
|
|
|
|
Point screenSize = DisplayUtils.getScreenSize(getActivity());
|
|
|
int width = screenSize.x;
|
|
@@ -260,27 +239,27 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
|
|
Bitmap resizedImage = getResizedBitmap(getFile(), width, height);
|
|
|
|
|
|
if (resizedImage != null && !getFile().isUpdateThumbnailNeeded()) {
|
|
|
- imageView.setImageBitmap(resizedImage);
|
|
|
- imageView.setVisibility(View.VISIBLE);
|
|
|
+ binding.image.setImageBitmap(resizedImage);
|
|
|
+ binding.image.setVisibility(View.VISIBLE);
|
|
|
bitmap = resizedImage;
|
|
|
} else {
|
|
|
// show thumbnail while loading resized image
|
|
|
Bitmap thumbnail = getResizedBitmap(getFile(), width, height);
|
|
|
|
|
|
if (thumbnail != null) {
|
|
|
- imageView.setImageBitmap(thumbnail);
|
|
|
- imageView.setVisibility(View.VISIBLE);
|
|
|
+ binding.image.setImageBitmap(thumbnail);
|
|
|
+ binding.image.setVisibility(View.VISIBLE);
|
|
|
bitmap = thumbnail;
|
|
|
} else {
|
|
|
thumbnail = ThumbnailsCacheManager.mDefaultImg;
|
|
|
}
|
|
|
|
|
|
// generate new resized image
|
|
|
- if (ThumbnailsCacheManager.cancelPotentialThumbnailWork(getFile(), imageView) &&
|
|
|
+ if (ThumbnailsCacheManager.cancelPotentialThumbnailWork(getFile(), binding.image) &&
|
|
|
containerActivity.getStorageManager() != null) {
|
|
|
final ThumbnailsCacheManager.ResizedImageGenerationTask task =
|
|
|
new ThumbnailsCacheManager.ResizedImageGenerationTask(this,
|
|
|
- imageView,
|
|
|
+ binding.image,
|
|
|
containerActivity.getStorageManager(),
|
|
|
connectivityService,
|
|
|
containerActivity.getStorageManager().getAccount());
|
|
@@ -293,16 +272,16 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
|
|
resizedImage,
|
|
|
task
|
|
|
);
|
|
|
- imageView.setImageDrawable(asyncDrawable);
|
|
|
+ binding.image.setImageDrawable(asyncDrawable);
|
|
|
task.execute(getFile());
|
|
|
}
|
|
|
}
|
|
|
- multiListContainer.setVisibility(View.GONE);
|
|
|
- imageView.setBackgroundColor(getResources().getColor(R.color.background_color_inverse));
|
|
|
- imageView.setVisibility(View.VISIBLE);
|
|
|
+ binding.emptyListView.setVisibility(View.GONE);
|
|
|
+ binding.image.setBackgroundColor(getResources().getColor(R.color.background_color_inverse));
|
|
|
+ binding.image.setVisibility(View.VISIBLE);
|
|
|
|
|
|
} else {
|
|
|
- loadBitmapTask = new LoadBitmapTask(imageView);
|
|
|
+ loadBitmapTask = new LoadBitmapTask(binding.image);
|
|
|
loadBitmapTask.execute(getFile());
|
|
|
}
|
|
|
} else {
|
|
@@ -645,7 +624,7 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- multiListContainer.setVisibility(View.GONE);
|
|
|
+ binding.emptyListView.setVisibility(View.GONE);
|
|
|
imageView.setBackgroundColor(getResources().getColor(R.color.background_color_inverse));
|
|
|
imageView.setVisibility(View.VISIBLE);
|
|
|
}
|
|
@@ -697,40 +676,36 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
|
|
}
|
|
|
|
|
|
private void showErrorMessage(@StringRes int errorMessageId) {
|
|
|
- imageView.setBackgroundColor(Color.TRANSPARENT);
|
|
|
+ binding.image.setBackgroundColor(Color.TRANSPARENT);
|
|
|
setSorryMessageForMultiList(errorMessageId);
|
|
|
}
|
|
|
|
|
|
private void setMultiListLoadingMessage() {
|
|
|
- if (mMultiListContainer != null) {
|
|
|
- mMultiListHeadline.setText("");
|
|
|
- mMultiListMessage.setText("");
|
|
|
+ binding.emptyListViewHeadline.setText("");
|
|
|
+ binding.emptyListViewText.setText("");
|
|
|
|
|
|
- mMultiListIcon.setVisibility(View.GONE);
|
|
|
- mMultiListProgress.setVisibility(View.VISIBLE);
|
|
|
- }
|
|
|
+ binding.emptyListIcon.setVisibility(View.GONE);
|
|
|
+ binding.emptyListProgress.setVisibility(View.VISIBLE);
|
|
|
}
|
|
|
|
|
|
private void setSorryMessageForMultiList(@StringRes int message) {
|
|
|
- if (multiListContainer != null && multiListMessage != null) {
|
|
|
- multiListHeadline.setText(R.string.preview_sorry);
|
|
|
- multiListMessage.setText(message);
|
|
|
- multiListIcon.setImageResource(R.drawable.file_image);
|
|
|
-
|
|
|
- multiListContainer.setBackgroundColor(getResources().getColor(R.color.bg_default));
|
|
|
- multiListHeadline.setTextColor(getResources().getColor(R.color.standard_grey));
|
|
|
- multiListMessage.setTextColor(getResources().getColor(R.color.standard_grey));
|
|
|
-
|
|
|
- mMultiListMessage.setVisibility(View.VISIBLE);
|
|
|
- mMultiListIcon.setVisibility(View.VISIBLE);
|
|
|
- mMultiListProgress.setVisibility(View.GONE);
|
|
|
- }
|
|
|
+ binding.emptyListViewHeadline.setText(R.string.preview_sorry);
|
|
|
+ binding.emptyListViewText.setText(message);
|
|
|
+ binding.emptyListIcon.setImageResource(R.drawable.file_image);
|
|
|
+
|
|
|
+ binding.emptyListView.setBackgroundColor(getResources().getColor(R.color.bg_default));
|
|
|
+ binding.emptyListViewHeadline.setTextColor(getResources().getColor(R.color.standard_grey));
|
|
|
+ binding.emptyListViewText.setTextColor(getResources().getColor(R.color.standard_grey));
|
|
|
+
|
|
|
+ binding.emptyListViewText.setVisibility(View.VISIBLE);
|
|
|
+ binding.emptyListIcon.setVisibility(View.VISIBLE);
|
|
|
+ binding.emptyListProgress.setVisibility(View.GONE);
|
|
|
}
|
|
|
|
|
|
public void setErrorPreviewMessage() {
|
|
|
try {
|
|
|
if (getActivity() != null) {
|
|
|
- Snackbar.make(multiListContainer,
|
|
|
+ Snackbar.make(binding.emptyListView,
|
|
|
R.string.resized_image_not_possible_download,
|
|
|
Snackbar.LENGTH_INDEFINITE)
|
|
|
.setAction(R.string.common_yes, v -> {
|
|
@@ -738,7 +713,7 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
|
|
if (activity != null) {
|
|
|
activity.requestForDownload(getFile());
|
|
|
} else {
|
|
|
- Snackbar.make(multiListContainer,
|
|
|
+ Snackbar.make(binding.emptyListView,
|
|
|
getResources().getString(R.string.could_not_download_image),
|
|
|
Snackbar.LENGTH_INDEFINITE).show();
|
|
|
}
|
|
@@ -752,7 +727,7 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
|
|
|
|
|
public void setNoConnectionErrorMessage() {
|
|
|
try {
|
|
|
- Snackbar.make(multiListContainer, R.string.auth_no_net_conn_title, Snackbar.LENGTH_LONG).show();
|
|
|
+ Snackbar.make(binding.emptyListView, R.string.auth_no_net_conn_title, Snackbar.LENGTH_LONG).show();
|
|
|
} catch (IllegalArgumentException e) {
|
|
|
Log_OC.d(TAG, e.getMessage());
|
|
|
}
|
|
@@ -795,8 +770,8 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
|
|
&& getActivity() instanceof PreviewImageActivity) {
|
|
|
PreviewImageActivity previewImageActivity = (PreviewImageActivity) getActivity();
|
|
|
|
|
|
- if (imageView.getDrawable() instanceof LayerDrawable) {
|
|
|
- LayerDrawable layerDrawable = (LayerDrawable) imageView.getDrawable();
|
|
|
+ if (binding.image.getDrawable() instanceof LayerDrawable) {
|
|
|
+ LayerDrawable layerDrawable = (LayerDrawable) binding.image.getDrawable();
|
|
|
Drawable layerOne;
|
|
|
|
|
|
if (previewImageActivity.isSystemUIVisible()) {
|
|
@@ -807,8 +782,8 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
|
|
|
|
|
layerDrawable.setDrawableByLayerId(layerDrawable.getId(0), layerOne);
|
|
|
|
|
|
- imageView.setImageDrawable(layerDrawable);
|
|
|
- imageView.invalidate();
|
|
|
+ binding.image.setImageDrawable(layerDrawable);
|
|
|
+ binding.image.invalidate();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -820,7 +795,7 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
|
|
}
|
|
|
|
|
|
public PhotoView getImageView() {
|
|
|
- return imageView;
|
|
|
+ return binding.image;
|
|
|
}
|
|
|
|
|
|
private class LoadImage {
|