Files
VscoolOS/app/src/main/java/com/vscool/os/adapter/WechatContactAdapter.java
tongtongstudio 7582d6ad94 version:1.0.0
fix:
update:更换包名,修改样式
2025-01-03 09:56:24 +08:00

146 lines
5.4 KiB
Java

package com.vscool.os.adapter;
import android.content.Context;
import android.content.Intent;
import android.provider.Settings;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.shehuan.niv.NiceImageView;
import com.vscool.os.R;
import com.vscool.os.activity.callwechat.CallWechatActivity;
import com.vscool.os.activity.contact.AddContactActivity;
import com.vscool.os.bean.Contact;
import com.vscool.os.utils.AccessibilityUtils;
import java.util.List;
public class WechatContactAdapter extends RecyclerView.Adapter<WechatContactAdapter.ContactHolder> {
private static final String TAG = "WechatContactAdapter";
private List<Contact> mContactList;
private Context mContext;
public static final String DIALER_PACKAGE = "com.android.dialer";
public static final String DIALER_ADD_CONTACT = "com.uiui.aios.contact.add";
public void setContactList(List<Contact> contactList) {
this.mContactList = contactList;
notifyDataSetChanged();
}
private OnLongClick mOnLongClick;
public void setOnLongClick(OnLongClick onLongClick) {
mOnLongClick = onLongClick;
}
public interface OnLongClick {
void setOnLongClickListener(Contact contact);
}
@NonNull
@Override
public ContactHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
mContext = parent.getContext();
return new ContactHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_contact_wechat, parent, false));
}
@Override
public void onBindViewHolder(@NonNull ContactHolder contactHolder, int position) {
Contact contact = mContactList.get(position);
contactHolder.tv_name.setText(contact.getName());
contactHolder.tv_phone.setText(contact.getMobile());
Glide.with(contactHolder.iv_head).load(contact.getAvatar()).override(200, 200).error(R.drawable.default_avatar).into(contactHolder.iv_head);
// switch (position % 6) {
// case 0:
// contactHolder.iv_bg.setImageDrawable(mContext.getDrawable(R.drawable.contact_card_backround1));
// break;
// case 1:
// contactHolder.iv_bg.setImageDrawable(mContext.getDrawable(R.drawable.contact_card_backround2));
// break;
// case 2:
// contactHolder.iv_bg.setImageDrawable(mContext.getDrawable(R.drawable.contact_card_backround3));
// break;
// case 3:
// contactHolder.iv_bg.setImageDrawable(mContext.getDrawable(R.drawable.contact_card_backround4));
// break;
// case 4:
// contactHolder.iv_bg.setImageDrawable(mContext.getDrawable(R.drawable.contact_card_backround5));
// break;
// case 5:
// contactHolder.iv_bg.setImageDrawable(mContext.getDrawable(R.drawable.contact_card_backround6));
// break;
// default:
// contactHolder.iv_bg.setImageDrawable(mContext.getDrawable(R.drawable.contact_card_backround1));
// }
contactHolder.root.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if ("未设置".equals(contact.getName())) {
Intent intent = new Intent(mContext, AddContactActivity.class);
mContext.startActivity(intent);
} else {
Intent intent = new Intent(mContext, CallWechatActivity.class);
intent.putExtra("WechatInfo", contact);
mContext.startActivity(intent);
}
}
});
contactHolder.root.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
if (mOnLongClick != null) {
mOnLongClick.setOnLongClickListener(contact);
}
return false;
}
});
}
private void checkAccessibility() {
if (!AccessibilityUtils.isAccessibilitySettingsOn(mContext)) {
Toast.makeText(mContext, "请在无障碍服务中打开 - 关爱守护快捷服务", Toast.LENGTH_LONG).show();
mContext.startActivity(new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS));
} else {
Log.e(TAG, "checkAccessibility: 无障碍服务已打开");
}
}
@Override
public int getItemCount() {
return mContactList == null ? 0 : mContactList.size();
}
static class ContactHolder extends RecyclerView.ViewHolder {
ConstraintLayout root;
NiceImageView iv_head;
TextView tv_name;
TextView tv_phone;
ImageView iv_bg;
public ContactHolder(@NonNull View itemView) {
super(itemView);
root = itemView.findViewById(R.id.root);
iv_head = itemView.findViewById(R.id.iv_head);
tv_name = itemView.findViewById(R.id.tv_name);
tv_phone = itemView.findViewById(R.id.tv_phone);
iv_bg = itemView.findViewById(R.id.iv_bg);
}
}
}