导航菜单

页面标题

页面副标题

CallApp v2.226 - ContactCallLogActivity.java 源代码

正在查看: CallApp v2.226 应用的 ContactCallLogActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.callapp.contacts.activity.calllog.contactcalllog;

import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.Pair;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import com.callapp.contacts.CallAppApplication;
import com.callapp.contacts.R;
import com.callapp.contacts.activity.base.BaseMultiSelectListAdapter;
import com.callapp.contacts.activity.base.TopBarFragmentActivity;
import com.callapp.contacts.loader.device.CallHistoryLoader;
import com.callapp.contacts.manager.ContactLoaderManager;
import com.callapp.contacts.manager.analytics.AnalyticsManager;
import com.callapp.contacts.manager.popup.PopupManager;
import com.callapp.contacts.model.Constants;
import com.callapp.contacts.model.contact.ContactData;
import com.callapp.contacts.model.contact.ContactDataChangeListener;
import com.callapp.contacts.model.contact.ContactField;
import com.callapp.contacts.model.contact.social.ContactFieldEnumSets;
import com.callapp.contacts.popup.contact.AdapterIconAndText;
import com.callapp.contacts.popup.contact.AdapterText;
import com.callapp.contacts.popup.contact.DialogList;
import com.callapp.contacts.util.Activities;
import com.callapp.contacts.util.ThemeUtils;
import com.callapp.contacts.util.ViewUtils;
import com.callapp.framework.phone.Phone;
import com.callapp.framework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;

public class ContactCallLogActivity extends TopBarFragmentActivity<ContactCallLogFragment> implements View.OnClickListener {
    private ContactData contact;
    private long contactId;
    private ContactDataChangeListener listener;
    private Menu menu;
    private Phone phone;

    private void createOptionsDialog() {
        final DialogList dialogList = new DialogList(null);
        ArrayList arrayList = new ArrayList();
        arrayList.add(new AdapterIconAndText.ItemIconAndText(R.drawable.ic_bin, Activities.getString(R.string.dialog_clear_call_history), R.string.dialog_clear_call_history));
        arrayList.add(new AdapterIconAndText.ItemIconAndText(R.drawable.ic_multi_select, Activities.getString(R.string.overflow_calllog_start_multi_select_mode), R.string.overflow_calllog_start_multi_select_mode));
        AdapterIconAndText adapterIconAndText = new AdapterIconAndText((Context) this, R.layout.context_menu_row, (List<AdapterIconAndText.ItemIconAndText>) arrayList);
        adapterIconAndText.setListener(new AdapterText.AdapterEvents() {
            @Override
            public final void onRowClicked(int i) {
                dialogList.dismiss();
                ?? r1 = ContactCallLogActivity.this;
                if (i == 2132017954) {
                    ((ContactCallLogFragment) r1.getFragment()).deleteAllPresentedCallLogEntries(r1, new DialogInterface.OnClickListener() {
                        @Override
                        public final void onClick(DialogInterface dialogInterface, int i2) {
                            if (i2 == -1) {
                                AnonymousClass3 anonymousClass3 = AnonymousClass3.this;
                                ((ContactCallLogFragment) ContactCallLogActivity.this.getFragment()).showMultiSelect(false);
                                CallHistoryLoader.e(ContactCallLogActivity.this.contact);
                            }
                        }
                    });
                } else {
                    if (i != 2132018947) {
                        return;
                    }
                    ((ContactCallLogFragment) r1.getFragment()).showMultiSelect(true);
                }
            }
        });
        dialogList.setAdapter(adapterIconAndText);
        PopupManager.get().c(this, dialogList, true);
    }

    private void hideOptionMenuButton(int i) {
        MenuItem findItem = this.menu.findItem(i);
        if (findItem != null) {
            findItem.setVisible(false);
        }
    }

    private void setHistoryMode() {
        if (this.menu != null) {
            showOptionMenuButton(R.id.overflow_more_button_item);
            hideOptionMenuButton(R.id.delete_item_button);
        }
    }

    public void setScreenMode(boolean z) {
        if (z) {
            setSelectedMode();
            return;
        }
        setHistoryMode();
        if (StringUtils.x(this.contact.getFullName())) {
            setTitle(this.contact.getFullName());
            return;
        }
        Phone phone = this.phone;
        if (phone != null) {
            setTitle(phone.getRawNumber());
        } else {
            setTitle("");
        }
    }

    private void setSelectedMode() {
        if (this.menu != null) {
            showOptionMenuButton(R.id.delete_item_button);
            hideOptionMenuButton(R.id.overflow_more_button_item);
        }
    }

    private boolean setupBundle() {
        Bundle extras = getIntent().getExtras();
        if (extras == null) {
            return true;
        }
        this.phone = (Phone) extras.getSerializable(Constants.EXTRA_PHONE_NUMBER);
        this.contactId = extras.getLong("contactId", 0L);
        Phone phone = this.phone;
        if (phone == null) {
            return true;
        }
        setTitle(phone.getRawNumber());
        return true;
    }

    private void setupContactLoader() {
        this.listener = new ContactDataChangeListener() {
            @Override
            public void onContactChanged(final ContactData contactData, Set<ContactField> set) {
                ((ContactCallLogFragment) ContactCallLogActivity.this.getFragment()).onContactChanged(contactData, set);
                if (set.contains(ContactField.fullName)) {
                    CallAppApplication.get().runOnMainThread(new Runnable() {
                        @Override
                        public final void run() {
                            AnonymousClass2 anonymousClass2 = AnonymousClass2.this;
                            ContactCallLogActivity contactCallLogActivity = ContactCallLogActivity.this;
                            ContactData contactData2 = contactData;
                            contactCallLogActivity.setTitle(StringUtils.b(contactData2.getFullName()));
                            ((ContactCallLogFragment) ContactCallLogActivity.this.getFragment()).setContact(contactData2);
                        }
                    });
                }
            }
        };
        getFragment().setSingleContactPhone(this.phone);
        Pair<ContactData, Set<ContactField>> registerForContactDetailsStack = ContactLoaderManager.get().registerForContactDetailsStack(this.phone, this.contactId, this.listener, ContactFieldEnumSets.ALL);
        this.contact = (ContactData) registerForContactDetailsStack.first;
        if (((Set) registerForContactDetailsStack.second).size() > 0) {
            this.listener.onContactChanged(this.contact, (Set) registerForContactDetailsStack.second);
        }
    }

    private void showOptionMenuButton(int i) {
        MenuItem findItem = this.menu.findItem(i);
        if (findItem != null) {
            findItem.setVisible(true);
            View actionView = findItem.getActionView();
            if (actionView != null) {
                actionView.setOnClickListener(this);
            }
        }
    }

    public static void startActivity(Context context, long j, Phone phone) {
        Intent intent = new Intent(context, (Class<?>) ContactCallLogActivity.class);
        intent.putExtra(Constants.EXTRA_PHONE_NUMBER, phone);
        intent.putExtra("contactId", j);
        Activities.J(context, intent);
    }

    public void onBackPressed() {
        if (getFragment().isInMultiSelectMode()) {
            getFragment().showMultiSelect(false);
        } else {
            super/*androidx.activity.ComponentActivity*/.onBackPressed();
        }
    }

    @Override
    public void onClick(View view) {
        int id = view.getId();
        if (id == 2131362839) {
            ((ContactCallLogFragment) getFragment()).deleteSelectedCallLogEntries(this, new DialogInterface.OnClickListener() {
                @Override
                public final void onClick(DialogInterface dialogInterface, int i) {
                    if (i == -1) {
                        ContactCallLogActivity contactCallLogActivity = ContactCallLogActivity.this;
                        ((ContactCallLogFragment) contactCallLogActivity.getFragment()).showMultiSelect(false);
                        CallHistoryLoader.e(contactCallLogActivity.contact);
                    }
                }
            });
        } else {
            if (id != 2131364492) {
                return;
            }
            createOptionsDialog();
        }
    }

    @Override
    public void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        if (!setupBundle()) {
            finish();
        }
        setKeyguardDismissAndScreenWindowFlags();
        setupContactLoader();
        ((ContactCallLogFragment) getFragment()).setRetainInstance(true);
        ((ContactCallLogFragment) getFragment()).setMultiSelectListener(new BaseMultiSelectListAdapter.MultiSelectEvents() {
            @Override
            public final void onMultiSelectModeToggled(boolean z, int i) {
                ContactCallLogActivity contactCallLogActivity = ContactCallLogActivity.this;
                contactCallLogActivity.setScreenMode(z);
                if (z) {
                    contactCallLogActivity.setTitle(i + " " + Activities.getString(R.string.counter_selected));
                }
            }

            @Override
            public final void onSelectedAmountChanged(int i) {
                ContactCallLogActivity.this.setTitle(i + " " + Activities.getString(R.string.counter_selected));
            }
        });
        AnalyticsManager.get().t(Constants.CONTACT_CALL_LOG_SCREEN, null);
    }

    public boolean onCreateOptionsMenu(Menu menu) {
        this.menu = menu;
        getMenuInflater().inflate(R.menu.activity_more_option_menu_button, menu);
        ((ImageView) menu.findItem(R.id.overflow_more_button_item).getActionView().findViewById(R.id.more_option_btn_img)).setImageDrawable(ViewUtils.i(R.drawable.ic_more_options, Integer.valueOf(ThemeUtils.getColor(R.color.icon))));
        if (getFragment().isInMultiSelectMode()) {
            setSelectedMode();
            return true;
        }
        setHistoryMode();
        return true;
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        if (this.contact != null) {
            ContactLoaderManager.get().unRegisterForContactDetailsStack(this.contact, this.listener);
        }
    }

    @Override
    public void onResume() {
        super.onResume();
        ContactCallLogFragment fragment = getFragment();
        if (fragment.isInMultiSelectMode()) {
            fragment.onSelectedAmountChanged(fragment.getSelectedCounter());
        }
    }

    @Override
    public ContactCallLogFragment getNewFragment() {
        return new ContactCallLogFragment();
    }
}