导航菜单

页面标题

页面副标题

CallApp v2.226 - CallReminderActivity.java 源代码

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

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


package com.callapp.contacts.activity.callreminder;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.res.ColorStateList;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.callapp.contacts.CallAppApplication;
import com.callapp.contacts.R;
import com.callapp.contacts.action.local.AddCallReminderAction;
import com.callapp.contacts.activity.base.BaseNoTitleActivity;
import com.callapp.contacts.activity.base.ScrollRecyclerStateTracker;
import com.callapp.contacts.activity.callreminder.CallRemindersAdapter;
import com.callapp.contacts.activity.chooseContact.ChooseSingleNumberFromContactsActivity;
import com.callapp.contacts.activity.interfaces.InvalidateDataListener;
import com.callapp.contacts.activity.interfaces.NotifyDataChangedListener;
import com.callapp.contacts.event.EventBusManager;
import com.callapp.contacts.event.bus.EventBus;
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.manager.ActionsManager;
import com.callapp.contacts.manager.CallRemindersManager;
import com.callapp.contacts.manager.analytics.AnalyticsManager;
import com.callapp.contacts.manager.phone.PhoneManager;
import com.callapp.contacts.manager.popup.ActivityResult;
import com.callapp.contacts.manager.task.Task;
import com.callapp.contacts.model.Constants;
import com.callapp.contacts.model.DataChangedInfo;
import com.callapp.contacts.model.ReminderAnalyticsData;
import com.callapp.contacts.model.contact.ContactData;
import com.callapp.contacts.model.contact.ContactField;
import com.callapp.contacts.util.Activities;
import com.callapp.contacts.util.ThemeUtils;
import com.callapp.contacts.util.ViewUtils;
import com.callapp.framework.util.CollectionUtils;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;

public class CallReminderActivity extends BaseNoTitleActivity implements CallRemindersAdapter.ReminderEvents {
    private CallRemindersAdapter adapter;
    private View emptyView;
    private RecyclerView recyclerView;
    private boolean shouldRefreshDataOnResume = false;
    private final ScrollRecyclerStateTracker scrollStateTracker = new ScrollRecyclerStateTracker();
    private InvalidateDataListener invalidateDataListener = new InvalidateDataListener() {
        @Override
        public final void invalidateData(EventBusManager.CallAppDataType callAppDataType) {
            if (callAppDataType == EventBusManager.CallAppDataType.RECENT_CALLS || callAppDataType == EventBusManager.CallAppDataType.CONTACTS || callAppDataType == EventBusManager.CallAppDataType.REMINDER) {
                CallReminderActivity callReminderActivity = CallReminderActivity.this;
                if (callReminderActivity.isForeGroundVisible()) {
                    callReminderActivity.refreshData();
                } else {
                    callReminderActivity.shouldRefreshDataOnResume = true;
                }
            }
        }
    };
    private NotifyDataChangedListener notifyDataChangedListener = new NotifyDataChangedListener() {
        @Override
        public final void onDataChanged(DataChangedInfo dataChangedInfo) {
            CallReminderActivity callReminderActivity = CallReminderActivity.this;
            if (callReminderActivity.isForeGroundVisible()) {
                callReminderActivity.refreshData();
            } else {
                callReminderActivity.shouldRefreshDataOnResume = true;
            }
        }
    };

    public void onAddReminderClick() {
        AnalyticsManager.get().p(Constants.CONTACT_LIST, "Add Call Reminder", Constants.CLICK);
        Activities.I(this, ChooseSingleNumberFromContactsActivity.class, new ActivityResult() {
            @Override
            public final void h(Activity activity, int i, int i2, Intent intent) {
                if (i2 != -1 || intent.getExtras() == null) {
                    return;
                }
                final long j = intent.getExtras().getLong("contactId");
                final String string = intent.getExtras().getString(Constants.EXTRA_PHONE_NUMBER);
                new Task() {
                    @Override
                    public final void doTask() {
                        ContactData load = new ContactLoader().addFields(EnumSet.of(ContactField.deviceId, ContactField.fullName, ContactField.emails, ContactField.genomeData)).addSyncLoader(new DeviceIdLoader()).addSyncLoader(new DeviceDataLoader()).addSyncLoader(new CacheLoader()).addSyncLoader(new NotificationTelegramLoader()).addSyncLoader(new NotificationViberLoader()).addSyncLoader(new LocalGenomeLoader(false)).setLoadOnlyFromCache().load(PhoneManager.get().e(string), j);
                        ActionsManager actionsManager = ActionsManager.get();
                        actionsManager.getClass();
                        ((AddCallReminderAction) actionsManager.c("AddCallReminderAction")).a(CallReminderActivity.this, load, new ReminderAnalyticsData("CallReminderActivity"));
                    }
                }.execute();
            }
        });
    }

    public void refreshData() {
        CallAppApplication.get().runOnBackgroundThread(new Runnable() {
            @Override
            public final void run() {
                final ArrayList b = CallRemindersManager.b(null);
                CallAppApplication.get().runOnMainThread(new Runnable() {
                    @Override
                    public final void run() {
                        AnonymousClass5 anonymousClass5 = AnonymousClass5.this;
                        CallRemindersAdapter callRemindersAdapter = CallReminderActivity.this.adapter;
                        CallReminderActivity callReminderActivity = CallReminderActivity.this;
                        List list = b;
                        if (callRemindersAdapter == null) {
                            callReminderActivity.adapter = new CallRemindersAdapter(list, callReminderActivity.scrollStateTracker, callReminderActivity);
                            callReminderActivity.recyclerView.setAdapter(callReminderActivity.adapter);
                        } else {
                            callReminderActivity.adapter.l();
                            callReminderActivity.adapter.setData(list);
                        }
                        callReminderActivity.emptyView.setVisibility(CollectionUtils.f(list) ? 0 : 8);
                    }
                });
            }
        });
    }

    public static void show(Context context) {
        Activities.E(context, new Intent(context, (Class<?>) CallReminderActivity.class));
    }

    @Override
    public int getLayoutResourceId() {
        return R.layout.activity_call_reminder;
    }

    @Override
    public void onCreate(@Nullable Bundle bundle) {
        super.onCreate(bundle);
        RecyclerView findViewById = findViewById(R.id.recyclerView);
        this.recyclerView = findViewById;
        findViewById.setLayoutManager(new LinearLayoutManager(this));
        this.scrollStateTracker.setRecyclerView(this.recyclerView);
        Toolbar findViewById2 = findViewById(R.id.toolbar);
        findViewById2.setTitle("");
        findViewById2.setBackgroundColor(ThemeUtils.getColor(R.color.background));
        setSupportActionBar(findViewById2);
        Drawable i = ViewUtils.i(R.drawable.ic_top_bar_back, Integer.valueOf(ThemeUtils.getColor(R.color.icon)));
        i.setAutoMirrored(true);
        getSupportActionBar().u(i);
        getSupportActionBar().r(true);
        FloatingActionButton findViewById3 = findViewById(R.id.floatingActionButton);
        findViewById3.setImageDrawable(ViewUtils.i(R.drawable.ic_action_plus, Integer.valueOf(ThemeUtils.getColor(R.color.background))));
        findViewById3.setBackgroundTintList(ColorStateList.valueOf(ThemeUtils.getColor(R.color.colorPrimary)));
        findViewById3.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                CallReminderActivity.this.onAddReminderClick();
            }
        });
        EventBusManager.a.a(InvalidateDataListener.d8, this.invalidateDataListener);
        AnalyticsManager.get().t(Constants.CALL_REMINDER_SCREEN, null);
        String string = Activities.getString(R.string.call_reminder_empty_title);
        String string2 = Activities.getString(R.string.call_reminder_empty_subtitle);
        View findViewById4 = findViewById(R.id.empty);
        this.emptyView = findViewById4;
        ViewUtils.G(findViewById4, R.drawable.ic_call_reminder_empty, R.drawable.ic_call_reminder_empty_bg, string, string2);
        refreshData();
    }

    @Override
    public void onDestroy() {
        EventBus eventBus = EventBusManager.a;
        eventBus.f(InvalidateDataListener.d8, this.invalidateDataListener);
        eventBus.f(NotifyDataChangedListener.g8, this.notifyDataChangedListener);
        super.onDestroy();
    }

    @Override
    public void onItemDeleted(int i) {
        this.emptyView.setVisibility(i == 0 ? 0 : 8);
    }

    @Override
    public void onItemEdited() {
        refreshData();
    }

    @Override
    public void onResume() {
        super.onResume();
        if (this.shouldRefreshDataOnResume) {
            this.shouldRefreshDataOnResume = false;
            refreshData();
        }
    }
}