pass account ID in chat shortcuts and properly switch to account

This commit is contained in:
adbenitez
2025-01-23 03:45:57 +01:00
parent 3c737f2360
commit 2d3dde2101
2 changed files with 5 additions and 6 deletions
@@ -56,6 +56,7 @@ public class ShareActivity extends PassphraseRequiredActionBarActivity implement
{
private static final String TAG = ShareActivity.class.getSimpleName();
public static final String EXTRA_ACC_ID = "acc_id";
public static final String EXTRA_CHAT_ID = "chat_id";
public static final String EXTRA_TITLE = "extra_title";
@@ -206,13 +207,9 @@ public class ShareActivity extends PassphraseRequiredActionBarActivity implement
}
private void handleResolvedMedia(Intent intent) {
int accId = intent.getIntExtra(EXTRA_ACC_ID, -1);
int chatId = intent.getIntExtra(EXTRA_CHAT_ID, -1);
String shortcutId = intent.getStringExtra(ShortcutManagerCompat.EXTRA_SHORTCUT_ID);
if (chatId == -1 && shortcutId != null) {
chatId = Integer.parseInt(shortcutId);
}
String[] extraEmail = getIntent().getStringArrayExtra(Intent.EXTRA_EMAIL);
/*
usually, external app will try to start "e-mail sharing" intent, providing it:
@@ -262,9 +259,10 @@ public class ShareActivity extends PassphraseRequiredActionBarActivity implement
chatId = dcContext.createChatByContactId(contactId);
}
Intent composeIntent;
if (chatId != -1) {
if (accId != -1 && chatId != -1) {
composeIntent = getBaseShareIntent(ConversationActivity.class);
composeIntent.putExtra(ConversationActivity.CHAT_ID_EXTRA, chatId);
composeIntent.putExtra(ConversationActivity.ACCOUNT_ID_EXTRA, accId);
RelayUtil.setSharedUris(composeIntent, resolvedExtras);
startActivity(composeIntent);
} else {
@@ -125,6 +125,7 @@ public class DirectShareUtil {
Intent intent = new Intent(context, ShareActivity.class);
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(ShareActivity.EXTRA_ACC_ID, dcContext.getAccountId());
intent.putExtra(ShareActivity.EXTRA_CHAT_ID, chat.getId());
Recipient recipient = new Recipient(context, chat);