正在查看: 微商客 v2.1.2 应用的 PhoneNumberAddFriendActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 微商客 v2.1.2 应用的 PhoneNumberAddFriendActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.jianzhen.wsk.ui.addfriend;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Handler;
import android.os.Looper;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.alibaba.fastjson.JSON;
import com.hjq.permissions.OnPermissionCallback;
import com.hjq.permissions.Permission;
import com.hjq.permissions.XXPermissions;
import com.jianzhen.wsk.BaseActivity;
import com.jianzhen.wsk.R;
import com.jianzhen.wsk.adapter.AddedPhoneAdapter;
import com.jianzhen.wsk.adapter.SmsAdapter;
import com.jianzhen.wsk.bean.ContactInfo;
import com.jianzhen.wsk.bean.ExcelNumBean;
import com.jianzhen.wsk.dialog.AddFriendSelectNumDialog;
import com.jianzhen.wsk.dialog.AddPhoneSdImportDialog;
import com.jianzhen.wsk.dialog.BaseDialog;
import com.jianzhen.wsk.dialog.ExcelImportDialog;
import com.jianzhen.wsk.utils.ContactImporter;
import com.jianzhen.wsk.utils.DataSaveUtils;
import com.jianzhen.wsk.utils.ExcelUtils;
import com.jianzhen.wsk.utils.GetFilePathFromUri;
import com.kongzue.dialogx.dialogs.PopNotification;
import java.io.File;
import java.io.InputStream;
import java.io.Serializable;
import java.nio.file.Files;
import java.nio.file.OpenOption;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellValue;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class PhoneNumberAddFriendActivity extends BaseActivity implements View.OnClickListener {
private AddFriendSelectNumDialog addFriendSelectNumDialog;
private AddPhoneSdImportDialog addPhoneSdImportDialog;
private FrameLayout addedFl;
private LinearLayout addedLayEmpty;
private View addedLine;
private RecyclerView addedNumRv;
private TextView addedTv;
private SmsAdapter friendListAdapter;
private TextView importNumTv;
private boolean isNotAddList;
private LinearLayout llEmpty;
private PopNotification mPopNotification;
private FrameLayout notAddFl;
private View notAddLine;
private RecyclerView notAddNumRv;
private TextView notAddTv;
private LinearLayout phoneNumSndSearchLay;
private EditText searchNum;
private TextView selectAll;
private final Handler handlerPost = new Handler(Looper.getMainLooper());
private List<ContactInfo> ALLContactInfoList = new ArrayList();
private List<ContactInfo> contactInfoList = new ArrayList();
private List<ContactInfo> selectContactInfoList = new ArrayList();
private SmsAdapter.OnItemClickListener onItemClickListener = new SmsAdapter.OnItemClickListener() {
@Override
public void onItemClick(int i, boolean z) {
if (z) {
((ContactInfo) PhoneNumberAddFriendActivity.this.contactInfoList.get(i)).setSelect(true);
PhoneNumberAddFriendActivity.this.selectContactInfoList.add((ContactInfo) PhoneNumberAddFriendActivity.this.contactInfoList.get(i));
} else {
((ContactInfo) PhoneNumberAddFriendActivity.this.contactInfoList.get(i)).setSelect(false);
String phoneNumber = ((ContactInfo) PhoneNumberAddFriendActivity.this.contactInfoList.get(i)).getPhoneNumber();
Iterator it = PhoneNumberAddFriendActivity.this.selectContactInfoList.iterator();
while (true) {
if (!it.hasNext()) {
break;
}
ContactInfo contactInfo = (ContactInfo) it.next();
if (contactInfo.getPhoneNumber().equals(phoneNumber)) {
PhoneNumberAddFriendActivity.this.selectContactInfoList.remove(contactInfo);
break;
}
}
}
PhoneNumberAddFriendActivity.this.friendListAdapter.notifyDataSetChanged();
PhoneNumberAddFriendActivity.this.setAllSelectImg();
}
};
private final ExecutorService executor = Executors.newSingleThreadExecutor();
private final Handler handler = new Handler(Looper.getMainLooper());
@Override
protected int getLayoutId() {
return R.layout.activity_phone_num_add_friend;
}
@Override
protected boolean isSetBaseTitle() {
return true;
}
@Override
protected void initTitle() {
setBaseTitle(this, getString(R.string.phone_add_title));
}
@Override
protected void initPageView() {
DataSaveUtils.setPhoneAddingFriendData(this, "");
this.notAddNumRv = findViewById(R.id.not_add_num_rv);
this.llEmpty = (LinearLayout) findViewById(R.id.llEmpty);
this.addedNumRv = findViewById(R.id.added_rv);
this.addedLayEmpty = (LinearLayout) findViewById(R.id.added_Empty);
this.selectAll = (TextView) findViewById(R.id.select_all_tv);
TextView textView = (TextView) findViewById(R.id.delete_tv);
this.importNumTv = (TextView) findViewById(R.id.import_num_tv);
this.notAddFl = (FrameLayout) findViewById(R.id.not_added_fl);
this.addedFl = (FrameLayout) findViewById(R.id.added_fl);
TextView textView2 = (TextView) findViewById(R.id.added_delete_tv);
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.not_add_lay);
this.notAddTv = (TextView) findViewById(R.id.not_add_tv);
this.notAddLine = findViewById(R.id.not_add_line);
LinearLayout linearLayout2 = (LinearLayout) findViewById(R.id.added_lay);
this.addedTv = (TextView) findViewById(R.id.added_tv);
this.addedLine = findViewById(R.id.added_line);
this.searchNum = (EditText) findViewById(R.id.search_phone_num);
this.phoneNumSndSearchLay = (LinearLayout) findViewById(R.id.phone_num_and_search_lay);
linearLayout.setOnClickListener(this);
linearLayout2.setOnClickListener(this);
textView2.setOnClickListener(this);
if (DataSaveUtils.getPhoneAddFriendData(this) != null && !((List) Objects.requireNonNull(DataSaveUtils.getPhoneAddFriendData(this))).isEmpty()) {
List<ContactInfo> phoneAddFriendData = DataSaveUtils.getPhoneAddFriendData(this);
this.contactInfoList = phoneAddFriendData;
this.ALLContactInfoList = phoneAddFriendData;
setNotImportListRv();
} else {
this.llEmpty.setVisibility(0);
}
this.selectAll.setOnClickListener(this);
findViewById(R.id.to_add_tv).setOnClickListener(this);
findViewById(R.id.phone_book_import_fl).setOnClickListener(this);
findViewById(R.id.hand_import_fl).setOnClickListener(this);
findViewById(R.id.flExcel).setOnClickListener(this);
textView.setOnClickListener(this);
setSwitchMode(true);
this.addFriendSelectNumDialog = new AddFriendSelectNumDialog(this, this);
this.searchNum.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
@Override
public void afterTextChanged(Editable editable) {
ArrayList arrayList = new ArrayList();
for (ContactInfo contactInfo : PhoneNumberAddFriendActivity.this.ALLContactInfoList) {
if (contactInfo.contactName.contains(PhoneNumberAddFriendActivity.this.searchNum.getText().toString().trim()) || contactInfo.phoneNumber.contains(PhoneNumberAddFriendActivity.this.searchNum.getText().toString().trim())) {
arrayList.add(contactInfo);
}
}
PhoneNumberAddFriendActivity.this.contactInfoList = arrayList;
PhoneNumberAddFriendActivity phoneNumberAddFriendActivity = PhoneNumberAddFriendActivity.this;
?? r1 = PhoneNumberAddFriendActivity.this;
phoneNumberAddFriendActivity.friendListAdapter = new SmsAdapter(r1, ((PhoneNumberAddFriendActivity) r1).contactInfoList, PhoneNumberAddFriendActivity.this.selectContactInfoList);
PhoneNumberAddFriendActivity.this.notAddNumRv.setLayoutManager(new LinearLayoutManager(PhoneNumberAddFriendActivity.this));
PhoneNumberAddFriendActivity.this.notAddNumRv.setAdapter(PhoneNumberAddFriendActivity.this.friendListAdapter);
PhoneNumberAddFriendActivity.this.friendListAdapter.setOnItemClickListener(PhoneNumberAddFriendActivity.this.onItemClickListener);
}
});
}
private void setSwitchMode(boolean z) {
this.phoneNumSndSearchLay.setVisibility(z ? 0 : 8);
this.notAddTv.setTextColor(Color.parseColor(z ? "#FF5F00" : "#77777E"));
this.notAddLine.setBackgroundColor(Color.parseColor(z ? "#FF5F00" : "#77777E"));
this.notAddLine.setVisibility(z ? 0 : 4);
this.notAddFl.setVisibility(z ? 0 : 4);
this.addedTv.setTextColor(Color.parseColor(z ? "#77777E" : "#FF5F00"));
this.addedLine.setBackgroundColor(Color.parseColor(z ? "#77777E" : "#FF5F00"));
this.addedLine.setVisibility(z ? 4 : 0);
this.addedFl.setVisibility(z ? 4 : 0);
}
@Override
public void onClick(View view) {
int id = view.getId();
switch (id) {
case R.id.add_10:
selectNumView(10);
break;
case R.id.add_20:
selectNumView(20);
break;
case R.id.add_40:
selectNumView(40);
break;
case R.id.add_5:
selectNumView(5);
break;
case R.id.add_60:
selectNumView(60);
break;
case R.id.add_all:
selectView(false);
break;
case R.id.add_cancel_all:
selectView(true);
break;
default:
switch (id) {
case R.id.added_delete_tv:
DataSaveUtils.setPhoneAddedFriendData(this, "");
setAddedListRv();
break;
case R.id.added_lay:
setSwitchMode(false);
break;
case R.id.delete_tv:
getBaseDialog().show();
break;
case R.id.flExcel:
new ExcelImportDialog(this, new ExcelImportDialog.AddExcelBack() {
@Override
public void excelData() {
PhoneNumberAddFriendActivity.this.openFileChooser();
}
}).show();
break;
case R.id.hand_import_fl:
this.searchNum.setText("");
new AddPhoneSdImportDialog(this, new AddPhoneSdImportDialog.AddPhoneBack() {
@Override
public final void phoneData(List list) {
PhoneNumberAddFriendActivity.this.lambda$onClick$0(list);
}
}).show();
break;
case R.id.not_add_lay:
setSwitchMode(true);
break;
case R.id.phone_book_import_fl:
this.searchNum.setText("");
showProgressDialog(this, "数据导入中,数据多时间会过长,请耐心等待。。。");
this.handlerPost.postDelayed(new Runnable() {
@Override
public void run() {
PhoneNumberAddFriendActivity.this.phoneBookImport();
}
}, 1000L);
break;
case R.id.select_all_tv:
this.addFriendSelectNumDialog.show();
break;
case R.id.to_add_tv:
if (this.selectContactInfoList.size() <= 0) {
showCenterToast("请先选择需要添加的好友!");
break;
} else {
Intent intent = new Intent((Context) this, (Class<?>) AddFriendSetActivity.class);
intent.putExtra("addFriendData", (Serializable) this.selectContactInfoList);
intent.putExtra("add_type", 102);
startActivity(intent);
this.searchNum.setText("");
break;
}
}
}
}
public void lambda$onClick$0(List list) {
if (list == null || list.isEmpty()) {
return;
}
ArrayList arrayList = new ArrayList();
Iterator it = list.iterator();
while (it.hasNext()) {
arrayList.add(new ContactInfo("未知", (String) it.next()));
}
this.ALLContactInfoList.addAll(arrayList);
this.contactInfoList = this.ALLContactInfoList;
setNotImportListRv();
}
private void selectView(boolean z) {
if (this.contactInfoList.size() <= 0) {
return;
}
if (z) {
this.selectContactInfoList.clear();
Iterator<ContactInfo> it = this.contactInfoList.iterator();
while (it.hasNext()) {
it.next().setSelect(false);
}
} else {
this.selectContactInfoList.addAll(this.contactInfoList);
Iterator<ContactInfo> it2 = this.contactInfoList.iterator();
while (it2.hasNext()) {
it2.next().setSelect(true);
}
}
setAllSelectImg();
this.friendListAdapter.notifyDataSetChanged();
}
private void selectNumView(int i) {
if (this.contactInfoList.size() <= 0) {
return;
}
if (i > this.contactInfoList.size()) {
i = this.contactInfoList.size();
}
this.selectContactInfoList.clear();
this.selectContactInfoList.addAll(this.contactInfoList.subList(0, i));
for (int i2 = 0; i2 < this.contactInfoList.size(); i2++) {
this.contactInfoList.get(i2).setSelect(true);
if (i2 == i - 1) {
break;
}
}
setAllSelectImg();
this.friendListAdapter.notifyDataSetChanged();
}
private BaseDialog getBaseDialog() {
final BaseDialog baseDialog = new BaseDialog(this);
baseDialog.setContentText("确定删除吗?");
baseDialog.setLeftButton("取消", -1, new View.OnClickListener() {
@Override
public final void onClick(View view) {
BaseDialog.this.dismiss();
}
});
baseDialog.setRightButton("确定", -1, new View.OnClickListener() {
@Override
public final void onClick(View view) {
PhoneNumberAddFriendActivity.this.lambda$getBaseDialog$2(baseDialog, view);
}
});
baseDialog.setIsCancelable(false);
baseDialog.setCancelable(false);
baseDialog.setCanceledOnTouchOutside(false);
return baseDialog;
}
public void lambda$getBaseDialog$2(BaseDialog baseDialog, View view) {
for (ContactInfo contactInfo : this.selectContactInfoList) {
Iterator<ContactInfo> it = this.ALLContactInfoList.iterator();
while (true) {
if (it.hasNext()) {
ContactInfo next = it.next();
if (contactInfo.phoneNumber.equals(next.phoneNumber)) {
this.ALLContactInfoList.remove(next);
break;
}
}
}
}
this.selectContactInfoList.clear();
this.searchNum.setText("");
setNotImportListRv();
baseDialog.dismiss();
}
public void openFileChooser() {
Intent intent = new Intent("android.intent.action.GET_CONTENT");
intent.addCategory("android.intent.category.OPENABLE");
intent.setType("application/vnd.ms-excel");
startActivityForResult(intent, 100);
}
public void phoneBookImport() {
if (!XXPermissions.isGranted((Context) this, Permission.READ_CONTACTS)) {
PopNotification build = PopNotification.build();
this.mPopNotification = build;
build.setTitle("通讯录权限使用说明:").setMessage("用于选择群发消息的对象").noAutoDismiss().show();
}
XXPermissions.with((Context) this).permission(Permission.READ_CONTACTS).request(new OnPermissionCallback() {
@Override
public void onGranted(List<String> list, boolean z) {
if (z) {
ContactImporter contactImporter = new ContactImporter();
?? r4 = PhoneNumberAddFriendActivity.this;
contactImporter.startImport(r4, ((PhoneNumberAddFriendActivity) r4).ALLContactInfoList, new ContactImporter.OnProgressListener() {
@Override
public void onError(Exception exc) {
}
@Override
public void onProgress(int i) {
}
@Override
public void onComplete(List<ContactInfo> list2) {
PhoneNumberAddFriendActivity.this.ALLContactInfoList.addAll(list2);
PhoneNumberAddFriendActivity.this.contactInfoList = PhoneNumberAddFriendActivity.this.ALLContactInfoList;
PhoneNumberAddFriendActivity.this.importContactsUi();
}
});
}
}
@Override
public void onDenied(List<String> list, boolean z) {
if (PhoneNumberAddFriendActivity.this.mPopNotification != null) {
PhoneNumberAddFriendActivity.this.dismissProgressDialog();
PhoneNumberAddFriendActivity.this.mPopNotification.dismiss();
}
}
});
}
public void importContactsUi() {
this.executor.execute(new Runnable() {
@Override
public final void run() {
PhoneNumberAddFriendActivity.this.lambda$importContactsUi$3();
}
});
}
public void lambda$importContactsUi$3() {
PopNotification popNotification = this.mPopNotification;
if (popNotification != null) {
popNotification.dismiss();
}
this.handler.post(new Runnable() {
@Override
public final void run() {
PhoneNumberAddFriendActivity.this.setNotImportListRv();
}
});
}
public void setNotImportListRv() {
dismissProgressDialog();
this.selectContactInfoList.clear();
setAllSelectImg();
List<ContactInfo> list = this.ALLContactInfoList;
this.contactInfoList = list;
DataSaveUtils.setPhoneAddFriendData(this, JSON.toJSONString(list));
this.friendListAdapter = new SmsAdapter(this, this.contactInfoList, this.selectContactInfoList);
this.notAddNumRv.setLayoutManager(new LinearLayoutManager(this));
this.notAddNumRv.setAdapter(this.friendListAdapter);
for (ContactInfo contactInfo : this.selectContactInfoList) {
for (ContactInfo contactInfo2 : this.contactInfoList) {
contactInfo2.setSelect(contactInfo.getPhoneNumber().equals(contactInfo2.getPhoneNumber()));
}
}
if (this.selectContactInfoList.size() <= 0) {
Iterator<ContactInfo> it = this.contactInfoList.iterator();
while (it.hasNext()) {
it.next().setSelect(false);
}
}
setAllSelectImg();
this.friendListAdapter.setOnItemClickListener(this.onItemClickListener);
if (this.contactInfoList.size() <= 0) {
this.llEmpty.setVisibility(0);
} else {
this.llEmpty.setVisibility(8);
}
this.importNumTv.setText(this.contactInfoList.size() + "");
}
protected void onResume() {
super.onResume();
setAddedListRv();
}
private void setAddedListRv() {
List<ContactInfo> phoneAddedFriendData = DataSaveUtils.getPhoneAddedFriendData(this);
if (phoneAddedFriendData != null && phoneAddedFriendData.size() > 100) {
phoneAddedFriendData = phoneAddedFriendData.subList(0, 99);
DataSaveUtils.setPhoneAddedFriendData(this, JSON.toJSONString(phoneAddedFriendData));
}
if (phoneAddedFriendData == null) {
this.addedLayEmpty.setVisibility(0);
} else {
AddedPhoneAdapter addedPhoneAdapter = new AddedPhoneAdapter(this, phoneAddedFriendData);
this.addedNumRv.setLayoutManager(new LinearLayoutManager(this));
this.addedNumRv.setAdapter(addedPhoneAdapter);
if (phoneAddedFriendData.size() <= 0) {
this.addedLayEmpty.setVisibility(0);
} else {
this.addedLayEmpty.setVisibility(8);
}
}
if (DataSaveUtils.getPhoneAddFriendData(this) != null && !((List) Objects.requireNonNull(DataSaveUtils.getPhoneAddFriendData(this))).isEmpty()) {
this.ALLContactInfoList = DataSaveUtils.getPhoneAddFriendData(this);
} else {
this.ALLContactInfoList.clear();
}
DataSaveUtils.setPhoneAddingFriendData(this, "");
this.selectContactInfoList.clear();
setNotImportListRv();
}
public void setAllSelectImg() {
this.selectAll.setText("快速选择(已选" + this.selectContactInfoList.size() + "人)");
}
protected void onActivityResult(int i, int i2, Intent intent) {
super.onActivityResult(i, i2, intent);
if (i == 100 && i2 == -1) {
try {
String fileAbsolutePath = GetFilePathFromUri.getFileAbsolutePath(this, intent.getData());
File file = new File(fileAbsolutePath);
if (ExcelUtils.checkIfExcelFile(file)) {
readExcel(fileAbsolutePath, file);
} else {
showCenterToast("请选择正确的文件!");
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
public void readExcel(String str, File file) {
XSSFWorkbook hSSFWorkbook;
showProgressDialog(this, "数据导入中,数据多时间会过长,请耐心等待。。。");
ArrayList<ExcelNumBean> arrayList = new ArrayList();
if (file == null) {
Log.e("NullFile", "读取Excel出错,文件为空文件");
return;
}
try {
InputStream newInputStream = Files.newInputStream(file.toPath(), new OpenOption[0]);
if (str.endsWith(".xlsx")) {
hSSFWorkbook = new XSSFWorkbook(newInputStream);
} else if (str.endsWith(".xls")) {
hSSFWorkbook = new HSSFWorkbook(newInputStream);
} else {
dismissProgressDialog();
return;
}
Sheet sheetAt = hSSFWorkbook.getSheetAt(0);
int physicalNumberOfRows = sheetAt.getPhysicalNumberOfRows();
FormulaEvaluator createFormulaEvaluator = hSSFWorkbook.getCreationHelper().createFormulaEvaluator();
String str2 = "";
String str3 = "";
for (int i = 0; i < physicalNumberOfRows; i++) {
Row row = sheetAt.getRow(i);
if (row != null) {
int physicalNumberOfCells = row.getPhysicalNumberOfCells();
for (int i2 = 0; i2 < physicalNumberOfCells; i2++) {
String cellAsString = getCellAsString(row, i2, createFormulaEvaluator);
String str4 = "r:" + i + "; c:" + i2 + "; v:" + cellAsString;
if (i2 == 0) {
str2 = cellAsString;
}
if (i2 == 1) {
str3 = cellAsString;
}
}
arrayList.add(new ExcelNumBean(str2, str3));
}
}
if (!arrayList.isEmpty()) {
ArrayList arrayList2 = new ArrayList();
for (ExcelNumBean excelNumBean : arrayList) {
Iterator<ContactInfo> it = this.ALLContactInfoList.iterator();
while (true) {
if (it.hasNext()) {
if (it.next().phoneNumber.equals(excelNumBean.num)) {
break;
}
} else {
arrayList2.add(new ContactInfo(excelNumBean.name, excelNumBean.num));
break;
}
}
}
this.ALLContactInfoList.addAll(arrayList2);
this.contactInfoList = this.ALLContactInfoList;
setNotImportListRv();
}
dismissProgressDialog();
} catch (Exception unused) {
dismissProgressDialog();
}
}
private String getCellAsString(Row row, int i, FormulaEvaluator formulaEvaluator) {
String str;
try {
Cell cell = row.getCell(i);
CellValue evaluate = formulaEvaluator.evaluate(cell);
int cellType = evaluate.getCellType();
if (cellType == 0) {
double numberValue = evaluate.getNumberValue();
if (HSSFDateUtil.isCellDateFormatted(cell)) {
str = new SimpleDateFormat("dd/MM/yy").format(HSSFDateUtil.getJavaDate(evaluate.getNumberValue()));
} else {
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setGroupingUsed(false);
str = "" + numberFormat.format(numberValue);
}
} else if (cellType == 1) {
str = "" + evaluate.getStringValue();
} else {
if (cellType != 4) {
return "";
}
str = "" + evaluate.getBooleanValue();
}
return str;
} catch (NullPointerException unused) {
return "";
}
}
}