导航菜单

页面标题

页面副标题

CallApp v2.226 - BirthdaysActivity.java 源代码

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

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


package com.callapp.contacts.activity.birthday;

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.app.AppCompatActivity;
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.activity.base.BaseNoTitleActivity;
import com.callapp.contacts.activity.base.ScrollRecyclerStateTracker;
import com.callapp.contacts.activity.interfaces.InvalidateDataListener;
import com.callapp.contacts.event.EventBusManager;
import com.callapp.contacts.manager.analytics.AnalyticsManager;
import com.callapp.contacts.model.BirthdayManager;
import com.callapp.contacts.model.Constants;
import com.callapp.contacts.model.ReminderData;
import com.callapp.contacts.util.Activities;
import com.callapp.contacts.util.ThemeUtils;
import com.callapp.contacts.util.ViewUtils;
import com.callapp.contacts.widget.referandearn.ReferAndEarnActivity;
import com.callapp.framework.util.StringUtils;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import java.util.List;

public class BirthdaysActivity extends BaseNoTitleActivity {
    private BirthdaysAdapter adapter;
    private RecyclerView recyclerView;
    private EventBusManager.CallAppDataType dataTypeToFetch = null;
    private final ScrollRecyclerStateTracker scrollStateTracker = new ScrollRecyclerStateTracker();
    private InvalidateDataListener invalidateDataListener = new InvalidateDataListener() {
        @Override
        public final void invalidateData(EventBusManager.CallAppDataType callAppDataType) {
            if (callAppDataType == EventBusManager.CallAppDataType.CONTACTS) {
                BirthdaysActivity birthdaysActivity = BirthdaysActivity.this;
                if (birthdaysActivity.isForeGroundVisible()) {
                    birthdaysActivity.refreshData();
                } else {
                    birthdaysActivity.dataTypeToFetch = callAppDataType;
                }
            }
        }
    };

    public void refreshData() {
        CallAppApplication.get().runOnBackgroundThread(new Runnable() {
            @Override
            public final void run() {
                final List<BirthdayReminderData> birthdaysAsReminders = BirthdayManager.getBirthdaysAsReminders();
                CallAppApplication.get().runOnMainThread(new Runnable() {
                    @Override
                    public final void run() {
                        AnonymousClass3 anonymousClass3 = AnonymousClass3.this;
                        BirthdaysAdapter birthdaysAdapter = BirthdaysActivity.this.adapter;
                        BirthdaysActivity birthdaysActivity = BirthdaysActivity.this;
                        List list = birthdaysAsReminders;
                        if (birthdaysAdapter != null) {
                            birthdaysActivity.adapter.setData(list);
                        } else {
                            birthdaysActivity.adapter = new BirthdaysAdapter(list, birthdaysActivity.scrollStateTracker);
                            birthdaysActivity.recyclerView.setAdapter(birthdaysActivity.adapter);
                        }
                    }
                });
            }
        });
    }

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

    public static void startPostBirthdayActivity(ReminderData reminderData) {
        if (reminderData != null && (reminderData instanceof BirthdayReminderData)) {
            BirthdayReminderData birthdayReminderData = (BirthdayReminderData) reminderData;
            if (reminderData.getContactId() > 0 || (StringUtils.x(birthdayReminderData.socialId) && birthdayReminderData.netId.intValue() == 1)) {
                AnalyticsManager.get().o(Constants.BIRTHDAY, "Clicked on Birthday notification");
                Intent addFlags = new Intent((Context) CallAppApplication.get(), (Class<?>) PostBirthdayActivity.class).setFlags(268435456).addFlags(536870912);
                if (StringUtils.x(birthdayReminderData.socialId) && birthdayReminderData.netId.intValue() == 1) {
                    addFlags.putExtra(PostBirthdayActivity.FB_ID_EXTRA, birthdayReminderData.socialId);
                }
                if (reminderData.getContactId() > 0) {
                    addFlags.putExtra("CONTACT_ID_EXTRA", reminderData.getContactId());
                    addFlags.putExtra(PostBirthdayActivity.PHONE_EXTRA, reminderData.phone.c());
                }
                Activities.J(CallAppApplication.get(), addFlags);
            }
        }
    }

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

    @Override
    public void onCreate(@Nullable Bundle bundle) {
        super.onCreate(bundle);
        AnalyticsManager.get().t(Constants.BIRTHDAY_SCREEN, null);
        EventBusManager.a.a(InvalidateDataListener.d8, this.invalidateDataListener);
        Toolbar findViewById = findViewById(R.id.toolbar);
        findViewById.setTitle("");
        findViewById.setBackgroundColor(ThemeUtils.getColor(R.color.background));
        setSupportActionBar(findViewById);
        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);
        RecyclerView findViewById2 = findViewById(R.id.recyclerView);
        this.recyclerView = findViewById2;
        findViewById2.setLayoutManager(new LinearLayoutManager(this));
        this.scrollStateTracker.setRecyclerView(this.recyclerView);
        FloatingActionButton findViewById3 = findViewById(R.id.floatingActionButton);
        findViewById3.setImageDrawable(ViewUtils.i(R.drawable.ic_action_birthday, Integer.valueOf(ThemeUtils.getColor(R.color.background))));
        findViewById3.setBackgroundTintList(ColorStateList.valueOf(ThemeUtils.e(this, R.color.colorPrimary)));
        findViewById3.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                AppCompatActivity appCompatActivity = BirthdaysActivity.this;
                Activities.J(appCompatActivity, new Intent((Context) appCompatActivity, (Class<?>) ReferAndEarnActivity.class));
            }
        });
        refreshData();
    }

    @Override
    public void onDestroy() {
        EventBusManager.a.f(InvalidateDataListener.d8, this.invalidateDataListener);
        super.onDestroy();
    }

    @Override
    public void onResume() {
        super.onResume();
        if (this.dataTypeToFetch != null) {
            this.dataTypeToFetch = null;
            refreshData();
        }
    }
}