mirror of
https://github.com/oxen-io/session-android.git
synced 2025-04-28 17:20:46 +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 com.afollestad.materialdialogs.AlertDialogWrapper;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.ConversationFragment.SelectionClickListener;
|
import org.thoughtcrime.securesms.ConversationFragment.SelectionClickListener;
|
||||||
|
import org.thoughtcrime.securesms.components.BubbleContainer;
|
||||||
import org.thoughtcrime.securesms.components.ForegroundImageView;
|
import org.thoughtcrime.securesms.components.ForegroundImageView;
|
||||||
import org.thoughtcrime.securesms.contacts.ContactPhotoFactory;
|
import org.thoughtcrime.securesms.contacts.ContactPhotoFactory;
|
||||||
import org.thoughtcrime.securesms.crypto.MasterSecret;
|
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.Slide;
|
||||||
import org.thoughtcrime.securesms.mms.SlideDeck;
|
import org.thoughtcrime.securesms.mms.SlideDeck;
|
||||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||||
import org.thoughtcrime.securesms.components.BubbleContainer;
|
|
||||||
import org.thoughtcrime.securesms.util.DateUtils;
|
import org.thoughtcrime.securesms.util.DateUtils;
|
||||||
import org.thoughtcrime.securesms.util.Emoji;
|
import org.thoughtcrime.securesms.util.Emoji;
|
||||||
import org.thoughtcrime.securesms.util.FutureTaskListener;
|
import org.thoughtcrime.securesms.util.FutureTaskListener;
|
||||||
import org.thoughtcrime.securesms.util.ListenableFutureTask;
|
import org.thoughtcrime.securesms.util.ListenableFutureTask;
|
||||||
import org.thoughtcrime.securesms.util.ResUtil;
|
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@ -626,25 +625,35 @@ public class ConversationItem extends LinearLayout {
|
|||||||
public void onSuccess(final SlideDeck slideDeck) {
|
public void onSuccess(final SlideDeck slideDeck) {
|
||||||
if (slideDeck == null) return;
|
if (slideDeck == null) return;
|
||||||
|
|
||||||
Slide slide = slideDeck.getThumbnailSlide(context);
|
handler.post(new Runnable() {
|
||||||
if (slide != null) {
|
@Override
|
||||||
thumbnailFuture = slide.getThumbnail(context);
|
public void run() {
|
||||||
if (thumbnailFuture != null) {
|
Slide slide = slideDeck.getThumbnailSlide(context);
|
||||||
Object tag = new Object();
|
if (slide != null) {
|
||||||
mediaThumbnail.setTag(tag);
|
thumbnailFuture = slide.getThumbnail(context);
|
||||||
thumbnailListener = new ThumbnailListener(tag);
|
if (thumbnailFuture != null) {
|
||||||
thumbnailFuture.addListener(thumbnailListener);
|
Object tag = new Object();
|
||||||
mediaThumbnail.setOnClickListener(new ThumbnailClickListener(slide));
|
mediaThumbnail.setTag(tag);
|
||||||
return;
|
thumbnailListener = new ThumbnailListener(tag);
|
||||||
|
thumbnailFuture.addListener(thumbnailListener);
|
||||||
|
mediaThumbnail.setOnClickListener(new ThumbnailClickListener(slide));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mediaThumbnail.hide();
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
mediaThumbnail.hide();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Throwable error) {
|
public void onFailure(Throwable error) {
|
||||||
Log.w(TAG, 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