Merge "Load clipboard image thumbnail in background" into tm-qpr-dev

This commit is contained in:
Miranda Kephart
2023-03-03 15:16:07 +00:00
committed by Android (Google) Code Review

View File

@@ -263,10 +263,11 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv
@Override // ClipboardListener.ClipboardOverlay @Override // ClipboardListener.ClipboardOverlay
public void setClipData(ClipData data, String source) { public void setClipData(ClipData data, String source) {
ClipboardModel model = ClipboardModel.fromClipData(mContext, mClipboardUtils, data, source); ClipboardModel model = ClipboardModel.fromClipData(mContext, mClipboardUtils, data, source);
if (mExitAnimator != null && mExitAnimator.isRunning()) { boolean wasExiting = (mExitAnimator != null && mExitAnimator.isRunning());
if (wasExiting) {
mExitAnimator.cancel(); mExitAnimator.cancel();
} }
boolean shouldAnimate = !model.dataMatches(mClipboardModel); boolean shouldAnimate = !model.dataMatches(mClipboardModel) || wasExiting;
mClipboardModel = model; mClipboardModel = model;
mClipboardLogger.setClipSource(mClipboardModel.getSource()); mClipboardLogger.setClipSource(mClipboardModel.getSource());
if (shouldAnimate) { if (shouldAnimate) {
@@ -313,15 +314,19 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv
mOnPreviewTapped = this::editText; mOnPreviewTapped = this::editText;
break; break;
case IMAGE: case IMAGE:
if (model.isSensitive() || model.loadThumbnail(mContext) != null) { mBgExecutor.execute(() -> {
mView.showImagePreview( if (model.isSensitive() || model.loadThumbnail(mContext) != null) {
model.isSensitive() ? null : model.loadThumbnail(mContext)); mView.post(() -> {
mView.setEditAccessibilityAction(true); mView.showImagePreview(
mOnPreviewTapped = () -> editImage(model.getUri()); model.isSensitive() ? null : model.loadThumbnail(mContext));
} else { mView.setEditAccessibilityAction(true);
// image loading failed });
mView.showDefaultTextPreview(); mOnPreviewTapped = () -> editImage(model.getUri());
} } else {
// image loading failed
mView.post(mView::showDefaultTextPreview);
}
});
break; break;
case URI: case URI:
case OTHER: case OTHER: