diff options
author | Christian Schneppe <christian@pix-art.de> | 2016-06-06 21:23:49 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2016-06-06 21:23:49 +0200 |
commit | 1e5c64a1f569ebe8a893cdff9a4d8957849220b3 (patch) | |
tree | 75bbcb3a1d8d40895903fb38b2a3bee008367dc7 /src/main/java/eu/siacs/conversations/ui | |
parent | 6582ac6e72a1f9bf55f2f6d8457114a6426c1062 (diff) | |
parent | b88128241eb7deb6599e946dc009fdc5dfd32974 (diff) |
Merge remote-tracking branch 'refs/remotes/siacs/master'
Diffstat (limited to 'src/main/java/eu/siacs/conversations/ui')
4 files changed, 24 insertions, 11 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java b/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java index 4f2f5e7b2..1e73fc68b 100644 --- a/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java @@ -106,10 +106,10 @@ public class ContactDetailsActivity extends XmppActivity implements OnAccountUpd } }; private Jid accountJid; + private TextView lastseen; private Jid contactJid; private TextView contactJidTv; private TextView accountJidTv; - private TextView lastseen; private TextView statusMessage; private CheckBox send; private CheckBox receive; @@ -117,7 +117,8 @@ public class ContactDetailsActivity extends XmppActivity implements OnAccountUpd private QuickContactBadge badge; private LinearLayout keys; private LinearLayout tags; - private boolean showDynamicTags; + private boolean showDynamicTags = false; + private boolean showLastSeen = false; private String messageFingerprint; private DialogInterface.OnClickListener addToPhonebook = new DialogInterface.OnClickListener() { @@ -206,7 +207,7 @@ public class ContactDetailsActivity extends XmppActivity implements OnAccountUpd contactJidTv = (TextView) findViewById(R.id.details_contactjid); accountJidTv = (TextView) findViewById(R.id.details_account); - lastseen = (TextView) findViewById(R.id.details_lastseen); + lastseen = (TextView) findViewById(R.id.details_lastseen); statusMessage = (TextView) findViewById(R.id.status_message); send = (CheckBox) findViewById(R.id.details_send_presence); receive = (CheckBox) findViewById(R.id.details_receive_presence); @@ -224,9 +225,14 @@ public class ContactDetailsActivity extends XmppActivity implements OnAccountUpd getActionBar().setHomeButtonEnabled(true); getActionBar().setDisplayHomeAsUpEnabled(true); } + } + @Override + public void onStart() { + super.onStart(); final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); this.showDynamicTags = preferences.getBoolean("show_dynamic_tags",false); + this.showLastSeen = preferences.getBoolean("last_activity", true); } private void share() { @@ -390,11 +396,17 @@ public class ContactDetailsActivity extends XmppActivity implements OnAccountUpd 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.isBlocked() && !this.showDynamicTags) { + lastseen.setVisibility(View.VISIBLE); + lastseen.setText(R.string.contact_blocked); + } else { + if (showLastSeen && contact.getLastseen() > 0) { + lastseen.setVisibility(View.VISIBLE); + lastseen.setText(UIHelper.lastseen(getApplicationContext(), contact.isActive(), contact.getLastseen())); + } else { + lastseen.setVisibility(View.GONE); + } + } if (contact.getPresences().size() > 1) { contactJidTv.setText(contact.getDisplayJid() + " (" diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java index 4d9aa8d6c..a2c58da6e 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java @@ -1144,7 +1144,7 @@ public class ConversationActivity extends XmppActivity upKey = KeyEvent.KEYCODE_DPAD_UP; downKey = KeyEvent.KEYCODE_DPAD_DOWN; } - final boolean modifier = event.isCtrlPressed() || event.isAltPressed(); + final boolean modifier = event.isCtrlPressed() || (event.getMetaState() & KeyEvent.META_ALT_LEFT_ON) != 0; if (modifier && key == KeyEvent.KEYCODE_TAB && isConversationsOverviewHideable()) { toggleConversationsOverview(); return true; diff --git a/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java b/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java index 30781e553..0972c103c 100644 --- a/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java @@ -161,7 +161,8 @@ public class SettingsActivity extends XmppActivity implements "away_when_screen_off", "allow_message_correction", "treat_vibrate_as_silent", - "manually_change_presence"); + "manually_change_presence", + "last_activity"); if (name.equals("resource")) { String resource = preferences.getString("resource", "mobile") .toLowerCase(Locale.US); diff --git a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java index ad1cbf905..f7e18e66c 100644 --- a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java @@ -923,7 +923,7 @@ public abstract class XmppActivity extends Activity { final String[] presencesArray = presences.asStringArray(); int preselectedPresence = 0; for (int i = 0; i < presencesArray.length; ++i) { - if (presencesArray[i].equals(contact.lastseen.presence)) { + if (presencesArray[i].equals(contact.getLastPresence())) { preselectedPresence = i; break; } |