diff options
author | stefan-niedermann <info@niedermann.it> | 2020-03-07 23:50:49 +0300 |
---|---|---|
committer | stefan-niedermann <info@niedermann.it> | 2020-03-07 23:50:49 +0300 |
commit | c5e8b55cec9c7387364db9ed98086d36dd32f575 (patch) | |
tree | ca6ae3b83ee9a31be2892c13f65b2f99ef8efff2 /app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentAdapter.java | |
parent | f180824ec20453fe281d859bdd04aac53684ae16 (diff) |
Map the transition between attachments and viewer
This only works on the "way back" if the viewer displays the same image that has been opened.
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentAdapter.java')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentAdapter.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentAdapter.java index 1d7307ccd..d5a692dc8 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentAdapter.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentAdapter.java @@ -1,14 +1,21 @@ package it.niedermann.nextcloud.deck.ui.attachments; import android.content.Context; +import android.graphics.drawable.Drawable; import android.os.Build; import android.view.LayoutInflater; import android.view.ViewGroup; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.Glide; +import com.bumptech.glide.load.DataSource; +import com.bumptech.glide.load.engine.GlideException; +import com.bumptech.glide.request.RequestListener; +import com.bumptech.glide.request.target.Target; import java.util.List; @@ -52,6 +59,23 @@ public class AttachmentAdapter extends RecyclerView.Adapter<AttachmentAdapter.At holder.binding.preview.setImageResource(R.drawable.ic_image_grey600_24dp); Glide.with(context) .load(uri) + .listener(new RequestListener<Drawable>() { + @Override + public boolean onLoadFailed(@Nullable GlideException e, Object model, + Target<Drawable> target, boolean isFirstResource) { + // TODO better cast check + ((AppCompatActivity) context).supportStartPostponedEnterTransition(); + return false; + } + + @Override + public boolean onResourceReady(Drawable resource, Object model, + Target<Drawable> target, DataSource dataSource, boolean isFirstResource) { + // TODO better cast check + ((AppCompatActivity) context).supportStartPostponedEnterTransition(); + return false; + } + }) .error(R.drawable.ic_image_grey600_24dp) .into(holder.binding.preview); } |