From ae520c29573a5ae4b9129685ad9766f335ab6f26 Mon Sep 17 00:00:00 2001 From: lookshe Date: Sat, 11 Apr 2015 21:48:55 +0200 Subject: differ between received and read message --- .../java/eu/siacs/conversations/services/XmppConnectionService.java | 6 +++++- src/main/java/eu/siacs/conversations/ui/ConversationActivity.java | 4 ---- src/main/java/eu/siacs/conversations/ui/ConversationFragment.java | 3 ++- src/main/res/values-de/strings.xml | 6 ++++-- src/main/res/values/strings.xml | 4 +++- src/main/res/xml/preferences.xml | 6 ++++++ 6 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java index ca182867..2f3122e7 100644 --- a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java @@ -2091,6 +2091,10 @@ public class XmppConnectionService extends Service implements OnPhoneContactsLoa return getPreferences().getBoolean("confirm_messages", true); } + public boolean confirmMessagesRead() { + return getPreferences().getBoolean("confirm_read_message", true); + } + public boolean sendChatStates() { return getPreferences().getBoolean("chat_states", false); } @@ -2167,7 +2171,7 @@ public class XmppConnectionService extends Service implements OnPhoneContactsLoa public void sendReadMarker(final Conversation conversation) { final Message markable = conversation.getLatestMarkableMessage(); this.markRead(conversation); - if (confirmMessages() && markable != null && markable.getRemoteMsgId() != null) { + if (confirmMessagesRead() && markable != null && markable.getRemoteMsgId() != null) { Log.d(Config.LOGTAG, conversation.getAccount().getJid().toBareJid() + ": sending read marker to " + markable.getCounterpart().toString()); Account account = conversation.getAccount(); final Jid to = markable.getCounterpart(); diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java index 82afda07..615926d3 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java @@ -1052,10 +1052,6 @@ public class ConversationActivity extends XmppActivity return getPreferences().getBoolean("force_encryption", false); } - public boolean useSendButtonToIndicateStatus() { - return getPreferences().getBoolean("send_button_status", false); - } - public boolean indicateReceived() { return getPreferences().getBoolean("indicate_received", false); } diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java index 4da9d101..b9a3b8da 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java @@ -41,6 +41,7 @@ import java.util.List; import java.util.NoSuchElementException; import java.util.concurrent.ConcurrentLinkedQueue; +import de.tzur.conversations.Settings; import eu.siacs.conversations.Config; import eu.siacs.conversations.R; import eu.siacs.conversations.crypto.PgpEngine; @@ -808,7 +809,7 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa public void updateSendButton() { Conversation c = this.conversation; - if (activity.useSendButtonToIndicateStatus() && c != null + if (Settings.SHOW_ONLINE_STATUS && c != null && c.getAccount().getStatus() == Account.State.ONLINE) { if (c.getMode() == Conversation.MODE_SINGLE) { switch (c.getContact().getMostAvailableStatus()) { diff --git a/src/main/res/values-de/strings.xml b/src/main/res/values-de/strings.xml index 5e75f55c..1233817f 100644 --- a/src/main/res/values-de/strings.xml +++ b/src/main/res/values-de/strings.xml @@ -113,8 +113,10 @@ Erweiterte Optionen Sende niemals Absturzberichte Wenn du Absturzberichte einschickst, hilfst du Conversations stetig zu verbessern - Lese- und Empfangsbestätigung senden - Informiere deine Kontakte, wenn du eine Nachricht empfangen und gelesen hast + Empfangsbestätigung senden + Informiere deine Kontakte, wenn du eine Nachricht empfangen hast + Lesebestätigung senden + Informiere deine Kontakte, wenn du eine Nachricht gelesen hast Benutzeroberfläche Smilies ersetzen Zeige Smilie-Bilder anstelle von Emoticons. diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index f6abfc66..2cd67077 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -116,7 +116,9 @@ Never send crash reports By sending in stack traces you are helping the ongoing development of Conversations Confirm Messages - Let your contact know when you have received and read a message + Let your contact know when you have received a message + Confirm Read Messages + Let your contact know when you have read a message UI Options Parse Emoticons Replace emoticons with smilies. diff --git a/src/main/res/xml/preferences.xml b/src/main/res/xml/preferences.xml index adc15c6f..7318734a 100644 --- a/src/main/res/xml/preferences.xml +++ b/src/main/res/xml/preferences.xml @@ -29,6 +29,12 @@ android:summary="@string/pref_confirm_messages_summary" android:title="@string/pref_confirm_messages" /> + + Date: Sat, 11 Apr 2015 21:49:48 +0200 Subject: show online status under avatar in same way for muc as the send button does --- .../ui/adapter/ConversationAdapter.java | 31 +++++++++++++--------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/ConversationAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/ConversationAdapter.java index fac4cc91..86526040 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/ConversationAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/ConversationAdapter.java @@ -23,6 +23,7 @@ import java.util.concurrent.RejectedExecutionException; import de.tzur.conversations.Settings; import eu.siacs.conversations.Config; import eu.siacs.conversations.R; +import eu.siacs.conversations.entities.Account; import eu.siacs.conversations.entities.Conversation; import eu.siacs.conversations.entities.Downloadable; import eu.siacs.conversations.entities.Message; @@ -82,22 +83,26 @@ public class ConversationAdapter extends ArrayAdapter { TextView mTimestamp = (TextView) view.findViewById(R.id.conversation_lastupdate); ImageView imagePreview = (ImageView) view.findViewById(R.id.conversation_lastimage); - if (Settings.SHOW_ONLINE_STATUS) { + if (Settings.SHOW_ONLINE_STATUS && conversation != null && conversation.getAccount().getStatus() == Account.State.ONLINE) { TextView status = (TextView) view.findViewById(R.id.status); String color = "#000000"; - switch (conversation.getContact().getMostAvailableStatus()) { - case Presences.ONLINE: - case Presences.CHAT: - color = "#259B23"; - break; - case Presences.AWAY: - case Presences.XA: - color = "#FF9800"; - break; - case Presences.DND: - color = "#E51C23"; - break; + if (conversation.getMode() == Conversation.MODE_SINGLE) { + switch (conversation.getContact().getMostAvailableStatus()) { + case Presences.ONLINE: + case Presences.CHAT: + color = "#259B23"; + break; + case Presences.AWAY: + case Presences.XA: + color = "#FF9800"; + break; + case Presences.DND: + color = "#E51C23"; + break; + } + } else if (conversation.getMode() == Conversation.MODE_MULTI && conversation.getMucOptions().online()) { + color = "#259B23"; } status.setBackgroundColor(Color.parseColor(color)); } -- cgit v1.2.3