正在查看: 微商客 v2.1.2 应用的 SmsSendSelectPersonActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 微商客 v2.1.2 应用的 SmsSendSelectPersonActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.jianzhen.wsk.ui;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.provider.ContactsContract;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
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.SmsAdapter;
import com.jianzhen.wsk.bean.ContactInfo;
import com.kongzue.dialogx.dialogs.PopNotification;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class SmsSendSelectPersonActivity extends BaseActivity {
private PopNotification mPopNotification;
private SmsAdapter mSmsAdapter;
private ImageView sms_all_select;
private LinearLayout sms_ll_empty;
private TextView sms_ll_empty_tip;
private List<ContactInfo> selectContactInfoList = new ArrayList();
private final List<ContactInfo> contactInfoList = new ArrayList();
@Override
protected int getLayoutId() {
return R.layout.activity_sms_select_person;
}
@Override
protected boolean isSetBaseTitle() {
return true;
}
@Override
protected void initTitle() {
setBaseTitle(this, "通讯录");
}
@Override
protected void initPageView() {
this.selectContactInfoList = (List) getIntent().getSerializableExtra("selectData");
this.sms_ll_empty = (LinearLayout) findViewById(R.id.sms_ll_empty);
this.sms_all_select = (ImageView) findViewById(R.id.sms_all_select);
this.sms_ll_empty_tip = (TextView) findViewById(R.id.sms_ll_empty_tip);
if (XXPermissions.isGranted((Context) this, Permission.READ_CONTACTS)) {
this.sms_ll_empty.setVisibility(8);
readContacts();
} else {
this.sms_ll_empty.setVisibility(0);
}
findViewById(R.id.to_person).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (!XXPermissions.isGranted((Context) SmsSendSelectPersonActivity.this, Permission.READ_CONTACTS)) {
SmsSendSelectPersonActivity.this.mPopNotification = PopNotification.build();
SmsSendSelectPersonActivity.this.mPopNotification.setTitle("通讯录权限使用说明:").setMessage("用于选择群发消息的对象").noAutoDismiss().show();
}
XXPermissions.with((Context) SmsSendSelectPersonActivity.this).permission(Permission.READ_CONTACTS).request(new OnPermissionCallback() {
@Override
public void onGranted(List<String> list, boolean z) {
if (z) {
SmsSendSelectPersonActivity.this.readContacts();
}
if (SmsSendSelectPersonActivity.this.mPopNotification != null) {
SmsSendSelectPersonActivity.this.mPopNotification.dismiss();
}
}
@Override
public void onDenied(List<String> list, boolean z) {
if (SmsSendSelectPersonActivity.this.mPopNotification != null) {
SmsSendSelectPersonActivity.this.mPopNotification.dismiss();
}
}
});
}
});
findViewById(R.id.sms_person_ok).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.putExtra("selectData", (Serializable) SmsSendSelectPersonActivity.this.selectContactInfoList);
SmsSendSelectPersonActivity.this.setResult(-1, intent);
SmsSendSelectPersonActivity.this.finish();
}
});
this.sms_all_select.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (SmsSendSelectPersonActivity.this.contactInfoList.size() <= 0) {
return;
}
if (SmsSendSelectPersonActivity.this.sms_all_select.isSelected()) {
SmsSendSelectPersonActivity.this.selectContactInfoList.clear();
Iterator it = SmsSendSelectPersonActivity.this.contactInfoList.iterator();
while (it.hasNext()) {
((ContactInfo) it.next()).setSelect(false);
}
} else {
SmsSendSelectPersonActivity.this.selectContactInfoList.addAll(SmsSendSelectPersonActivity.this.contactInfoList);
Iterator it2 = SmsSendSelectPersonActivity.this.contactInfoList.iterator();
while (it2.hasNext()) {
((ContactInfo) it2.next()).setSelect(true);
}
}
SmsSendSelectPersonActivity.this.sms_all_select.setSelected(true ^ SmsSendSelectPersonActivity.this.sms_all_select.isSelected());
SmsSendSelectPersonActivity.this.mSmsAdapter.notifyDataSetChanged();
}
});
}
public void readContacts() {
Cursor query;
ContentResolver contentResolver = getContentResolver();
Cursor query2 = contentResolver.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
if (query2 != null && query2.getCount() > 0) {
while (query2.moveToNext()) {
String string = query2.getString(query2.getColumnIndex("_id"));
query2.getString(query2.getColumnIndex("display_name"));
if (Integer.parseInt(query2.getString(query2.getColumnIndex("has_phone_number"))) > 0 && (query = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, "contact_id = ?", new String[]{string}, null)) != null && query.getCount() > 0) {
while (query.moveToNext()) {
String string2 = query.getString(query.getColumnIndex("data1"));
String string3 = query.getString(query.getColumnIndex("display_name"));
Log.e("Name: ", string3 + "====" + string2);
this.contactInfoList.add(new ContactInfo(string3, string2));
}
this.mSmsAdapter = new SmsAdapter(this, this.contactInfoList, this.selectContactInfoList);
RecyclerView findViewById = findViewById(R.id.sms_person_rv);
findViewById.setLayoutManager(new LinearLayoutManager(this));
findViewById.setAdapter(this.mSmsAdapter);
for (ContactInfo contactInfo : this.selectContactInfoList) {
for (ContactInfo contactInfo2 : this.contactInfoList) {
if (contactInfo.getPhoneNumber().equals(contactInfo2.getPhoneNumber())) {
contactInfo2.isSelect = true;
}
}
}
setAllSelectImg();
this.mSmsAdapter.setOnItemClickListener(new SmsAdapter.OnItemClickListener() {
@Override
public void onItemClick(int i, boolean z) {
Log.e("xxxx", i + "" + z + "");
if (z) {
((ContactInfo) SmsSendSelectPersonActivity.this.contactInfoList.get(i)).isSelect = true;
SmsSendSelectPersonActivity.this.selectContactInfoList.add((ContactInfo) SmsSendSelectPersonActivity.this.contactInfoList.get(i));
} else {
((ContactInfo) SmsSendSelectPersonActivity.this.contactInfoList.get(i)).isSelect = false;
String phoneNumber = ((ContactInfo) SmsSendSelectPersonActivity.this.contactInfoList.get(i)).getPhoneNumber();
Iterator it = SmsSendSelectPersonActivity.this.selectContactInfoList.iterator();
while (true) {
if (!it.hasNext()) {
break;
}
ContactInfo contactInfo3 = (ContactInfo) it.next();
if (contactInfo3.getPhoneNumber().equals(phoneNumber)) {
SmsSendSelectPersonActivity.this.selectContactInfoList.remove(contactInfo3);
break;
}
}
}
SmsSendSelectPersonActivity.this.mSmsAdapter.notifyDataSetChanged();
SmsSendSelectPersonActivity.this.setAllSelectImg();
}
});
if (this.contactInfoList.size() <= 0) {
this.sms_ll_empty.setVisibility(0);
this.sms_ll_empty_tip.setText("通讯录暂无联系人,请添加联系人后再导入~");
} else {
this.sms_ll_empty.setVisibility(8);
}
query.close();
}
}
query2.close();
return;
}
if (this.contactInfoList.size() <= 0) {
this.sms_ll_empty.setVisibility(0);
this.sms_ll_empty_tip.setText("通讯录暂无联系人,请添加联系人后再导入~");
} else {
this.sms_ll_empty.setVisibility(8);
}
}
public void setAllSelectImg() {
this.sms_all_select.setSelected(this.selectContactInfoList.size() == this.contactInfoList.size());
}
}