do not show last-seen metric in UI

This commit is contained in:
Daniel Gultsch 2016-05-10 09:41:30 +02:00
parent 488780d2ce
commit 27b245ac35
6 changed files with 7 additions and 32 deletions

View file

@ -48,16 +48,12 @@ public abstract class AbstractParser {
return dateFormat.parse(timestamp); return dateFormat.parse(timestamp);
} }
protected void updateLastseen(final AbstractStanza packet, final Account account, final boolean presenceOverwrite) { protected void updateLastseen(long timestamp, final Account account, final Jid from) {
updateLastseen(getTimestamp(packet), account, packet.getFrom(), presenceOverwrite);
}
protected void updateLastseen(long timestamp, final Account account, final Jid from, final boolean presenceOverwrite) {
final String presence = from == null || from.isBareJid() ? "" : from.getResourcepart(); final String presence = from == null || from.isBareJid() ? "" : from.getResourcepart();
final Contact contact = account.getRoster().getContact(from); final Contact contact = account.getRoster().getContact(from);
if (timestamp >= contact.lastseen.time) { if (timestamp >= contact.lastseen.time) {
contact.lastseen.time = timestamp; contact.lastseen.time = timestamp;
if (!presence.isEmpty() && presenceOverwrite) { if (!presence.isEmpty()) {
contact.lastseen.presence = presence; contact.lastseen.presence = presence;
} }
} }

View file

@ -395,14 +395,11 @@ public class MessageParser extends AbstractParser implements
if (conversation.getMode() == Conversation.MODE_MULTI) { if (conversation.getMode() == Conversation.MODE_MULTI) {
Jid trueCounterpart = conversation.getMucOptions().getTrueCounterpart(counterpart.getResourcepart()); Jid trueCounterpart = conversation.getMucOptions().getTrueCounterpart(counterpart.getResourcepart());
message.setTrueCounterpart(trueCounterpart); message.setTrueCounterpart(trueCounterpart);
if (trueCounterpart != null) {
updateLastseen(timestamp, account, trueCounterpart, false);
}
if (!isTypeGroupChat) { if (!isTypeGroupChat) {
message.setType(Message.TYPE_PRIVATE); message.setType(Message.TYPE_PRIVATE);
} }
} else { } else {
updateLastseen(timestamp, account, packet.getFrom(), true); updateLastseen(timestamp, account, from);
} }
if (replacementId != null && mXmppConnectionService.allowMessageCorrection()) { if (replacementId != null && mXmppConnectionService.allowMessageCorrection()) {
@ -543,7 +540,7 @@ public class MessageParser extends AbstractParser implements
mXmppConnectionService.markRead(conversation); mXmppConnectionService.markRead(conversation);
} }
} else { } else {
updateLastseen(timestamp, account, packet.getFrom(), true); updateLastseen(timestamp, account, from);
final Message displayedMessage = mXmppConnectionService.markMessage(account, from.toBareJid(), displayed.getAttribute("id"), Message.STATUS_SEND_DISPLAYED); final Message displayedMessage = mXmppConnectionService.markMessage(account, from.toBareJid(), displayed.getAttribute("id"), Message.STATUS_SEND_DISPLAYED);
Message message = displayedMessage == null ? null : displayedMessage.prev(); Message message = displayedMessage == null ? null : displayedMessage.prev();
while (message != null while (message != null

View file

@ -211,7 +211,6 @@ public class PresenceParser extends AbstractParser implements
contact.setPgpKeyId(pgp.fetchKeyId(account, msg, x.getContent())); contact.setPgpKeyId(pgp.fetchKeyId(account, msg, x.getContent()));
} }
boolean online = sizeBefore < contact.getPresences().size(); boolean online = sizeBefore < contact.getPresences().size();
updateLastseen(packet, account, false);
mXmppConnectionService.onContactStatusChanged.onContactStatusChanged(contact, online); mXmppConnectionService.onContactStatusChanged.onContactStatusChanged(contact, online);
} else if (type.equals("unavailable")) { } else if (type.equals("unavailable")) {
if (from.isBareJid()) { if (from.isBareJid()) {

View file

@ -2817,17 +2817,15 @@ public class XmppConnectionService extends Service implements OnPhoneContactsLoa
} }
public boolean displayCaptchaRequest(Account account, String id, Data data, Bitmap captcha) { public boolean displayCaptchaRequest(Account account, String id, Data data, Bitmap captcha) {
boolean rc = false;
if (mOnCaptchaRequested != null) { if (mOnCaptchaRequested != null) {
DisplayMetrics metrics = getApplicationContext().getResources().getDisplayMetrics(); DisplayMetrics metrics = getApplicationContext().getResources().getDisplayMetrics();
Bitmap scaled = Bitmap.createScaledBitmap(captcha, (int) (captcha.getWidth() * metrics.scaledDensity), Bitmap scaled = Bitmap.createScaledBitmap(captcha, (int) (captcha.getWidth() * metrics.scaledDensity),
(int) (captcha.getHeight() * metrics.scaledDensity), false); (int) (captcha.getHeight() * metrics.scaledDensity), false);
mOnCaptchaRequested.onCaptchaRequested(account, id, data, scaled); mOnCaptchaRequested.onCaptchaRequested(account, id, data, scaled);
rc = true; return true;
} }
return false;
return rc;
} }
public void updateBlocklistUi(final OnUpdateBlocklist.Status status) { public void updateBlocklistUi(final OnUpdateBlocklist.Status status) {

View file

@ -107,7 +107,6 @@ public class ContactDetailsActivity extends XmppActivity implements OnAccountUpd
private Jid contactJid; private Jid contactJid;
private TextView contactJidTv; private TextView contactJidTv;
private TextView accountJidTv; private TextView accountJidTv;
private TextView lastseen;
private TextView statusMessage; private TextView statusMessage;
private CheckBox send; private CheckBox send;
private CheckBox receive; private CheckBox receive;
@ -204,7 +203,6 @@ public class ContactDetailsActivity extends XmppActivity implements OnAccountUpd
contactJidTv = (TextView) findViewById(R.id.details_contactjid); contactJidTv = (TextView) findViewById(R.id.details_contactjid);
accountJidTv = (TextView) findViewById(R.id.details_account); accountJidTv = (TextView) findViewById(R.id.details_account);
lastseen = (TextView) findViewById(R.id.details_lastseen);
statusMessage = (TextView) findViewById(R.id.status_message); statusMessage = (TextView) findViewById(R.id.status_message);
send = (CheckBox) findViewById(R.id.details_send_presence); send = (CheckBox) findViewById(R.id.details_send_presence);
receive = (CheckBox) findViewById(R.id.details_receive_presence); receive = (CheckBox) findViewById(R.id.details_receive_presence);
@ -373,12 +371,6 @@ public class ContactDetailsActivity extends XmppActivity implements OnAccountUpd
statusMessage.setVisibility(View.GONE); statusMessage.setVisibility(View.GONE);
} }
if (contact.isBlocked() && !this.showDynamicTags) {
lastseen.setText(R.string.contact_blocked);
} else {
lastseen.setText(UIHelper.lastseen(getApplicationContext(), contact.lastseen.time));
}
if (contact.getPresences().size() > 1) { if (contact.getPresences().size() > 1) {
contactJidTv.setText(contact.getDisplayJid() + " (" contactJidTv.setText(contact.getDisplayJid() + " ("
+ contact.getPresences().size() + ")"); + contact.getPresences().size() + ")");

View file

@ -53,19 +53,12 @@
android:orientation="horizontal"> android:orientation="horizontal">
</LinearLayout> </LinearLayout>
<TextView
android:id="@+id/details_lastseen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black54"
android:textSize="?attr/TextSizeBody" />
<TextView <TextView
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:id="@+id/status_message" android:id="@+id/status_message"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/black87" android:textColor="@color/black54"
android:textStyle="italic" android:textStyle="italic"
android:textSize="?attr/TextSizeBody" /> android:textSize="?attr/TextSizeBody" />