mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-17 14:18:26 +00:00
Add copy Session ID button for one-to-one chats
This commit is contained in:
parent
8e6920f37e
commit
906deb3ada
8
res/menu/conversation_copy_session_id.xml
Normal file
8
res/menu/conversation_copy_session_id.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item android:title="@string/activity_conversation_menu_copy_session_id"
|
||||
android:id="@+id/menu_copy_session_id"
|
||||
android:icon="@drawable/ic_content_copy_white_24dp" />
|
||||
|
||||
</menu>
|
@ -1855,4 +1855,6 @@
|
||||
|
||||
<string name="view_reset_secure_session_done_message">Secure session reset done</string>
|
||||
|
||||
<string name="activity_conversation_menu_copy_session_id">Copy Session ID</string>
|
||||
|
||||
</resources>
|
||||
|
@ -22,6 +22,8 @@ import android.annotation.TargetApi;
|
||||
import androidx.lifecycle.ViewModelProviders;
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
@ -760,6 +762,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
||||
} else {
|
||||
inflater.inflate(R.menu.conversation_block, menu);
|
||||
}
|
||||
inflater.inflate(R.menu.conversation_copy_session_id, menu);
|
||||
} else if (isGroupConversation() && !isOpenGroupOrRSSFeed) {
|
||||
// inflater.inflate(R.menu.conversation_group_options, menu);
|
||||
|
||||
@ -867,6 +870,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
||||
case R.id.menu_call_insecure: handleDial(getRecipient(), false); return true;
|
||||
case R.id.menu_unblock: handleUnblock(); return true;
|
||||
case R.id.menu_block: handleBlock(); return true;
|
||||
case R.id.menu_copy_session_id: handleCopySessionID(); return true;
|
||||
case R.id.menu_view_media: handleViewMedia(); return true;
|
||||
case R.id.menu_add_shortcut: handleAddShortcut(); return true;
|
||||
case R.id.menu_search: handleSearch(); return true;
|
||||
@ -1096,6 +1100,15 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
||||
}).show();
|
||||
}
|
||||
|
||||
private void handleCopySessionID() {
|
||||
if (recipient.isGroupRecipient()) { return; }
|
||||
String sessionID = recipient.getAddress().toPhoneString();
|
||||
ClipboardManager clipboard = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
ClipData clip = ClipData.newPlainText("Session ID", sessionID);
|
||||
clipboard.setPrimaryClip(clip);
|
||||
Toast.makeText(this, R.string.copied_to_clipboard, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
private void handleViewMedia() {
|
||||
Intent intent = new Intent(this, MediaOverviewActivity.class);
|
||||
intent.putExtra(MediaOverviewActivity.ADDRESS_EXTRA, recipient.getAddress());
|
||||
|
Loading…
x
Reference in New Issue
Block a user