导航菜单

页面标题

页面副标题

CallApp v2.226 - ShareContactAction.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);
    }
}