导航菜单

页面标题

页面副标题

微商客 v2.1.2 - SmsSendSelectPersonActivity.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());
    }
}