use tri-state for archived

This commit is contained in:
B. Petersen 2020-02-12 12:40:26 +01:00
parent 0a30ebdc5b
commit c3556f01f2
No known key found for this signature in database
GPG key ID: 3B88E92DEA8E9AFC
4 changed files with 9 additions and 10 deletions

View file

@ -447,11 +447,11 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
}
}
if( dcChat.getArchived()==0 ) {
inflater.inflate(R.menu.conversation_archive, menu);
if( dcChat.getArchived()==1 ) {
inflater.inflate(R.menu.conversation_unarchive, menu);
}
else {
inflater.inflate(R.menu.conversation_unarchive, menu);
inflater.inflate(R.menu.conversation_archive, menu);
}
inflater.inflate(R.menu.conversation_delete, menu);
@ -558,7 +558,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
}
private void handleArchiveChat() {
int doArchive = dcContext.getChat(chatId).getArchived() == 0 ? 1: 0;
int doArchive = dcContext.getChat(chatId).getArchived() == 1 ? 0: 1;
dcContext.archiveChat(chatId, doArchive);
Toast.makeText(this, getString(R.string.done), Toast.LENGTH_SHORT).show();
if( doArchive == 1 ) {

View file

@ -254,7 +254,7 @@ public class ConversationListItem extends RelativeLayout
}
private void setStatusIcons(ThreadRecord thread) {
if (thread.isArchived())
if (thread.getArchived()==1)
{
// archived
this.archivedView.setVisibility(View.VISIBLE);

View file

@ -279,12 +279,11 @@ public class ApplicationDcContext extends DcContext {
Recipient recipient = getRecipient(chat);
long date = summary.getTimestamp();
int unreadCount = getFreshMsgCount(chatId);
boolean archived = chat.getArchived() != 0;
boolean verified = chat.isVerified();
return new ThreadRecord(context, body, recipient, date,
unreadCount, chatId,
archived, verified, chat.isSendingLocations(), summary);
chat.getArchived(), verified, chat.isSendingLocations(), summary);
}

View file

@ -45,7 +45,7 @@ public class ThreadRecord {
private final String body;
private final int unreadCount;
private final boolean archived;
private final int archived;
private final boolean verified;
private final boolean isSendingLocations;
private @Nullable final DcLot dcSummary;
@ -53,7 +53,7 @@ public class ThreadRecord {
public ThreadRecord(@NonNull Context context, @NonNull String body,
@NonNull Recipient recipient, long dateReceived, int unreadCount,
long threadId,
boolean archived,
int archived,
boolean verified,
boolean isSendingLocations,
@Nullable DcLot dcSummary)
@ -110,7 +110,7 @@ public class ThreadRecord {
return getDateReceived();
}
public boolean isArchived() {
public int getArchived() {
return archived;
}