正在查看: Delta Chat v1.58.3 应用的 NewConversationActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Delta Chat v1.58.3 应用的 NewConversationActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package org.thoughtcrime.securesms;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
import com.b44t.messenger.DcContext;
import com.google.zxing.integration.android.IntentIntegrator;
import org.thoughtcrime.securesms.connect.DcHelper;
import org.thoughtcrime.securesms.qr.QrActivity;
import org.thoughtcrime.securesms.qr.QrCodeHandler;
import org.thoughtcrime.securesms.util.MailtoUtil;
import org.thoughtcrime.securesms.util.RelayUtil;
public class NewConversationActivity extends ContactSelectionActivity {
static final boolean $assertionsDisabled = false;
private static final String TAG = "NewConversationActivity";
@Override
public void onCreate(Bundle bundle, boolean z) {
super.onCreate(bundle, z);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
handleIntent();
}
private void handleIntent() {
Intent intent = getIntent();
String action = intent.getAction();
if ("android.intent.action.VIEW".equals(action) || "android.intent.action.SENDTO".equals(action)) {
try {
Uri data = intent.getData();
if (data != null) {
data.getScheme();
if (MailtoUtil.isMailto(data)) {
String text = MailtoUtil.getText(data);
String[] recipients = MailtoUtil.getRecipients(data);
if (recipients.length >= 1) {
if (!text.isEmpty()) {
getIntent().putExtra(ConversationActivity.TEXT_EXTRA, text);
}
String str = recipients[0];
DcContext context = DcHelper.getContext(this);
int lookupContactIdByAddr = context.lookupContactIdByAddr(str);
if (lookupContactIdByAddr == 0 && context.mayBeValidAddr(str)) {
lookupContactIdByAddr = context.createContact((String) null, recipients[0]);
}
if (lookupContactIdByAddr == 0) {
Toast.makeText((Context) this, R.string.bad_email_address, 1).show();
return;
} else {
onContactSelected(lookupContactIdByAddr);
return;
}
}
Intent intent2 = new Intent((Context) this, (Class<?>) ShareActivity.class);
intent2.putExtra("android.intent.extra.TEXT", text);
startActivity(intent2);
finish();
}
}
} catch (Exception e) {
Log.e(TAG, "start activity from external 'mailto:' link failed", e);
}
}
}
@Override
public void onContactSelected(final int i) {
if (i == -2) {
startActivity(new Intent((Context) this, (Class<?>) GroupCreateActivity.class));
return;
}
if (i == -5) {
Intent intent = new Intent((Context) this, (Class<?>) GroupCreateActivity.class);
intent.putExtra(GroupCreateActivity.CREATE_BROADCAST, true);
startActivity(intent);
} else {
if (i == -4) {
new IntentIntegrator(this).setCaptureActivity(QrActivity.class).initiateScan();
return;
}
final DcContext context = DcHelper.getContext(this);
if (context.getChatIdByContactId(i) != 0) {
openConversation(context.getChatIdByContactId(i));
} else {
new AlertDialog.Builder(this).setMessage(getString(R.string.ask_start_chat_with, new Object[]{context.getContact(i).getDisplayName()})).setCancelable(true).setNegativeButton(android.R.string.cancel, (DialogInterface.OnClickListener) null).setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public final void onClick(DialogInterface dialogInterface, int i2) {
NewConversationActivity.this.m1264x59b114d5(context, i, dialogInterface, i2);
}
}).show();
}
}
}
void m1264x59b114d5(DcContext dcContext, int i, DialogInterface dialogInterface, int i2) {
openConversation(dcContext.createChatByContactId(i));
}
protected void onActivityResult(int i, int i2, Intent intent) {
super.onActivityResult(i, i2, intent);
if (i != 49374) {
return;
}
new QrCodeHandler(this).onScanPerformed(IntentIntegrator.parseActivityResult(i, i2, intent));
}
private void openConversation(int i) {
Intent intent = new Intent((Context) this, (Class<?>) ConversationActivity.class);
intent.putExtra(ConversationActivity.TEXT_EXTRA, getIntent().getStringExtra(ConversationActivity.TEXT_EXTRA));
intent.setDataAndType(getIntent().getData(), getIntent().getType());
intent.putExtra("chat_id", i);
if (RelayUtil.isRelayingMessageContent(this)) {
RelayUtil.acquireRelayMessageContent(this, intent);
}
startActivity(intent);
finish();
}
}