diff --git a/MessengerProj/src/main/java/com/b44t/messenger/ProfileActivity.java b/MessengerProj/src/main/java/com/b44t/messenger/ProfileActivity.java
index 076ceb9d9..0accaee3a 100644
--- a/MessengerProj/src/main/java/com/b44t/messenger/ProfileActivity.java
+++ b/MessengerProj/src/main/java/com/b44t/messenger/ProfileActivity.java
@@ -95,13 +95,14 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
private final static int ID_BLOCK_CONTACT = 3;
private final static int ID_DELETE_CONTACT = 5;
private final static int ID_ADD_SHORTCUT = 14;
- private final static int ID_COPY_EMAIL_TO_CLIPBOARD = 15;
- private int settingsNotificationsRow = -1;
private int changeNameRow = -1;
- private int startChatRow = -1;
- private int compareKeysRow = -1;
+ private int settingsRow = -1;
+ private int settingsShadowRow = -1;
+ private int emailHeaderRow = -1;
+ private int emailRow = -1;
+ private int compareKeysRow = -1;
private int listShadowRow = -1;
private int[] memberlistUserIds;
@@ -114,6 +115,7 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
private int chatlistHeaderRow = -1;
private int chatlistFirstRow = -1;
private int chatlistLastRow = -1;
+ private int startChatRow = -1;
private int rowCount = 0;
@@ -238,10 +240,6 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
if (id == -1) {
finishFragment();
}
- else if( id==ID_COPY_EMAIL_TO_CLIPBOARD )
- {
- AndroidUtilities.addToClipboard(MrMailbox.getContact(user_id).getAddr());
- }
else if (id == ID_BLOCK_CONTACT)
{
if( userBlocked() ) {
@@ -353,7 +351,7 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
{
return;
}
- if (position == settingsNotificationsRow)
+ if (position == settingsRow)
{
Bundle args = new Bundle();
if (chat_id != 0) {
@@ -374,6 +372,24 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
}
presentFragment(new ContactAddActivity(args));
}
+ else if( position == emailRow )
+ {
+ final String addr = MrMailbox.getContact(user_id).getAddr();
+ AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); // was: BottomSheet.Builder
+ builder.setTitle(addr);
+ CharSequence[] items = new CharSequence[]{ApplicationLoader.applicationContext.getString(R.string.CopyToClipboard)};
+ builder.setItems(items, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialogInterface, int i) {
+ if( i==0 ) {
+ AndroidUtilities.addToClipboard(addr);
+ AndroidUtilities.showDoneHint(ApplicationLoader.applicationContext);
+ }
+ }
+ }
+ );
+ showDialog(builder.create());
+ }
else if(position==compareKeysRow)
{
String info_str = MrMailbox.getContactEncrInfo(user_id);
@@ -874,10 +890,13 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
if( (chat_id!=0 /*&& (chat_id!=MrChat.MR_CHAT_ID_DEADDROP || MrMailbox.getConfigInt("show_deaddrop", 0)!=0)*/)
|| MrMailbox.getChatIdByContactId(user_id)!=0 ) {
- settingsNotificationsRow = rowCount++;
+ settingsRow = rowCount++;
}
if (user_id != 0) {
+ if( rowCount > 1 ) { settingsShadowRow = rowCount++; }
+ emailHeaderRow = rowCount++;
+ emailRow = rowCount++;
compareKeysRow = rowCount++;
}
@@ -932,12 +951,22 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
if( user_id!=0 ) {
mrContact = MrMailbox.getContact(user_id);
newString = mrContact.getDisplayName();
- newString2 = mrContact.getAddr();
+ if( mrContact.isVerified() ) {
+ newString2 = ApplicationLoader.applicationContext.getString(R.string.VerifiedContact);
+ }
+ else {
+ newString2 = ApplicationLoader.applicationContext.getString(R.string.Contact);
+ }
}
else {
mrChat = MrMailbox.getChat(chat_id);
newString = mrChat.getName();
- newString2 = mrChat.getSubtitle();
+ if( mrChat.isVerified() ) {
+ newString2 = ApplicationLoader.applicationContext.getString(R.string.VerifiedGroup);
+ }
+ else {
+ newString2 = ApplicationLoader.applicationContext.getString(R.string.Group);
+ }
}
if (!nameTextView.getText().equals(newString)) {
@@ -965,10 +994,6 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
item.addSubItem(ID_ADD_SHORTCUT, ApplicationLoader.applicationContext.getString(R.string.AddShortcut));
}
- if (user_id != 0) {
- item.addSubItem(ID_COPY_EMAIL_TO_CLIPBOARD, ApplicationLoader.applicationContext.getString(R.string.CopyToClipboard));
- }
-
if( user_id != 0 && user_id != MrContact.MR_CONTACT_ID_SELF ) {
item.addSubItem(ID_BLOCK_CONTACT, userBlocked()? ApplicationLoader.applicationContext.getString(R.string.UnblockContact) : ApplicationLoader.applicationContext.getString(R.string.BlockContact));
item.addSubItem(ID_DELETE_CONTACT, ApplicationLoader.applicationContext.getString(R.string.DeleteContact));
@@ -1044,11 +1069,14 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
textCell.setText(mContext.getString(R.string.Encryption), true);
} else if (i == startChatRow) {
textCell.setText(mContext.getString(R.string.NewChat), false);
- } else if (i == settingsNotificationsRow) {
+ } else if (i == settingsRow) {
textCell.setText(mContext.getString(R.string.Settings), true);
} else if (i == addMemberRow) {
textCell.setText(mContext.getString(R.string.AddMember), false);
}
+ else if( i==emailRow ) {
+ textCell.setText(MrMailbox.getContact(user_id).getAddr(), false);
+ }
break;
case ROWTYPE_CONTACT:
@@ -1083,7 +1111,10 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
case ROWTYPE_HEADER:
HeaderCell headerCell = ((HeaderCell) holder.itemView);
- if( i ==chatlistHeaderRow ) {
+ if( i ==emailHeaderRow ) {
+ headerCell.setText(mContext.getString(R.string.EmailAddress));
+ }
+ else if( i ==chatlistHeaderRow ) {
headerCell.setText(mContext.getString(R.string.SharedChats));
}
else if( i==memberlistHeaderRow) {
@@ -1098,8 +1129,9 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
if (checkBackground) {
boolean enabled =
- i == settingsNotificationsRow
+ i == settingsRow
|| i == changeNameRow
+ || i == emailRow
|| i == compareKeysRow
|| i == startChatRow
|| i == addMemberRow
@@ -1125,16 +1157,16 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
@Override
public int getItemViewType(int i) {
- if ( i == changeNameRow || i==compareKeysRow || i==startChatRow || i == settingsNotificationsRow || i == addMemberRow) {
+ if ( i == changeNameRow || i==compareKeysRow || i==startChatRow || i == settingsRow || i == addMemberRow || i==emailRow) {
return ROWTYPE_TEXT_SETTINGS;
} else if (i >= memberlistFirstRow && i <= memberlistLastRow) {
return ROWTYPE_CONTACT;
} else if (i >= chatlistFirstRow && i <= chatlistLastRow) {
return ROWTYPE_CHAT;
- } else if(i== listShadowRow) {
+ } else if(i== listShadowRow || i==settingsShadowRow) {
return ROWTYPE_SHADOW;
}
- else if(i==chatlistHeaderRow || i==memberlistHeaderRow) {
+ else if(i==chatlistHeaderRow || i==memberlistHeaderRow || i==emailHeaderRow) {
return ROWTYPE_HEADER;
}
return 0;
diff --git a/MessengerProj/src/main/res/values/strings.xml b/MessengerProj/src/main/res/values/strings.xml
index ac0c596e3..083f52092 100644
--- a/MessengerProj/src/main/res/values/strings.xml
+++ b/MessengerProj/src/main/res/values/strings.xml
@@ -441,4 +441,8 @@
]]>Autocrypt]]> is a new and open specification for e-mail end-to-end encryption.\n\nYour end-to-end setup is created automatically as needed and you can transfer it between devices with ]]>Autocrypt Setup Messages.]]>
New verified group
Shared chats
+ Verified contact
+ Contact
+ Verified group
+ Group