From 4070c336056a3fefbbd7c19571557e2f1d908023 Mon Sep 17 00:00:00 2001 From: iNPUTmice Date: Tue, 1 Jul 2014 12:57:28 +0200 Subject: fixed image sharing with contacts that have multiple presences --- .../siacs/conversations/ui/ShareWithActivity.java | 41 +++++++++++++--------- 1 file changed, 25 insertions(+), 16 deletions(-) (limited to 'src/eu/siacs/conversations') diff --git a/src/eu/siacs/conversations/ui/ShareWithActivity.java b/src/eu/siacs/conversations/ui/ShareWithActivity.java index d4d23ddf2..9fe5e500a 100644 --- a/src/eu/siacs/conversations/ui/ShareWithActivity.java +++ b/src/eu/siacs/conversations/ui/ShareWithActivity.java @@ -26,30 +26,31 @@ import android.view.View.OnClickListener; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; +import android.widget.Toast; public class ShareWithActivity extends XmppActivity { private LinearLayout conversations; private LinearLayout contacts; private boolean isImage = false; - + private UiCallback attachImageCallback = new UiCallback() { - + @Override public void userInputRequried(PendingIntent pi, Message object) { // TODO Auto-generated method stub - + } - + @Override public void success(Message message) { xmppConnectionService.sendMessage(message); } - + @Override public void error(int errorCode, Message object) { // TODO Auto-generated method stub - + } }; @@ -81,8 +82,8 @@ public class ShareWithActivity extends XmppActivity { @Override void onBackendConnected() { - this.isImage = (getIntent().getType() != null && getIntent() - .getType().startsWith("image/")); + this.isImage = (getIntent().getType() != null && getIntent().getType() + .startsWith("image/")); SharedPreferences preferences = PreferenceManager .getDefaultSharedPreferences(this); boolean useSubject = preferences.getBoolean("use_subject_in_muc", true); @@ -154,24 +155,32 @@ public class ShareWithActivity extends XmppActivity { contacts.addView(view); } } - + private void share(final Conversation conversation) { String sharedText = null; if (isImage) { - final Uri uri = (Uri) getIntent().getParcelableExtra(Intent.EXTRA_STREAM); + final Uri uri = (Uri) getIntent().getParcelableExtra( + Intent.EXTRA_STREAM); selectPresence(conversation, new OnPresenceSelected() { @Override public void onPresenceSelected() { - ShareWithActivity.this.xmppConnectionService.attachImageToConversation(conversation, uri,attachImageCallback); + Toast.makeText(getApplicationContext(), + getText(R.string.preparing_image), + Toast.LENGTH_LONG).show(); + ShareWithActivity.this.xmppConnectionService + .attachImageToConversation(conversation, uri, + attachImageCallback); + switchToConversation(conversation, null, true); + finish(); } }); - + } else { - sharedText = getIntent().getStringExtra( - Intent.EXTRA_TEXT); + sharedText = getIntent().getStringExtra(Intent.EXTRA_TEXT); + switchToConversation(conversation, sharedText, true); + finish(); } - switchToConversation(conversation, sharedText, true); - finish(); + } } -- cgit v1.2.3