Mark messages read when swipe archiving

// FREEBIE
This commit is contained in:
Moxie Marlinspike 2015-12-03 12:36:47 -08:00
parent 43aef3ecb0
commit adda7622f4
2 changed files with 16 additions and 4 deletions

View File

@ -20,7 +20,6 @@ import android.app.ProgressDialog;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.res.Resources;
import android.content.res.TypedArray; import android.content.res.TypedArray;
import android.database.Cursor; import android.database.Cursor;
import android.graphics.Bitmap; import android.graphics.Bitmap;
@ -44,7 +43,6 @@ import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.helper.ItemTouchHelper; import android.support.v7.widget.helper.ItemTouchHelper;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.Menu; import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuInflater;
@ -53,7 +51,6 @@ import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.view.ViewGroup; import android.view.ViewGroup;
import org.thoughtcrime.securesms.ConversationListAdapter.ItemClickListener; import org.thoughtcrime.securesms.ConversationListAdapter.ItemClickListener;
import org.thoughtcrime.securesms.components.reminder.DefaultSmsReminder; import org.thoughtcrime.securesms.components.reminder.DefaultSmsReminder;
import org.thoughtcrime.securesms.components.reminder.ExpiredBuildReminder; import org.thoughtcrime.securesms.components.reminder.ExpiredBuildReminder;
@ -433,7 +430,8 @@ public class ConversationListFragment extends Fragment
@Override @Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) { public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
final long threadId = ((ConversationListItem)viewHolder.itemView).getThreadId(); final long threadId = ((ConversationListItem)viewHolder.itemView).getThreadId();
final boolean read = ((ConversationListItem)viewHolder.itemView).getRead();
if (archive) { if (archive) {
new SnackbarAsyncTask<Long>(getView(), new SnackbarAsyncTask<Long>(getView(),
@ -462,11 +460,21 @@ public class ConversationListFragment extends Fragment
@Override @Override
protected void executeAction(@Nullable Long parameter) { protected void executeAction(@Nullable Long parameter) {
DatabaseFactory.getThreadDatabase(getActivity()).archiveConversation(threadId); DatabaseFactory.getThreadDatabase(getActivity()).archiveConversation(threadId);
if (!read) {
DatabaseFactory.getThreadDatabase(getActivity()).setRead(threadId);
MessageNotifier.updateNotification(getActivity(), masterSecret);
}
} }
@Override @Override
protected void reverseAction(@Nullable Long parameter) { protected void reverseAction(@Nullable Long parameter) {
DatabaseFactory.getThreadDatabase(getActivity()).unarchiveConversation(threadId); DatabaseFactory.getThreadDatabase(getActivity()).unarchiveConversation(threadId);
if (!read) {
DatabaseFactory.getThreadDatabase(getActivity()).setUnread(threadId);
MessageNotifier.updateNotification(getActivity(), masterSecret);
}
} }
}.execute(threadId); }.execute(threadId);
} }

View File

@ -160,6 +160,10 @@ public class ConversationListItem extends RelativeLayout
return threadId; return threadId;
} }
public boolean getRead() {
return read;
}
public int getDistributionType() { public int getDistributionType() {
return distributionType; return distributionType;
} }