From 08f023fb12efe9856b3e44253dded97b2a22466e Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Mon, 21 Jun 2021 09:55:40 -0400 Subject: [PATCH] Revert "Fix ANR when leaving MediaPreviewActivity." This reverts commit 8be659c1c8ec3cbd99d8ee10497c347680b08a16. --- .../thoughtcrime/securesms/MediaPreviewActivity.java | 12 ++++++------ .../securesms/util/LifecycleCursorWrapper.java | 7 ------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java b/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java index ce5ee7866..6e3fab17e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java @@ -73,7 +73,6 @@ import org.thoughtcrime.securesms.sharing.ShareActivity; import org.thoughtcrime.securesms.util.AttachmentUtil; import org.thoughtcrime.securesms.util.DateUtils; import org.thoughtcrime.securesms.util.FullscreenHelper; -import org.thoughtcrime.securesms.util.LifecycleCursorWrapper; import org.thoughtcrime.securesms.util.SaveAttachmentTask; import org.thoughtcrime.securesms.util.SaveAttachmentTask.Attachment; import org.thoughtcrime.securesms.util.StorageUtil; @@ -129,7 +128,7 @@ public final class MediaPreviewActivity extends PassphraseRequiredActivity private MediaDatabase.Sorting sorting; private FullscreenHelper fullscreenHelper; - private @Nullable LifecycleCursorWrapper cursor = null; + private @Nullable Cursor cursor = null; public static @NonNull Intent intentFromMediaRecord(@NonNull Context context, @NonNull MediaRecord mediaRecord, @@ -249,7 +248,10 @@ public final class MediaPreviewActivity extends PassphraseRequiredActivity @Override protected void onDestroy() { - cursor = null; + if (cursor != null) { + cursor.close(); + cursor = null; + } super.onDestroy(); } @@ -547,11 +549,9 @@ public final class MediaPreviewActivity extends PassphraseRequiredActivity } if (cursor != null) { - getLifecycle().removeObserver(cursor); cursor.close(); } - cursor = new LifecycleCursorWrapper(Objects.requireNonNull(data.first)); - getLifecycle().addObserver(cursor); + cursor = Objects.requireNonNull(data.first); int mediaPosition = Objects.requireNonNull(data.second); diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/LifecycleCursorWrapper.java b/app/src/main/java/org/thoughtcrime/securesms/util/LifecycleCursorWrapper.java index 6f780628e..0f834477f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/LifecycleCursorWrapper.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/LifecycleCursorWrapper.java @@ -8,8 +8,6 @@ import androidx.lifecycle.DefaultLifecycleObserver; import androidx.lifecycle.Lifecycle; import androidx.lifecycle.LifecycleOwner; -import org.signal.core.util.concurrent.SignalExecutors; - /** * Wraps a {@link Cursor} that will be closed automatically when the {@link Lifecycle.Event}.ON_DESTROY * is fired from the lifecycle this object is observing. @@ -24,9 +22,4 @@ public class LifecycleCursorWrapper extends CursorWrapper implements DefaultLife public void onDestroy(@NonNull LifecycleOwner owner) { close(); } - - @Override - public void close() { - SignalExecutors.BOUNDED.execute(super::close); - } }