version:1.0.0
fix: update:更换包名,修改样式
This commit is contained in:
@@ -0,0 +1,145 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user