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.