2018-08-02 13:33:06 +00:00
|
|
|
package eu.faircode.email;
|
|
|
|
|
|
|
|
/*
|
2018-08-14 05:53:24 +00:00
|
|
|
This file is part of FairEmail.
|
2018-08-02 13:33:06 +00:00
|
|
|
|
2018-08-14 05:53:24 +00:00
|
|
|
FairEmail is free software: you can redistribute it and/or modify
|
2018-08-02 13:33:06 +00:00
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
|
|
(at your option) any later version.
|
|
|
|
|
2018-10-29 10:46:49 +00:00
|
|
|
FairEmail is distributed in the hope that it will be useful,
|
2018-08-02 13:33:06 +00:00
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
2018-10-29 10:46:49 +00:00
|
|
|
along with FairEmail. If not, see <http://www.gnu.org/licenses/>.
|
2018-08-02 13:33:06 +00:00
|
|
|
|
2018-12-31 08:04:33 +00:00
|
|
|
Copyright 2018-2019 by Marcel Bokhorst (M66B)
|
2018-08-02 13:33:06 +00:00
|
|
|
*/
|
|
|
|
|
2019-10-01 11:56:48 +00:00
|
|
|
import android.content.Context;
|
|
|
|
|
2019-01-27 16:16:21 +00:00
|
|
|
import androidx.room.Ignore;
|
|
|
|
|
2019-04-17 18:21:44 +00:00
|
|
|
import java.util.Objects;
|
|
|
|
|
2019-08-04 11:43:37 +00:00
|
|
|
import javax.mail.Address;
|
|
|
|
|
2018-08-02 13:33:06 +00:00
|
|
|
public class TupleMessageEx extends EntityMessage {
|
2019-09-19 15:41:26 +00:00
|
|
|
public boolean accountPop;
|
2018-08-22 16:37:10 +00:00
|
|
|
public String accountName;
|
2018-09-12 16:54:48 +00:00
|
|
|
public Integer accountColor;
|
2018-11-24 08:26:34 +00:00
|
|
|
public boolean accountNotify;
|
2019-09-29 11:42:25 +00:00
|
|
|
public boolean accountAutoSeen;
|
2018-08-02 13:33:06 +00:00
|
|
|
public String folderName;
|
2018-09-19 17:47:03 +00:00
|
|
|
public String folderDisplay;
|
2018-08-02 13:33:06 +00:00
|
|
|
public String folderType;
|
2019-07-07 07:25:52 +00:00
|
|
|
public boolean folderReadOnly;
|
2019-02-03 13:27:30 +00:00
|
|
|
public String identityName;
|
|
|
|
public String identityEmail;
|
2019-06-13 12:32:07 +00:00
|
|
|
public Boolean identitySynchronize;
|
2019-08-04 11:43:37 +00:00
|
|
|
public Address[] senders;
|
2018-08-02 13:33:06 +00:00
|
|
|
public int count;
|
|
|
|
public int unseen;
|
2018-09-19 17:04:52 +00:00
|
|
|
public int unflagged;
|
2019-01-01 14:26:30 +00:00
|
|
|
public int drafts;
|
2018-12-30 07:58:02 +00:00
|
|
|
public int visible;
|
2019-04-05 06:57:50 +00:00
|
|
|
public Long totalSize;
|
2019-07-07 07:25:52 +00:00
|
|
|
|
2019-01-27 16:16:21 +00:00
|
|
|
@Ignore
|
2019-10-01 11:56:48 +00:00
|
|
|
boolean duplicate;
|
|
|
|
|
|
|
|
String getFolderName(Context context) {
|
|
|
|
return (folderDisplay == null
|
|
|
|
? Helper.localizeFolderName(context, folderName)
|
|
|
|
: folderDisplay);
|
|
|
|
}
|
2018-08-02 13:33:06 +00:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean equals(Object obj) {
|
|
|
|
if (obj instanceof TupleMessageEx) {
|
|
|
|
TupleMessageEx other = (TupleMessageEx) obj;
|
|
|
|
return (super.equals(obj) &&
|
2019-09-19 15:41:26 +00:00
|
|
|
this.accountPop == other.accountPop &&
|
2019-02-26 10:05:21 +00:00
|
|
|
Objects.equals(this.accountName, other.accountName) &&
|
|
|
|
Objects.equals(this.accountColor, other.accountColor) &&
|
2018-11-24 08:26:34 +00:00
|
|
|
this.accountNotify == other.accountNotify &&
|
2019-09-29 11:42:25 +00:00
|
|
|
this.accountAutoSeen == other.accountAutoSeen &&
|
2018-08-22 16:37:10 +00:00
|
|
|
this.folderName.equals(other.folderName) &&
|
2019-02-26 10:05:21 +00:00
|
|
|
Objects.equals(this.folderDisplay, other.folderDisplay) &&
|
2018-08-02 13:33:06 +00:00
|
|
|
this.folderType.equals(other.folderType) &&
|
2019-07-07 07:25:52 +00:00
|
|
|
this.folderReadOnly == other.folderReadOnly &&
|
2019-06-25 07:46:31 +00:00
|
|
|
Objects.equals(this.identityName, other.identityName) &&
|
|
|
|
Objects.equals(this.identityEmail, other.identityEmail) &&
|
|
|
|
Objects.equals(this.identitySynchronize, other.identitySynchronize) &&
|
2018-08-02 13:33:06 +00:00
|
|
|
this.count == other.count &&
|
2018-08-03 12:27:49 +00:00
|
|
|
this.unseen == other.unseen &&
|
2018-09-19 17:04:52 +00:00
|
|
|
this.unflagged == other.unflagged &&
|
2019-05-07 15:52:14 +00:00
|
|
|
this.drafts == other.drafts &&
|
2018-12-30 07:58:02 +00:00
|
|
|
this.visible == other.visible &&
|
2019-04-05 06:57:50 +00:00
|
|
|
Objects.equals(this.totalSize, other.totalSize) &&
|
2018-11-22 10:24:52 +00:00
|
|
|
this.duplicate == other.duplicate);
|
2018-08-02 13:33:06 +00:00
|
|
|
}
|
2018-12-04 17:42:45 +00:00
|
|
|
return false;
|
2018-08-02 13:33:06 +00:00
|
|
|
}
|
|
|
|
}
|