正在查看: CallApp v2.226 应用的 ShareContactAction.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: CallApp v2.226 应用的 ShareContactAction.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.callapp.contacts.action.shared;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Bitmap;
import androidx.work.d;
import androidx.work.p0;
import androidx.work.z;
import com.callapp.common.model.json.JSONAddress;
import com.callapp.common.model.json.JSONContact;
import com.callapp.common.model.json.JSONEmail;
import com.callapp.common.model.json.JSONPhoneNumber;
import com.callapp.common.model.message.OutgoingMessage;
import com.callapp.common.util.UrlUtils;
import com.callapp.contacts.CallAppApplication;
import com.callapp.contacts.R;
import com.callapp.contacts.action.Action;
import com.callapp.contacts.activity.base.BaseAdapterItemData;
import com.callapp.contacts.activity.chooseContact.ChooseContactFromContactsActivity;
import com.callapp.contacts.activity.chooseContact.TopBarWithSearchActivity;
import com.callapp.contacts.loader.LocalGenomeLoader;
import com.callapp.contacts.loader.api.ContactLoader;
import com.callapp.contacts.loader.device.CacheLoader;
import com.callapp.contacts.loader.device.DeviceDataLoader;
import com.callapp.contacts.loader.device.DeviceIdLoader;
import com.callapp.contacts.loader.external.NotificationTelegramLoader;
import com.callapp.contacts.loader.external.NotificationViberLoader;
import com.callapp.contacts.loader.social.facebook.FacebookLoader;
import com.callapp.contacts.loader.social.pinterest.PinterestLoader;
import com.callapp.contacts.loader.social.twitter.TwitterLoader;
import com.callapp.contacts.manager.FeedbackManager;
import com.callapp.contacts.manager.analytics.AnalyticsManager;
import com.callapp.contacts.manager.contacts.ContactUtils;
import com.callapp.contacts.manager.phone.PhoneManager;
import com.callapp.contacts.manager.popup.DialogPopup;
import com.callapp.contacts.manager.popup.PopupManager;
import com.callapp.contacts.manager.popup.ResultPopup;
import com.callapp.contacts.manager.task.Task;
import com.callapp.contacts.model.CallAppMimeType;
import com.callapp.contacts.model.Constants;
import com.callapp.contacts.model.contact.ContactData;
import com.callapp.contacts.model.contact.ContactField;
import com.callapp.contacts.popup.ShareContactViaSendIntentPopup;
import com.callapp.contacts.popup.ShareContactViaSmsOrEmailPopup;
import com.callapp.contacts.popup.contact.AdapterText;
import com.callapp.contacts.popup.contact.DialogList;
import com.callapp.contacts.popup.contact.DialogSimpleMessage;
import com.callapp.contacts.util.Activities;
import com.callapp.contacts.util.AndroidUtils;
import com.callapp.contacts.util.ImageUtils;
import com.callapp.contacts.util.SmsUtils;
import com.callapp.contacts.util.aws.AWSUtils;
import com.callapp.contacts.util.http.HttpUtils;
import com.callapp.contacts.util.serializer.string.Parser;
import com.callapp.contacts.workers.UploadFileWorker;
import com.callapp.framework.phone.Phone;
import com.callapp.framework.phone.PhoneType;
import com.callapp.framework.util.StringUtils;
import com.google.android.play.core.splitcompat.SplitCompatApplication;
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ShareContactAction extends SharedAction {
public static final String b = Activities.getString(R.string.action_share_contact_no_details);
public final ShareContactState a;
class AnonymousClass1 extends Task {
public final ContactData a;
public final Activity b;
public AnonymousClass1(ContactData contactData, Activity activity) {
this.a = contactData;
this.b = activity;
}
@Override
public final void doTask() {
try {
Thread.sleep(500L);
} catch (InterruptedException unused) {
}
CallAppApplication.get().runOnMainThread(new Runnable() {
@Override
public final void run() {
final DialogList dialogList = new DialogList(Activities.getString(R.string.dlg_select_email_title));
ArrayList arrayList = new ArrayList();
arrayList.add(new AdapterText.ItemText(Activities.getString(R.string.action_share_contact_option_share_my_own), R.string.action_share_contact_option_share_my_own));
arrayList.add(new AdapterText.ItemText(Activities.getString(R.string.action_share_contact_option_share_others), R.string.action_share_contact_option_share_others));
AnonymousClass1 anonymousClass1 = AnonymousClass1.this;
arrayList.add(new AdapterText.ItemText(Activities.f(R.string.action_share_contact_current_to_other, anonymousClass1.a.getFirstName()), R.string.action_share_contact_current_to_other));
if (!anonymousClass1.a.isActiveCallAppUserDuringPeriod()) {
arrayList.add(new AdapterText.ItemText(Activities.f(R.string.invite_contact_to_callapp, anonymousClass1.a.getFirstName()), R.string.invite_contact_to_callapp));
}
AdapterText adapterText = new AdapterText(anonymousClass1.b, R.layout.context_menu_row, arrayList);
adapterText.setListener(new AdapterText.AdapterEvents() {
@Override
public final void onRowClicked(int i) {
RunnableC01221 runnableC01221 = RunnableC01221.this;
AndroidUtils.d(AnonymousClass1.this.b);
dialogList.dismiss();
AnonymousClass1 anonymousClass12 = AnonymousClass1.this;
switch (i) {
case R.string.action_share_contact_current_to_other:
ShareContactAction.this.getClass();
ShareContactAction.k(anonymousClass12.b, anonymousClass12.a);
break;
case R.string.action_share_contact_option_share_my_own:
ShareContactAction shareContactAction = ShareContactAction.this;
shareContactAction.getClass();
shareContactAction.new AnonymousClass3(anonymousClass12.a, anonymousClass12.b).execute();
break;
case R.string.action_share_contact_option_share_others:
ShareContactAction shareContactAction2 = ShareContactAction.this;
shareContactAction2.getClass();
PopupManager popupManager = PopupManager.get();
Activity activity = anonymousClass12.b;
popupManager.d(activity, new ShareContactPopup(shareContactAction2, anonymousClass12.a, activity));
break;
case R.string.invite_contact_to_callapp:
ShareContactAction shareContactAction3 = ShareContactAction.this;
String str = ShareContactAction.b;
shareContactAction3.j(anonymousClass12.b, anonymousClass12.a);
break;
}
}
});
dialogList.setAdapter(adapterText);
PopupManager.get().c(anonymousClass1.b, dialogList, true);
}
});
}
}
class AnonymousClass3 extends Task {
public final ContactData a;
public final Activity b;
public AnonymousClass3(ContactData contactData, Activity activity) {
this.a = contactData;
this.b = activity;
}
@Override
public final void doTask() {
final ContactData p = ContactUtils.p(false);
String str = ShareContactAction.b;
ShareContactAction.this.getClass();
final ArrayList i = ShareContactAction.i(p, this.a);
if (i.isEmpty()) {
FeedbackManager.get().d(null, Activities.getString(R.string.action_share_contact_no_details));
} else {
this.b.runOnUiThread(new Runnable() {
@Override
public final void run() {
AnonymousClass3 anonymousClass3 = AnonymousClass3.this;
ShareContactAction.h(ShareContactAction.this, anonymousClass3.b, p, anonymousClass3.a, i, ShareContactState.sendingMyOwnInfo);
}
});
}
}
}
public static class AnonymousClass4 {
public static final int[] a;
public static final int[] b;
static {
int[] iArr = new int[PhoneType.values().length];
b = iArr;
try {
iArr[PhoneType.HOME.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
b[PhoneType.MOBILE.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
try {
b[PhoneType.WORK.ordinal()] = 3;
} catch (NoSuchFieldError unused3) {
}
try {
b[PhoneType.FAX_HOME.ordinal()] = 4;
} catch (NoSuchFieldError unused4) {
}
try {
b[PhoneType.FAX_WORK.ordinal()] = 5;
} catch (NoSuchFieldError unused5) {
}
int[] iArr2 = new int[ShareContactState.values().length];
a = iArr2;
try {
iArr2[ShareContactState.openShareContactDialog.ordinal()] = 1;
} catch (NoSuchFieldError unused6) {
}
try {
a[ShareContactState.sendingMyOwnInfo.ordinal()] = 2;
} catch (NoSuchFieldError unused7) {
}
try {
a[ShareContactState.sendingOthersInfo.ordinal()] = 3;
} catch (NoSuchFieldError unused8) {
}
try {
a[ShareContactState.sendingThisContactsInfo.ordinal()] = 4;
} catch (NoSuchFieldError unused9) {
}
try {
a[ShareContactState.inviteToCallApp.ordinal()] = 5;
} catch (NoSuchFieldError unused10) {
}
}
}
public class ShareContactPopup extends ResultPopup {
public final ContactData b;
public final Activity c;
public final boolean d;
public ShareContactPopup(ShareContactAction shareContactAction, ContactData contactData, Activity activity) {
this(activity, contactData, true);
}
@Override
public final void b(Activity activity) {
Intent intent = new Intent(activity, (Class<?>) ChooseContactFromContactsActivity.class);
ContactData contactData = this.b;
String firstName = contactData.getFirstName();
if (StringUtils.t(firstName)) {
firstName = contactData.getNameOrNumber();
}
intent.putExtra(TopBarWithSearchActivity.EXTRA_ACTIVITY_TITLE, this.d ? Activities.f(R.string.send_to_this_contact, firstName) : Activities.f(R.string.send_this_contact_to, firstName));
Activities.H(activity, intent, this, null);
}
@Override
public final void h(Activity activity, int i, int i2, Intent intent) {
activity.finish();
if (i2 != -1) {
return;
}
long j = intent.getExtras().getLong("contactId");
if (j == 0) {
return;
}
Phone t = ContactUtils.t(j);
ContactLoader disableContactEvents = new ContactLoader().addFields(ContactField.deviceId, ContactField.fullName, ContactField.emails, ContactField.phones, ContactField.addresses).addSyncLoader(new DeviceIdLoader()).addSyncLoader(new DeviceDataLoader()).addSyncLoader(new CacheLoader()).addSyncLoader(new NotificationTelegramLoader()).addSyncLoader(new NotificationViberLoader()).addSyncLoader(new LocalGenomeLoader(false)).addSyncLoader(new FacebookLoader()).addSyncLoader(new TwitterLoader()).addSyncLoader(new PinterestLoader()).setLoadOnlyFromCache().setDisableContactEvents();
ContactData load = t != null ? disableContactEvents.load(t, j) : disableContactEvents.load(Phone.v, j);
String c = load.getPhone().c();
if (StringUtils.t(c) && !load.getPhones().isEmpty()) {
c = load.getPhones().iterator().next().c();
}
int size = load.getEmails().size();
boolean z = this.d;
if (size == 0 && StringUtils.t(c) && !z) {
FeedbackManager.get().d(null, Activities.getString(R.string.action_share_contact_cannot_share));
return;
}
if (StringUtils.t(load.getFullName())) {
FeedbackManager.get().d(null, Activities.getString(R.string.action_share_contact_no_details));
return;
}
ContactData contactData = this.b;
ShareContactAction shareContactAction = ShareContactAction.this;
if (z) {
String str = ShareContactAction.b;
shareContactAction.getClass();
ArrayList i3 = ShareContactAction.i(load, contactData);
if (i3.isEmpty()) {
FeedbackManager.get().d(null, Activities.getString(R.string.action_share_contact_no_details));
return;
} else {
ShareContactAction.h(ShareContactAction.this, this.c, load, this.b, i3, ShareContactState.sendingOthersInfo);
return;
}
}
String str2 = ShareContactAction.b;
shareContactAction.getClass();
ArrayList i4 = ShareContactAction.i(contactData, load);
if (i4.isEmpty()) {
FeedbackManager.get().d(null, Activities.getString(R.string.action_share_contact_no_details));
} else {
ShareContactAction.h(ShareContactAction.this, this.c, this.b, load, i4, ShareContactState.sendingThisContactsInfo);
}
}
private ShareContactPopup(Activity activity, ContactData contactData, boolean z) {
this.d = z;
this.b = contactData;
this.c = activity;
}
}
public enum ShareContactState {
sendingMyOwnInfo,
sendingOthersInfo,
sendingThisContactsInfo,
inviteToCallApp,
openShareContactDialog,
shareContactDetails
}
public static class ShareItem<T> {
public final Object a;
public final String b;
public ShareItem(ShareType shareType, T t, String str) {
this.a = t;
this.b = str;
}
public final String toString() {
return this.b;
}
}
public enum ShareType {
Phone,
Email,
Address
}
public ShareContactAction(ShareContactState shareContactState) {
this.a = shareContactState;
}
public static void h(ShareContactAction shareContactAction, Activity activity, ContactData contactData, ContactData contactData2, ArrayList arrayList, ShareContactState shareContactState) {
shareContactAction.getClass();
ShareContactViaSmsOrEmailPopup shareContactViaSmsOrEmailPopup = new ShareContactViaSmsOrEmailPopup(arrayList, contactData, contactData2, shareContactState, activity);
if (shareContactViaSmsOrEmailPopup.isNeedToShowPopup()) {
PopupManager.get().c(activity, shareContactViaSmsOrEmailPopup, true);
} else {
shareContactViaSmsOrEmailPopup.q(activity);
}
}
public static ArrayList i(ContactData contactData, ContactData contactData2) {
String str;
String countryIso = (contactData2 == null || contactData2.getPhone().getRawNumber().equals("0")) ? PhoneManager.get().getCountryIso() : contactData2.getPhone().getRegionCode();
ArrayList arrayList = new ArrayList();
for (Phone phone : contactData.getPhones()) {
if (!phone.getRawNumber().equals("0")) {
if (phone.g == null) {
if (countryIso == null || !countryIso.equals(phone.getRegionCode())) {
phone.g = phone.e();
} else {
phone.g = phone.f();
}
}
String str2 = phone.g;
if (contactData.isContactInDevice()) {
int i = AnonymousClass4.b[phone.getType().ordinal()];
str = com.mobilefuse.sdk.assetsmanager.a.n(str2, " (", Activities.getString(i != 1 ? i != 2 ? i != 3 ? (i == 4 || i == 5) ? R.string.phone_fax : R.string.phone_other : R.string.phone_work : R.string.phone_mobile : R.string.phone_home), ")");
} else {
str = str2;
}
arrayList.add(new ShareItem(ShareType.Phone, phone, str));
}
}
for (JSONEmail jSONEmail : contactData.getVisibleEmails()) {
arrayList.add(new ShareItem(ShareType.Email, jSONEmail, jSONEmail.getEmail()));
}
String str3 = null;
for (JSONAddress jSONAddress : contactData.getAddresses()) {
if (jSONAddress != null && StringUtils.x(jSONAddress.getFullAddress()) && !StringUtils.k(str3, jSONAddress.getFullAddress())) {
arrayList.add(new ShareItem(ShareType.Address, jSONAddress, jSONAddress.getFullAddress()));
str3 = jSONAddress.getFullAddress();
}
}
if (arrayList.isEmpty()) {
FeedbackManager.get().i(b, null, 0);
}
return arrayList;
}
public static void k(Activity activity, ContactData contactData) {
ShareContactViaSendIntentPopup shareContactViaSendIntentPopup = new ShareContactViaSendIntentPopup(i(contactData, null), contactData, ShareContactState.sendingThisContactsInfo, activity);
if (shareContactViaSendIntentPopup.isNeedToShowPopup()) {
PopupManager.get().c(activity, shareContactViaSendIntentPopup, true);
return;
}
Intent intent = new Intent();
intent.setAction("android.intent.action.SEND");
intent.putExtra("android.intent.extra.TEXT", shareContactViaSendIntentPopup.n(false));
intent.setType(CallAppMimeType.TEXT_PLAIN.getMimeType());
activity.startActivity(Intent.createChooser(intent, Activities.getString(R.string.share_contact_using)));
}
public static String l(Bitmap bitmap) {
if (bitmap == null) {
return null;
}
File a = ImageUtils.a(bitmap, null, null);
String a2 = AWSUtils.a("jpg");
if (StringUtils.t(a2)) {
FeedbackManager.get().d(null, Activities.getString(R.string.action_share_photo_error));
return null;
}
d.a aVar = new d.a();
aVar.g("uploadFileName", a2);
aVar.g("uploadFile", a.getAbsolutePath());
z b2 = new z.a(UploadFileWorker.class).a("upload_file_worker").g(aVar.a()).b();
SplitCompatApplication splitCompatApplication = CallAppApplication.get();
p0.a.getClass();
p0.a.a(splitCompatApplication).b(b2);
String o = HttpUtils.o(HttpUtils.getCallappServerPrefix() + "ssd?imgurl=" + UrlUtils.a("https://s3.amazonaws.com/callapp/".concat(a2)) + "&bd=0");
if (!StringUtils.t(o)) {
return o;
}
FeedbackManager.get().d(null, Activities.getString(R.string.action_share_photo_error));
return null;
}
@Override
public void a(Context context, ContactData contactData, BaseAdapterItemData baseAdapterItemData) {
AnalyticsManager.get().p(Constants.CONTACT_LIST, "Share contact action", Constants.CLICK);
Activity activity = (Activity) context;
int i = AnonymousClass4.a[this.a.ordinal()];
if (i == 1) {
new AnonymousClass1(contactData, activity).execute();
return;
}
if (i == 2) {
new AnonymousClass3(contactData, activity).execute();
return;
}
if (i == 3) {
PopupManager.get().d(activity, new ShareContactPopup(this, contactData, activity));
} else if (i == 4) {
k(activity, contactData);
} else {
if (i != 5) {
return;
}
j(activity, contactData);
}
}
@Override
public String c(Resources resources) {
return null;
}
@Override
public final boolean d(ContactData contactData, Action.ContextType contextType, BaseAdapterItemData baseAdapterItemData) {
if (contactData == null) {
return false;
}
if (AnonymousClass4.a[this.a.ordinal()] == 5 && contextType != Action.ContextType.CONTACT_DETAILS_ACTION_BOTTOM_SHEET) {
return false;
}
return super.d(contactData, contextType, baseAdapterItemData);
}
@Override
public final String e(OutgoingMessage outgoingMessage) {
JSONContact jSONContact;
StringBuilder sb2;
String body = outgoingMessage.getBody();
if (StringUtils.t(body) || (jSONContact = (JSONContact) Parser.c(body, JSONContact.class)) == null) {
return null;
}
if (StringUtils.t(jSONContact.getName())) {
sb2 = new StringBuilder();
} else {
sb2 = new StringBuilder(jSONContact.getName());
sb2.append(":\n");
}
List<JSONPhoneNumber> phoneNumbers = jSONContact.getPhoneNumbers();
if (phoneNumbers != null) {
Iterator<JSONPhoneNumber> it = phoneNumbers.iterator();
while (it.hasNext()) {
sb2.append(it.next().getPhoneNumber());
sb2.append("\n");
}
}
List<JSONEmail> emails = jSONContact.getEmails();
if (emails != null) {
Iterator<JSONEmail> it2 = emails.iterator();
while (it2.hasNext()) {
sb2.append(it2.next().getEmail());
sb2.append("\n");
}
}
List<JSONAddress> addresses = jSONContact.getAddresses();
if (addresses != null) {
Iterator<JSONAddress> it3 = addresses.iterator();
while (it3.hasNext()) {
sb2.append(it3.next().getFullAddress());
sb2.append("\n");
}
}
sb2.append(Activities.getString(R.string.action_share_contact_fallback));
sb2.append(" ");
sb2.append(Activities.f(R.string.sms_invite_url, HttpUtils.getCallAppDomain()));
return sb2.toString();
}
@Override
public String getKey() {
return super.getKey() + this.a.ordinal();
}
public final void j(Activity activity, final ContactData contactData) {
PopupManager.get().c(activity, new DialogSimpleMessage(Activities.getString(R.string.action_invite_caption), Activities.f(R.string.action_invite_contact_button_text, contactData.getFirstName()), Activities.getString(R.string.ok), null, new DialogPopup.IDialogOnClickListener(this) {
class AnonymousClass1 extends Task {
public final Activity a;
public final List b;
public AnonymousClass1(AnonymousClass2 anonymousClass2, Activity activity, List list) {
this.a = activity;
this.b = list;
}
@Override
public final void doTask() {
SmsUtils.d(this.a, this.b, new SmsUtils.SelectNumberListener() {
@Override
public final void a(final Phone phone) {
new Task() {
@Override
public final void doTask() {
SmsUtils.e(AnonymousClass1.this.a, phone, Activities.getString(R.string.invite_to_callapp_text_sms) + " " + Activities.f(R.string.defaultShareUrl, HttpUtils.getCallAppDomain()), null);
}
}.execute();
}
});
}
}
@Override
public final void onClickListener(Activity activity2) {
new AnonymousClass1(this, activity2, contactData.getPhonesList()).execute();
}
}, null), true);
}
}