diff options
author | Christian Schneppe <christian@pix-art.de> | 2017-02-22 22:28:46 +0100 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2017-02-22 22:28:46 +0100 |
commit | 1e4f06d04de38021a8cd62c386261103ebebccb6 (patch) | |
tree | be4a6fbe011ad1d304c8916d4ea2ad910a6cf04c /src/main/java/de/pixart/messenger/ui/ConversationFragment.java | |
parent | cccbbaa8ef67347743d7984f86ab2a6e0800ae59 (diff) |
send 'online' presences also while typing a message
Diffstat (limited to 'src/main/java/de/pixart/messenger/ui/ConversationFragment.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/ConversationFragment.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java index 74ee1324d..2212ad6b0 100644 --- a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java +++ b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java @@ -9,8 +9,10 @@ import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentSender.SendIntentException; +import android.content.SharedPreferences; import android.os.Bundle; import android.os.Handler; +import android.preference.PreferenceManager; import android.support.v13.view.inputmethod.InputConnectionCompat; import android.support.v13.view.inputmethod.InputContentInfoCompat; import android.text.Editable; @@ -1485,14 +1487,27 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa @Override public void onTypingStarted() { + final boolean broadcastLastActivity = broadcastLastActivity(); Account.State status = conversation.getAccount().getStatus(); if (status == Account.State.ONLINE && conversation.setOutgoingChatState(ChatState.COMPOSING)) { activity.xmppConnectionService.sendChatState(conversation); } + if (broadcastLastActivity) { + activity.xmppConnectionService.sendPresence(conversation.getAccount(), false); //send new presence but don't include idle because we are not + } activity.hideConversationsOverview(); updateSendButton(); } + public boolean broadcastLastActivity() { + return getPreferences().getBoolean("last_activity", true); + } + + public SharedPreferences getPreferences() { + return PreferenceManager + .getDefaultSharedPreferences(getActivity().getApplicationContext()); + } + @Override public void onTypingStopped() { Account.State status = conversation.getAccount().getStatus(); |