diff --git a/CHANGELOG.md b/CHANGELOG.md index 03286e8b1..a65213f28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## UNRELEASED +* Show more detailed reasons about failed end-to-end-encryptions +* Do not show the padlock if end-to-end-encryption is disabled by the user * Add copy-to-clipboard function for "About / Info" * Show messages only for explicitly wanted chats diff --git a/MessengerProj/jni/mrwrapper.c b/MessengerProj/jni/mrwrapper.c index 60e0fc502..d16939285 100644 --- a/MessengerProj/jni/mrwrapper.c +++ b/MessengerProj/jni/mrwrapper.c @@ -969,6 +969,12 @@ JNIEXPORT jint Java_com_b44t_messenger_MrMsg_getSummarytext(JNIEnv *env, jobject } +JNIEXPORT jint Java_com_b44t_messenger_MrMsg_showPadlock(JNIEnv *env, jobject obj) +{ + return mrmsg_show_padlock(get_mrmsg_t(env, obj)); +} + + JNIEXPORT jint Java_com_b44t_messenger_MrMsg_getFilename(JNIEnv *env, jobject obj) { return JSTRING_NEW(mrmsg_get_filename(get_mrmsg_t(env, obj))); diff --git a/MessengerProj/src/main/java/com/b44t/messenger/Cells/ChatMessageCell.java b/MessengerProj/src/main/java/com/b44t/messenger/Cells/ChatMessageCell.java index 6211d483e..0963b547c 100644 --- a/MessengerProj/src/main/java/com/b44t/messenger/Cells/ChatMessageCell.java +++ b/MessengerProj/src/main/java/com/b44t/messenger/Cells/ChatMessageCell.java @@ -2011,7 +2011,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate currentTimeString = LocaleController.getInstance().formatterDay.format((long) (messageObject.messageOwner.date) * 1000); timeWidth = (int) Math.ceil(timePaint.measureText(currentTimeString)); timeEncrWidth = 0; - if( messageObject.messageOwner.e2ee ) { + if( messageObject.messageOwner.show_padlock) { timeEncrWidth = Theme.encrOutDrawable.getIntrinsicWidth(); timeWidth += timeEncrWidth; } diff --git a/MessengerProj/src/main/java/com/b44t/messenger/MediaController.java b/MessengerProj/src/main/java/com/b44t/messenger/MediaController.java index 7e4a20810..ad1de394b 100644 --- a/MessengerProj/src/main/java/com/b44t/messenger/MediaController.java +++ b/MessengerProj/src/main/java/com/b44t/messenger/MediaController.java @@ -81,7 +81,7 @@ import java.util.concurrent.Semaphore; public class MediaController implements AudioManager.OnAudioFocusChangeListener, NotificationCenter.NotificationCenterDelegate, SensorEventListener { - + // CAVE: do not refactor this without adapting the JNI part! private native int startRecord(String path); private native int writeFrame(ByteBuffer frame, int len); private native void stopRecord(); diff --git a/MessengerProj/src/main/java/com/b44t/messenger/MrMsg.java b/MessengerProj/src/main/java/com/b44t/messenger/MrMsg.java index 4049ee2f8..4d29f2233 100644 --- a/MessengerProj/src/main/java/com/b44t/messenger/MrMsg.java +++ b/MessengerProj/src/main/java/com/b44t/messenger/MrMsg.java @@ -30,7 +30,6 @@ package com.b44t.messenger; import android.graphics.Bitmap; import android.media.ThumbnailUtils; import android.provider.MediaStore; -import android.util.Log; import java.io.File; @@ -105,6 +104,7 @@ public class MrMsg { public MrPoortext getSummary(MrChat chat) { return new MrPoortext(getSummaryCPtr(chat.getCPtr())); } private native long getSummaryCPtr(long hChat); public native String getSummarytext(int approx_characters); + public native int showPadlock(); public MrPoortext getMediainfo() { return new MrPoortext(getMediainfoCPtr()); } private native long getMediainfoCPtr(); public native String getFilename(); @@ -151,7 +151,7 @@ public class MrMsg { ret.flags = 0; // posible flags: MESSAGE_FLAG_HAS_FROM_ID, however, this seems to be read only ret.out = ret.from_id==MrContact.MR_CONTACT_ID_SELF; // true=outgoing message, read eg. in MessageObject.isOutOwner() ret.created_by_mr = true; - ret.e2ee = getParamInt('c', 0)!=0; + ret.show_padlock = showPadlock()!=0; if( type == MR_MSG_TEXT ) { ret.message = getText(); diff --git a/MessengerProj/src/main/java/com/b44t/messenger/TLRPC.java b/MessengerProj/src/main/java/com/b44t/messenger/TLRPC.java index 07e253b6c..3f6fc94e6 100644 --- a/MessengerProj/src/main/java/com/b44t/messenger/TLRPC.java +++ b/MessengerProj/src/main/java/com/b44t/messenger/TLRPC.java @@ -256,7 +256,7 @@ public class TLRPC { public long dialog_id; //custom public final int layer = 0; //custom public boolean created_by_mr; - public boolean e2ee; + public boolean show_padlock; } public static class TL_message extends Message { diff --git a/MessengerProj/src/main/java/com/b44t/messenger/Utilities.java b/MessengerProj/src/main/java/com/b44t/messenger/Utilities.java index 14a54c9f7..1e4eb8eb9 100644 --- a/MessengerProj/src/main/java/com/b44t/messenger/Utilities.java +++ b/MessengerProj/src/main/java/com/b44t/messenger/Utilities.java @@ -35,7 +35,7 @@ import java.security.SecureRandom; import java.util.regex.Matcher; import java.util.regex.Pattern; -public class Utilities { +public class Utilities { // CAVE: do not refactor this without adapting the JNI part! public static Pattern pattern = Pattern.compile("[\\-0-9]+"); public static SecureRandom random = new SecureRandom();