mirror of
https://github.com/ArcaneChat/android.git
synced 2026-07-03 14:05:24 +02:00
Share profile contacts as concrete vCard files
This commit is contained in:
committed by
GitHub
parent
0ac9bea63c
commit
f19e8d64ce
@@ -25,8 +25,11 @@ import com.b44t.messenger.DcContact;
|
||||
import com.b44t.messenger.DcContext;
|
||||
import com.b44t.messenger.DcEvent;
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import org.thoughtcrime.securesms.connect.DcEventCenter;
|
||||
import org.thoughtcrime.securesms.connect.DcHelper;
|
||||
import org.thoughtcrime.securesms.providers.PersistentBlobProvider;
|
||||
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
|
||||
import org.thoughtcrime.securesms.util.Prefs;
|
||||
import org.thoughtcrime.securesms.util.ShareUtil;
|
||||
@@ -398,7 +401,19 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
|
||||
Intent composeIntent = new Intent();
|
||||
DcContact dcContact = dcContext.getContact(contactId);
|
||||
if (dcContact.isKeyContact()) {
|
||||
ShareUtil.setSharedContactId(composeIntent, contactId);
|
||||
try {
|
||||
byte[] vcard =
|
||||
rpc.makeVcard(rpc.getSelectedAccountId(), Collections.singletonList(contactId))
|
||||
.getBytes();
|
||||
Uri vcardUri =
|
||||
PersistentBlobProvider.getInstance().create(this, vcard, "text/vcard", "contact.vcf");
|
||||
ArrayList<Uri> uris = new ArrayList<>();
|
||||
uris.add(vcardUri);
|
||||
ShareUtil.setSharedUris(composeIntent, uris);
|
||||
} catch (RpcException e) {
|
||||
e.printStackTrace();
|
||||
ShareUtil.setSharedText(composeIntent, dcContact.getAddr());
|
||||
}
|
||||
} else {
|
||||
ShareUtil.setSharedText(composeIntent, dcContact.getAddr());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user