diff --git a/MessengerProj/src/main/java/com/b44t/messenger/MrMailbox.java b/MessengerProj/src/main/java/com/b44t/messenger/MrMailbox.java
index 707c2bc74..d7a3e5400 100644
--- a/MessengerProj/src/main/java/com/b44t/messenger/MrMailbox.java
+++ b/MessengerProj/src/main/java/com/b44t/messenger/MrMailbox.java
@@ -31,6 +31,7 @@ package com.b44t.messenger;
import android.app.Activity;
import android.content.SharedPreferences;
import android.util.Log;
+import android.widget.Toast;
import com.b44t.messenger.Components.ForegroundDetector;
@@ -220,6 +221,8 @@ public class MrMailbox {
public final static int MR_EVENT_IMEX_PROGRESS = 2051;
public final static int MR_EVENT_IMEX_FILE_WRITTEN = 2052;
+ public final static int MR_EVENT_SECURE_JOIN_REQUESTED = 2060;
+
public final static int MR_EVENT_IS_OFFLINE = 2081;
public final static int MR_EVENT_GET_STRING = 2091;
public final static int MR_EVENT_GET_QUANTITIY_STRING = 2092;
@@ -264,6 +267,15 @@ public class MrMailbox {
}
return 0;
+ case MR_EVENT_SECURE_JOIN_REQUESTED:
+ AndroidUtilities.runOnUIThread(new Runnable() {
+ @Override
+ public void run() {
+ NotificationCenter.getInstance().postNotificationName(NotificationCenter.secureJoinRequested, (int)data1);
+ }
+ });
+ return 0;
+
case MR_EVENT_MSGS_CHANGED:
case MR_EVENT_INCOMING_MSG:
AndroidUtilities.runOnUIThread(new Runnable() {
diff --git a/MessengerProj/src/main/java/com/b44t/messenger/NotificationCenter.java b/MessengerProj/src/main/java/com/b44t/messenger/NotificationCenter.java
index 0968f1849..57fe7d108 100644
--- a/MessengerProj/src/main/java/com/b44t/messenger/NotificationCenter.java
+++ b/MessengerProj/src/main/java/com/b44t/messenger/NotificationCenter.java
@@ -36,6 +36,7 @@ public class NotificationCenter {
public static final int imexEnded = totalEvents++;
public static final int imexProgress = totalEvents++;
public static final int imexFileWritten = totalEvents++;
+ public static final int secureJoinRequested = totalEvents++;
public static final int didReceivedNewMessages = totalEvents++;
public static final int updateInterfaces = totalEvents++;
public static final int dialogsNeedReload = totalEvents++;
diff --git a/MessengerProj/src/main/java/com/b44t/messenger/QRshowActivity.java b/MessengerProj/src/main/java/com/b44t/messenger/QRshowActivity.java
index 90a940773..9adb2a003 100644
--- a/MessengerProj/src/main/java/com/b44t/messenger/QRshowActivity.java
+++ b/MessengerProj/src/main/java/com/b44t/messenger/QRshowActivity.java
@@ -4,13 +4,14 @@ import android.graphics.Bitmap;
import android.os.Bundle;
import android.app.Activity;
import android.widget.ImageView;
+import android.widget.Toast;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
-public class QRshowActivity extends Activity {
+public class QRshowActivity extends Activity implements NotificationCenter.NotificationCenterDelegate {
public final static int WHITE = 0xFFFFFFFF;
public final static int BLACK = 0xFF000000;
@@ -29,6 +30,14 @@ public class QRshowActivity extends Activity {
} catch (WriterException e) {
e.printStackTrace();
}
+
+ NotificationCenter.getInstance().addObserver(this, NotificationCenter.secureJoinRequested);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ NotificationCenter.getInstance().removeObserver(this, NotificationCenter.secureJoinRequested);
}
Bitmap encodeAsBitmap(String str) throws WriterException {
@@ -56,4 +65,13 @@ public class QRshowActivity extends Activity {
return bitmap;
}
+ @Override
+ public void didReceivedNotification(int id, Object... args) {
+ if( id==NotificationCenter.secureJoinRequested ) {
+ int contact_id = (Integer)args[0];
+ String msg = String.format(ApplicationLoader.applicationContext.getString(R.string.OobSecureJoinRequested), MrMailbox.getContact(contact_id).getNameNAddr());
+ AndroidUtilities.showHint(ApplicationLoader.applicationContext, msg);
+ }
+ }
+
}
diff --git a/MessengerProj/src/main/res/values/strings.xml b/MessengerProj/src/main/res/values/strings.xml
index d3941638e..e6ac4df41 100644
--- a/MessengerProj/src/main/res/values/strings.xml
+++ b/MessengerProj/src/main/res/values/strings.xml
@@ -435,4 +435,5 @@
Contact ]]>%1$s]]> verified. Start chatting?
The scanned fingerprint does ]]>not match]]> the fingerprint last seen for ]]>%1$s]]>.
This QR code contains a fingerprint but no e-mail address.\n\nFor an out-of-band-verification, please establish an encrpyted connection to the recipient first.
+ %1$s joins.