正在查看: CallApp v2.226 应用的 CallReminderActivity.java JAVA 源代码文件
本页面展示 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();
}
}
}