diff options
Diffstat (limited to '')
-rw-r--r-- | src/main/java/eu/siacs/conversations/ui/ConversationActivity.java | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java index 219a4fcac..cc64953c6 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java @@ -51,6 +51,7 @@ import eu.siacs.conversations.services.XmppConnectionService.OnRosterUpdate; import eu.siacs.conversations.ui.adapter.ConversationAdapter; import eu.siacs.conversations.utils.ExceptionHelper; import eu.siacs.conversations.xmpp.OnUpdateBlocklist; +import eu.siacs.conversations.xmpp.chatstate.ChatState; import eu.siacs.conversations.xmpp.jid.InvalidJidException; import eu.siacs.conversations.xmpp.jid.Jid; @@ -326,13 +327,27 @@ public class ConversationActivity extends XmppActivity ab.setHomeButtonEnabled(true); if (conversation.getMode() == Conversation.MODE_SINGLE || useSubjectToIdentifyConference()) { ab.setTitle(conversation.getName()); + if (conversation.getMode() == Conversation.MODE_SINGLE) { + ChatState state = conversation.getIncomingChatState(); + if (state == ChatState.COMPOSING) { + ab.setSubtitle(getString(R.string.is_typing)); + } else if (state == ChatState.PAUSED) { + ab.setSubtitle(null); + } else { + ab.setSubtitle(null); + } + } else if (useSubjectToIdentifyConference()){ + ab.setSubtitle(conversation.getParticipants()); + } } else { ab.setTitle(conversation.getJid().toBareJid().toString()); + ab.setSubtitle(null); } } else { ab.setDisplayHomeAsUpEnabled(false); - ab.setHomeButtonEnabled(false); - ab.setTitle(R.string.app_name); + ab.setHomeButtonEnabled(false); + ab.setTitle(R.string.app_name); + ab.setSubtitle(null); } } } |