Change summary
src/main/java/eu/siacs/conversations/ui/ConversationFragment.java | 15 +
src/main/res/layout/fragment_conversation.xml | 3
src/main/res/values/strings.xml | 2
3 files changed, 19 insertions(+), 1 deletion(-)
Detailed changes
@@ -818,6 +818,19 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
}
};
+ private OnClickListener mAllowPresenceSubscription = new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ final Contact contact = conversation == null ? null : conversation.getContact();
+ if (contact != null) {
+ activity.xmppConnectionService.sendPresencePacket(contact.getAccount(),
+ activity.xmppConnectionService.getPresenceGenerator()
+ .sendPresenceUpdatesTo(contact));
+ hideSnackbar();
+ }
+ }
+ };
+
private OnClickListener mAnswerSmpClickListener = new OnClickListener() {
@Override
public void onClick(View view) {
@@ -840,6 +853,8 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
showSnackbar(R.string.contact_blocked, R.string.unblock, this.mUnblockClickListener);
} else if (!contact.showInRoster() && contact.getOption(Contact.Options.PENDING_SUBSCRIPTION_REQUEST)) {
showSnackbar(R.string.contact_added_you, R.string.add_back, this.mAddBackClickListener);
+ } else if (contact.getOption(Contact.Options.PENDING_SUBSCRIPTION_REQUEST)) {
+ showSnackbar(R.string.contact_asks_for_presence_subscription, R.string.allow, this.mAllowPresenceSubscription);
} else if (mode == Conversation.MODE_MULTI
&& !conversation.getMucOptions().online()
&& account.getStatus() == Account.State.ONLINE) {
@@ -2,7 +2,8 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_height="match_parent"
+ android:background="?attr/color_background_secondary">
<ListView
android:id="@+id/messages_view"
@@ -677,4 +677,6 @@
<string name="payment_required">Payment required</string>
<string name="missing_internet_permission">Missing internet permission</string>
<string name="me">Me</string>
+ <string name="contact_asks_for_presence_subscription">Contact asks for presence subscription</string>
+ <string name="allow">Allow</string>
</resources>