mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-17 12:48:26 +00:00
fix off-thread UI interactions in ConversationItem
Fixes #2966 Closes #2973 // FREEBIE
This commit is contained in:
parent
cb84cc39ce
commit
7aaedf500f
@ -42,6 +42,7 @@ import android.widget.Toast;
|
||||
import com.afollestad.materialdialogs.AlertDialogWrapper;
|
||||
|
||||
import org.thoughtcrime.securesms.ConversationFragment.SelectionClickListener;
|
||||
import org.thoughtcrime.securesms.components.BubbleContainer;
|
||||
import org.thoughtcrime.securesms.components.ForegroundImageView;
|
||||
import org.thoughtcrime.securesms.contacts.ContactPhotoFactory;
|
||||
import org.thoughtcrime.securesms.crypto.MasterSecret;
|
||||
@ -59,12 +60,10 @@ import org.thoughtcrime.securesms.mms.PartAuthority;
|
||||
import org.thoughtcrime.securesms.mms.Slide;
|
||||
import org.thoughtcrime.securesms.mms.SlideDeck;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.components.BubbleContainer;
|
||||
import org.thoughtcrime.securesms.util.DateUtils;
|
||||
import org.thoughtcrime.securesms.util.Emoji;
|
||||
import org.thoughtcrime.securesms.util.FutureTaskListener;
|
||||
import org.thoughtcrime.securesms.util.ListenableFutureTask;
|
||||
import org.thoughtcrime.securesms.util.ResUtil;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
@ -626,25 +625,35 @@ public class ConversationItem extends LinearLayout {
|
||||
public void onSuccess(final SlideDeck slideDeck) {
|
||||
if (slideDeck == null) return;
|
||||
|
||||
Slide slide = slideDeck.getThumbnailSlide(context);
|
||||
if (slide != null) {
|
||||
thumbnailFuture = slide.getThumbnail(context);
|
||||
if (thumbnailFuture != null) {
|
||||
Object tag = new Object();
|
||||
mediaThumbnail.setTag(tag);
|
||||
thumbnailListener = new ThumbnailListener(tag);
|
||||
thumbnailFuture.addListener(thumbnailListener);
|
||||
mediaThumbnail.setOnClickListener(new ThumbnailClickListener(slide));
|
||||
return;
|
||||
handler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Slide slide = slideDeck.getThumbnailSlide(context);
|
||||
if (slide != null) {
|
||||
thumbnailFuture = slide.getThumbnail(context);
|
||||
if (thumbnailFuture != null) {
|
||||
Object tag = new Object();
|
||||
mediaThumbnail.setTag(tag);
|
||||
thumbnailListener = new ThumbnailListener(tag);
|
||||
thumbnailFuture.addListener(thumbnailListener);
|
||||
mediaThumbnail.setOnClickListener(new ThumbnailClickListener(slide));
|
||||
return;
|
||||
}
|
||||
}
|
||||
mediaThumbnail.hide();
|
||||
}
|
||||
}
|
||||
mediaThumbnail.hide();
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable error) {
|
||||
Log.w(TAG, error);
|
||||
mediaThumbnail.hide();
|
||||
handler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mediaThumbnail.hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user