diff --git a/TMessagesProj/jni/mr_wrapper.c b/TMessagesProj/jni/mr_wrapper.c
index 9a51b10cc..f7f7d7f0d 100644
--- a/TMessagesProj/jni/mr_wrapper.c
+++ b/TMessagesProj/jni/mr_wrapper.c
@@ -215,6 +215,15 @@ JNIEXPORT jstring Java_org_telegram_messenger_MrMailbox_MrMailboxGetConfig(JNIEn
}
+JNIEXPORT jint Java_org_telegram_messenger_MrMailbox_MrMailboxGetConfigInt(JNIEnv *env, jclass c, jlong hMailbox, jstring key, jint def)
+{
+ CHAR_REF(key);
+ jint ret = mrmailbox_get_config_int((mrmailbox_t*)hMailbox, keyPtr, def);
+ CHAR_UNREF(key);
+ return ret;
+}
+
+
/* MrMailbox - misc. */
JNIEXPORT jstring Java_org_telegram_messenger_MrMailbox_MrMailboxGetInfo(JNIEnv *env, jclass c, jlong hMailbox)
diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java b/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java
index 309eb5986..3fe59d9e9 100644
--- a/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java
+++ b/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java
@@ -299,6 +299,11 @@ public class ApplicationLoader extends Application {
MrMailbox.hMailbox = MrMailbox.MrMailboxNew();
MrMailbox.MrStockAddStr(2, LocaleController.getString("FromYou", R.string.FromYou));
MrMailbox.MrStockAddStr(3, LocaleController.getString("Draft", R.string.Draft));
+ MrMailbox.MrStockAddStr(4, LocaleController.getString("MemberSg", R.string.MemberSg));
+ MrMailbox.MrStockAddStr(5, LocaleController.getString("MemberPl", R.string.MemberPl));
+ MrMailbox.MrStockAddStr(6, LocaleController.getString("ContactSg", R.string.ContactSg));
+ MrMailbox.MrStockAddStr(7, LocaleController.getString("ContactPl", R.string.ContactPl));
+ MrMailbox.MrStockAddStr(8, LocaleController.getString("Strangers", R.string.Strangers));
applicationHandler = new Handler(applicationContext.getMainLooper());
diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/MrMailbox.java b/TMessagesProj/src/main/java/org/telegram/messenger/MrMailbox.java
index cb0e24d1a..b225aecb8 100644
--- a/TMessagesProj/src/main/java/org/telegram/messenger/MrMailbox.java
+++ b/TMessagesProj/src/main/java/org/telegram/messenger/MrMailbox.java
@@ -124,6 +124,7 @@ public class MrMailbox {
public native static int MrMailboxSetConfig (long hMailbox, String key, String value); // value may be NULL
public native static String MrMailboxGetConfig (long hMailbox, String key, String def); // def may be NULL, returns empty string as NULL
+ public native static int MrMailboxGetConfigInt (long hMailbox, String key, int def); // def may be NULL, returns empty string as NULL
public native static String MrMailboxGetInfo (long hMailbox);
public native static String MrMailboxExecute (long hMailbox, String cmd);
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/PrivacySettingsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/PrivacySettingsActivity.java
index 3f4ab565d..acb54f23f 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/PrivacySettingsActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/PrivacySettingsActivity.java
@@ -9,27 +9,20 @@
package org.telegram.ui;
import android.app.Activity;
-import android.app.AlertDialog;
-import android.app.ProgressDialog;
import android.content.Context;
-import android.content.DialogInterface;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.FrameLayout;
import android.widget.ListView;
-import org.telegram.messenger.AndroidUtilities;
import org.telegram.messenger.ApplicationLoader;
import org.telegram.messenger.ContactsController;
import org.telegram.messenger.LocaleController;
import org.telegram.messenger.MessagesController;
+import org.telegram.messenger.MrMailbox;
import org.telegram.messenger.NotificationCenter;
-import org.telegram.messenger.FileLog;
import org.telegram.messenger.R;
-import org.telegram.tgnet.ConnectionsManager;
-import org.telegram.tgnet.RequestDelegate;
-import org.telegram.tgnet.TLObject;
import org.telegram.tgnet.TLRPC;
import org.telegram.messenger.UserConfig;
import org.telegram.ui.ActionBar.ActionBar;
@@ -49,6 +42,7 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio
private int privacySectionRow;
private int blockedRow;
+ private int showUnknownSendersRow;
private int lastSeenRow;
private int groupsRow;
private int groupsDetailRow;
@@ -65,35 +59,34 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio
private int secretDetailRow;
private int rowCount;
+ private int typeTextCheck = 3;
+
@Override
public boolean onFragmentCreate() {
super.onFragmentCreate();
ContactsController.getInstance().loadPrivacySettings();
+ // EDIT BY MR
rowCount = 0;
- privacySectionRow = -1; //rowCount++;
- blockedRow = rowCount++;
- lastSeenRow = -1; // EDIT BY MR -- rowCount++;
- groupsRow = -1; // EDIT BY MR -- rowCount++;
- groupsDetailRow = -1; // EDIT BY MR -- rowCount++;
- securitySectionRow = -1; // EDIT BY MR -- rowCount++;
- passcodeRow = rowCount++;
- passwordRow = -1; // EDIT BY MR -- rowCount++;
- sessionsRow = -1; // EDIT BY MR -- rowCount++;
- sessionsDetailRow = -1; // EDIT BY MR -- rowCount++;
- deleteAccountSectionRow = -1; // EDIT BY MR -- rowCount++;
- deleteAccountRow = -1; // EDIT BY MR -- rowCount++;
- deleteAccountDetailRow = -1; // EDIT BY MR -- rowCount++;
- //if (MessagesController.getInstance().secretWebpagePreview != 1) { EDIT BY MR
- secretSectionRow = -1; // EDIT BY MR -- rowCount++;
- secretWebpageRow = rowCount++;
- secretDetailRow = rowCount++; // EDIT BY MR -- rowCount++;
- //} else { EDIT BY MR
- // secretSectionRow = -1;
- // secretWebpageRow = -1;
- // secretDetailRow = -1;
- //} /EDIT BY MR
+ privacySectionRow = -1;
+ passcodeRow = rowCount++;
+ blockedRow = rowCount++;
+ showUnknownSendersRow = rowCount++;
+ lastSeenRow = -1;
+ groupsRow = -1;
+ groupsDetailRow = -1;
+ securitySectionRow = -1;
+ passwordRow = -1;
+ sessionsRow = -1;
+ sessionsDetailRow = -1;
+ deleteAccountSectionRow = -1;
+ deleteAccountRow = -1;
+ deleteAccountDetailRow = -1;
+ secretSectionRow = -1;
+ secretWebpageRow = rowCount++;
+ secretDetailRow = rowCount++;
+ // /EDIT BY MR
NotificationCenter.getInstance().addObserver(this, NotificationCenter.privacyRulesUpdated);
@@ -227,6 +220,19 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio
((TextCheckCell) view).setChecked(MessagesController.getInstance().secretWebpagePreview == 1);
}
}
+ else if( i==showUnknownSendersRow) {
+ int oldval = MrMailbox.MrMailboxGetConfigInt(MrMailbox.hMailbox, "show_strangers", 0);
+ if( oldval == 1 ) {
+ MrMailbox.MrMailboxSetConfig(MrMailbox.hMailbox, "show_strangers", "0");
+ }
+ else {
+ MrMailbox.MrMailboxSetConfig(MrMailbox.hMailbox, "show_strangers", "1");
+ }
+ MrMailbox.MrCallback(MrMailbox.MR_EVENT_MSGS_UPDATED, 0, 0);
+ if (view instanceof TextCheckCell) {
+ ((TextCheckCell) view).setChecked(oldval == 0);
+ }
+ }
}
});
@@ -315,6 +321,7 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio
@Override
public boolean isEnabled(int i) {
return i == passcodeRow || i == passwordRow || i == blockedRow || i == sessionsRow || i == secretWebpageRow ||
+ i==showUnknownSendersRow ||
i == groupsRow && !ContactsController.getInstance().getLoadingGroupInfo() ||
i == lastSeenRow && !ContactsController.getInstance().getLoadingLastSeenInfo() ||
i == deleteAccountRow && !ContactsController.getInstance().getLoadingDeleteInfo();
@@ -426,7 +433,7 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio
} else if (i == secretSectionRow) {
((HeaderCell) view).setText(LocaleController.getString("SecretChat", R.string.SecretChat));
}
- } else if (type == 3) {
+ } else if (type == typeTextCheck) {
if (view == null) {
view = new TextCheckCell(mContext);
view.setBackgroundColor(0xffffffff);
@@ -435,6 +442,12 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio
if (i == secretWebpageRow) {
textCell.setTextAndCheck(LocaleController.getString("SecretWebPage", R.string.SecretWebPage), MessagesController.getInstance().secretWebpagePreview == 1, true);
}
+ else if( i==showUnknownSendersRow) {
+ textCell.setTextAndValueAndCheck(LocaleController.getString("Strangers", R.string.Strangers),
+ LocaleController.getString("StrangersExplain", R.string.StrangersExplain),
+ MrMailbox.MrMailboxGetConfigInt(MrMailbox.hMailbox, "show_strangers", 0)==0? false : true,
+ false, true);
+ }
}
return view;
}
@@ -447,8 +460,8 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio
return 1;
} else if (i == securitySectionRow || i == deleteAccountSectionRow || i == privacySectionRow || i == secretSectionRow) {
return 2;
- } else if (i == secretWebpageRow) {
- return 3;
+ } else if (i == secretWebpageRow || i==showUnknownSendersRow) {
+ return typeTextCheck;
}
return 0;
}
diff --git a/TMessagesProj/src/main/res/values-de/strings.xml b/TMessagesProj/src/main/res/values-de/strings.xml
index e4aa1bd49..8ca5ed6a9 100644
--- a/TMessagesProj/src/main/res/values-de/strings.xml
+++ b/TMessagesProj/src/main/res/values-de/strings.xml
@@ -972,4 +972,11 @@
Nicht gesetzt
Neuer Chat
Neuer geheimer Chat
+ _ Kontakte
+ _ Kontakt
+ _ Mitglied
+ _ Mitglieder
+ Unbekannte Absender
+ Unbekannte Benutzer
+ Nachrichten von unbekannten Adressen anzeigen
diff --git a/TMessagesProj/src/main/res/values/strings.xml b/TMessagesProj/src/main/res/values/strings.xml
index 69cff9d19..560a3651f 100644
--- a/TMessagesProj/src/main/res/values/strings.xml
+++ b/TMessagesProj/src/main/res/values/strings.xml
@@ -972,4 +972,11 @@
About LibreChat
Not set
New chat
+ _ member
+ _ members
+ _ contact
+ _ contacts
+ Unknown senders
+ Unknown users
+ Show messages from unknown addresses