refactored toasts shown when adhoc creating mucs

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/ui/ConversationActivity.java |  2 
src/main/java/eu/siacs/conversations/ui/XmppActivity.java         | 23 
src/main/res/values/strings.xml                                   |  3 
3 files changed, 23 insertions(+), 5 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/ui/ConversationActivity.java πŸ”—

@@ -1122,6 +1122,8 @@ public class ConversationActivity extends XmppActivity
 
 		if (mPendingConferenceInvite != null) {
 			mPendingConferenceInvite.execute(this);
+			mToast = Toast.makeText(this, R.string.creating_conference,Toast.LENGTH_LONG);
+			mToast.show();
 			mPendingConferenceInvite = null;
 		}
 

src/main/java/eu/siacs/conversations/ui/XmppActivity.java πŸ”—

@@ -117,6 +117,20 @@ public abstract class XmppActivity extends Activity {
 	protected int mTheme;
 	protected boolean mUsingEnterKey = false;
 
+	protected Toast mToast;
+
+	protected void hideToast() {
+		if (mToast != null) {
+			mToast.cancel();
+		}
+	}
+
+	protected void replaceToast(String msg) {
+		hideToast();
+		mToast = Toast.makeText(this, msg ,Toast.LENGTH_LONG);
+		mToast.show();
+	}
+
 	protected Runnable onOpenPGPKeyPublished = new Runnable() {
 		@Override
 		public void run() {
@@ -940,19 +954,22 @@ public abstract class XmppActivity extends Activity {
 			mPendingConferenceInvite = ConferenceInvite.parse(data);
 			if (xmppConnectionServiceBound && mPendingConferenceInvite != null) {
 				mPendingConferenceInvite.execute(this);
+				mToast = Toast.makeText(this, R.string.creating_conference,Toast.LENGTH_LONG);
+				mToast.show();
 				mPendingConferenceInvite = null;
 			}
 		}
 	}
 
+
 	private UiCallback<Conversation> adhocCallback = new UiCallback<Conversation>() {
 		@Override
 		public void success(final Conversation conversation) {
-			switchToConversation(conversation);
 			runOnUiThread(new Runnable() {
 				@Override
 				public void run() {
-					Toast.makeText(XmppActivity.this,R.string.conference_created,Toast.LENGTH_LONG).show();
+					switchToConversation(conversation);
+					hideToast();
 				}
 			});
 		}
@@ -962,7 +979,7 @@ public abstract class XmppActivity extends Activity {
 			runOnUiThread(new Runnable() {
 				@Override
 				public void run() {
-					Toast.makeText(XmppActivity.this,errorCode,Toast.LENGTH_LONG).show();
+					replaceToast(getString(errorCode));
 				}
 			});
 		}

src/main/res/values/strings.xml πŸ”—

@@ -412,8 +412,7 @@
 	<string name="enable_notifications">Enable notifications</string>
 	<string name="conference_with">Create conference with…</string>
 	<string name="no_conference_server_found">No conference server found</string>
-	<string name="conference_creation_failed">Conference creation failed!</string>
-	<string name="conference_created">Conference created!</string>
+	<string name="conference_creation_failed">Conference creation failed!</string>s
 	<string name="secret_accepted">Secret accepted!</string>
 	<string name="reset">Reset</string>
 	<string name="account_image_description">Account avatar</string>