diff --git a/res/layout/load_more_header.xml b/res/layout/load_more_header.xml
deleted file mode 100644
index 1785c28d7..000000000
--- a/res/layout/load_more_header.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/org/thoughtcrime/securesms/ConversationFragment.java b/src/org/thoughtcrime/securesms/ConversationFragment.java
index 022c4b9ca..d05d550b5 100644
--- a/src/org/thoughtcrime/securesms/ConversationFragment.java
+++ b/src/org/thoughtcrime/securesms/ConversationFragment.java
@@ -21,7 +21,6 @@ import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
-import android.database.Cursor;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
@@ -66,26 +65,15 @@ import org.thoughtcrime.securesms.contactshare.ContactUtil;
import org.thoughtcrime.securesms.contactshare.SharedContactDetailsActivity;
import org.thoughtcrime.securesms.contactshare.Contact;
import org.thoughtcrime.securesms.database.DatabaseFactory;
-import org.thoughtcrime.securesms.database.MmsSmsDatabase;
-import org.thoughtcrime.securesms.database.RecipientDatabase;
-import org.thoughtcrime.securesms.database.loaders.ConversationLoader;
-import org.thoughtcrime.securesms.database.model.MediaMmsMessageRecord;
import org.thoughtcrime.securesms.database.model.MessageRecord;
-import org.thoughtcrime.securesms.database.model.MmsMessageRecord;
import org.thoughtcrime.securesms.jobs.DirectoryRefreshJob;
import org.thoughtcrime.securesms.mms.GlideApp;
import org.thoughtcrime.securesms.mms.OutgoingMediaMessage;
-import org.thoughtcrime.securesms.mms.Slide;
-import org.thoughtcrime.securesms.profiles.UnknownSenderView;
import org.thoughtcrime.securesms.recipients.Recipient;
-import org.thoughtcrime.securesms.sms.MessageSender;
import org.thoughtcrime.securesms.sms.OutgoingTextMessage;
import org.thoughtcrime.securesms.util.CommunicationActions;
-import org.thoughtcrime.securesms.util.SaveAttachmentTask;
-import org.thoughtcrime.securesms.util.SaveAttachmentTask.Attachment;
import org.thoughtcrime.securesms.util.StickyHeaderDecoration;
import org.thoughtcrime.securesms.util.ViewUtil;
-import org.thoughtcrime.securesms.util.task.ProgressDialogAsyncTask;
import java.util.Collections;
import java.util.Comparator;
@@ -102,7 +90,6 @@ public class ConversationFragment extends Fragment
private static final String TAG = ConversationFragment.class.getSimpleName();
private static final String KEY_LIMIT = "limit";
- private static final int PARTIAL_CONVERSATION_LIMIT = 500;
private static final int SCROLL_ANIMATION_THRESHOLD = 50;
private static final int CODE_ADD_EDIT_CONTACT = 77;
@@ -122,9 +109,6 @@ public class ConversationFragment extends Fragment
private Locale locale;
private RecyclerView list;
private RecyclerView.ItemDecoration lastSeenDecoration;
- private ViewSwitcher topLoadMoreView;
- private ViewSwitcher bottomLoadMoreView;
- private UnknownSenderView unknownSenderView;
private View composeDivider;
private View scrollToBottomButton;
private TextView scrollDateHeader;
@@ -153,11 +137,6 @@ public class ConversationFragment extends Fragment
list.setLayoutManager(layoutManager);
list.setItemAnimator(null);
- topLoadMoreView = (ViewSwitcher) inflater.inflate(R.layout.load_more_header, container, false);
- bottomLoadMoreView = (ViewSwitcher) inflater.inflate(R.layout.load_more_header, container, false);
- initializeLoadMoreView(topLoadMoreView);
- initializeLoadMoreView(bottomLoadMoreView);
-
return view;
}
@@ -237,7 +216,6 @@ public class ConversationFragment extends Fragment
this.lastSeen = this.getActivity().getIntent().getLongExtra(ConversationActivity.LAST_SEEN_EXTRA, -1);
this.startingPosition = this.getActivity().getIntent().getIntExtra(ConversationActivity.STARTING_POSITION_EXTRA, -1);
this.firstLoad = true;
- this.unknownSenderView = new UnknownSenderView(getActivity(), recipient, threadId);
OnScrollListener scrollListener = new ConversationScrollListener(getActivity());
list.addOnScrollListener(scrollListener);
@@ -254,16 +232,6 @@ public class ConversationFragment extends Fragment
}
}
- private void initializeLoadMoreView(ViewSwitcher loadMoreView) {
- loadMoreView.setOnClickListener(v -> {
- Bundle args = new Bundle();
- args.putInt(KEY_LIMIT, 0);
- getLoaderManager().restartLoader(0, args, ConversationFragment.this);
- loadMoreView.showNext();
- loadMoreView.setOnClickListener(null);
- });
- }
-
private void setCorrectMenuVisibility(Menu menu) {
Set messageRecords = getListAdapter().getSelectedItems();
boolean actionMessage = false;
diff --git a/src/org/thoughtcrime/securesms/connect/DcMsgListLoader.java b/src/org/thoughtcrime/securesms/connect/DcMsgListLoader.java
index 9c24f4400..675a48928 100644
--- a/src/org/thoughtcrime/securesms/connect/DcMsgListLoader.java
+++ b/src/org/thoughtcrime/securesms/connect/DcMsgListLoader.java
@@ -28,7 +28,11 @@ public class DcMsgListLoader extends AsyncLoader {
public @NonNull
int[] loadInBackground() {
try {
- return DcHelper.getContext(getContext()).getChatMsgs(chatId, listflags, marker1before);
+ long loaderStartTime = System.currentTimeMillis();
+ int[] msgs = DcHelper.getContext(getContext()).getChatMsgs(chatId, listflags, marker1before);
+ long loadTime = System.currentTimeMillis() - loaderStartTime;
+ Log.i(TAG, "loadInBackground - took " + loadTime + " ms to load a message list of size " + msgs.length);
+ return msgs;
} catch (Exception e) {
Log.w(TAG, e);
diff --git a/src/org/thoughtcrime/securesms/profiles/UnknownSenderView.java b/src/org/thoughtcrime/securesms/profiles/UnknownSenderView.java
deleted file mode 100644
index a9c72b7ab..000000000
--- a/src/org/thoughtcrime/securesms/profiles/UnknownSenderView.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package org.thoughtcrime.securesms.profiles;
-
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.AsyncTask;
-import android.provider.ContactsContract;
-import android.support.annotation.NonNull;
-import android.support.v7.app.AlertDialog;
-import android.text.TextUtils;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.FrameLayout;
-
-import org.thoughtcrime.securesms.R;
-import org.thoughtcrime.securesms.database.DatabaseFactory;
-import org.thoughtcrime.securesms.recipients.Recipient;
-import org.thoughtcrime.securesms.util.ViewUtil;
-
-public class UnknownSenderView extends FrameLayout {
-
- private final @NonNull Recipient recipient;
- private final long threadId;
-
- public UnknownSenderView(@NonNull Context context, @NonNull Recipient recipient, long threadId) {
- super(context);
- this.recipient = recipient;
- this.threadId = threadId;
-
- inflate(context, R.layout.unknown_sender_view, this);
- setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
-
- View block = ViewUtil.findById(this, R.id.block);
- View add = ViewUtil.findById(this, R.id.add_to_contacts);
- View profileAccess = ViewUtil.findById(this, R.id.share_profile);
-
- block.setOnClickListener(v -> handleBlock());
- add.setOnClickListener(v -> handleAdd());
- profileAccess.setOnClickListener(v -> handleProfileAccess());
- }
-
- private void handleBlock() {
- final Context context = getContext();
-
- new AlertDialog.Builder(getContext())
- .setIconAttribute(R.attr.dialog_alert_icon)
- .setTitle(getContext().getString(R.string.UnknownSenderView_block_s, recipient.toShortString()))
- .setMessage(R.string.UnknownSenderView_blocked_contacts_will_no_longer_be_able_to_send_you_messages_or_call_you)
- .setPositiveButton(R.string.UnknownSenderView_block, (dialog, which) -> {
- new AsyncTask() {
- @Override
- protected Void doInBackground(Void... params) {
- DatabaseFactory.getRecipientDatabase(context).setBlocked(recipient, true);
- if (threadId != -1) DatabaseFactory.getThreadDatabase(context).setHasSent(threadId, true);
- return null;
- }
- }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
- })
- .setNegativeButton(android.R.string.cancel, null)
- .show();
- }
-
- private void handleAdd() {
- Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT);
- intent.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);
-
- if (!TextUtils.isEmpty(recipient.getProfileName())) {
- intent.putExtra(ContactsContract.Intents.Insert.NAME, recipient.getProfileName());
- }
-
- if (recipient.getAddress().isEmail()) {
- intent.putExtra(ContactsContract.Intents.Insert.EMAIL, recipient.getAddress().toEmailString());
- }
-
- if (recipient.getAddress().isPhone()) {
- intent.putExtra(ContactsContract.Intents.Insert.PHONE, recipient.getAddress().toPhoneString());
- }
-
- getContext().startActivity(intent);
- if (threadId != -1) DatabaseFactory.getThreadDatabase(getContext()).setHasSent(threadId, true);
- }
-
- private void handleProfileAccess() {
- final Context context = getContext();
-
- new AlertDialog.Builder(getContext())
- .setIconAttribute(R.attr.dialog_info_icon)
- .setTitle(getContext().getString(R.string.UnknownSenderView_share_profile_with_s, recipient.toShortString()))
- .setMessage(R.string.UnknownSenderView_the_easiest_way_to_share_your_profile_information_is_to_add_the_sender_to_your_contacts)
- .setPositiveButton(R.string.UnknownSenderView_share_profile, (dialog, which) -> {
- new AsyncTask() {
- @Override
- protected Void doInBackground(Void... params) {
- DatabaseFactory.getRecipientDatabase(context).setProfileSharing(recipient, true);
- if (threadId != -1) DatabaseFactory.getThreadDatabase(context).setHasSent(threadId, true);
- return null;
- }
- }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
- })
- .setNegativeButton(android.R.string.cancel, null)
- .show();
- }
-}