|
|
|
@ -18,9 +18,6 @@ package org.thoughtcrime.securesms;
|
|
|
|
|
|
|
|
|
|
import android.annotation.SuppressLint;
|
|
|
|
|
import android.annotation.TargetApi;
|
|
|
|
|
|
|
|
|
|
import androidx.appcompat.app.ActionBar;
|
|
|
|
|
import androidx.lifecycle.ViewModelProvider;
|
|
|
|
|
import android.content.Context;
|
|
|
|
|
import android.content.Intent;
|
|
|
|
|
import android.database.Cursor;
|
|
|
|
@ -30,16 +27,6 @@ import android.os.Build;
|
|
|
|
|
import android.os.Build.VERSION;
|
|
|
|
|
import android.os.Build.VERSION_CODES;
|
|
|
|
|
import android.os.Bundle;
|
|
|
|
|
import androidx.annotation.NonNull;
|
|
|
|
|
import androidx.annotation.Nullable;
|
|
|
|
|
import androidx.loader.app.LoaderManager;
|
|
|
|
|
import androidx.loader.content.Loader;
|
|
|
|
|
import androidx.core.util.Pair;
|
|
|
|
|
import androidx.viewpager.widget.PagerAdapter;
|
|
|
|
|
import androidx.viewpager.widget.ViewPager;
|
|
|
|
|
import androidx.appcompat.app.AlertDialog;
|
|
|
|
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
|
|
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
|
|
|
import android.view.GestureDetector;
|
|
|
|
|
import android.view.LayoutInflater;
|
|
|
|
|
import android.view.Menu;
|
|
|
|
@ -53,16 +40,28 @@ import android.widget.FrameLayout;
|
|
|
|
|
import android.widget.TextView;
|
|
|
|
|
import android.widget.Toast;
|
|
|
|
|
|
|
|
|
|
import androidx.annotation.NonNull;
|
|
|
|
|
import androidx.annotation.Nullable;
|
|
|
|
|
import androidx.appcompat.app.ActionBar;
|
|
|
|
|
import androidx.appcompat.app.AlertDialog;
|
|
|
|
|
import androidx.core.util.Pair;
|
|
|
|
|
import androidx.lifecycle.ViewModelProvider;
|
|
|
|
|
import androidx.loader.app.LoaderManager;
|
|
|
|
|
import androidx.loader.content.Loader;
|
|
|
|
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
|
|
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
|
|
|
import androidx.viewpager.widget.PagerAdapter;
|
|
|
|
|
import androidx.viewpager.widget.ViewPager;
|
|
|
|
|
|
|
|
|
|
import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAttachment;
|
|
|
|
|
import org.session.libsession.messaging.threads.Address;
|
|
|
|
|
import org.session.libsession.messaging.threads.recipients.Recipient;
|
|
|
|
|
import org.session.libsession.messaging.threads.recipients.RecipientModifiedListener;
|
|
|
|
|
import org.session.libsession.utilities.Util;
|
|
|
|
|
|
|
|
|
|
import org.session.libsignal.utilities.logging.Log;
|
|
|
|
|
import org.thoughtcrime.securesms.components.MediaView;
|
|
|
|
|
import org.thoughtcrime.securesms.database.MediaDatabase.MediaRecord;
|
|
|
|
|
import org.thoughtcrime.securesms.database.loaders.PagingMediaLoader;
|
|
|
|
|
import org.session.libsignal.utilities.logging.Log;
|
|
|
|
|
import org.thoughtcrime.securesms.mediapreview.MediaPreviewViewModel;
|
|
|
|
|
import org.thoughtcrime.securesms.mediapreview.MediaRailAdapter;
|
|
|
|
|
import org.thoughtcrime.securesms.mms.GlideApp;
|
|
|
|
@ -312,6 +311,11 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity im
|
|
|
|
|
private int cleanupMedia() {
|
|
|
|
|
int restartItem = mediaPager.getCurrentItem();
|
|
|
|
|
|
|
|
|
|
PagerAdapter adapter = mediaPager.getAdapter();
|
|
|
|
|
if (adapter instanceof CursorPagerAdapter) {
|
|
|
|
|
((CursorPagerAdapter)adapter).cursor.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
mediaPager.removeAllViews();
|
|
|
|
|
mediaPager.setAdapter(null);
|
|
|
|
|
|
|
|
|
|