package com.fuying.sn.adapter; import android.content.Context; 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 androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.fuying.sn.R; import com.fuying.sn.bean.PartTime; import com.fuying.sn.config.CommonConfig; import com.fuying.sn.data.model.AppControlDetail; import com.fuying.sn.utils.GlideLoadUtils; import com.fuying.sn.utils.TimeUtils; import com.tencent.mmkv.MMKV; import java.util.List; public class AppControlDetailAdapter extends RecyclerView.Adapter { private static final String TAG = "DesktopItemAdapter"; private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE); private Context mContext; private List mAppTimeControlInfos; public void setAppTimeControlInfos(List appTimeControlInfos) { mAppTimeControlInfos = appTimeControlInfos; notifyDataSetChanged(); } @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { mContext = parent.getContext(); return new ViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_app_time_detail, parent, false)); } @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { AppControlDetail appControlDetail = mAppTimeControlInfos.get(position); holder.tv_name.setText(appControlDetail.getApp_name()); GlideLoadUtils.getInstance().glideLoad(mContext, appControlDetail.getApp_img(), holder.iv_icon, R.mipmap.ic_launcher); if (appControlDetail.getIs_control() == 0) { holder.tv_type.setText("禁用"); holder.tv_type.setBackground(mContext.getResources().getDrawable(R.drawable.tv_time_disable_background)); holder.tv_today_time.setText(""); holder.tv_remaining_time.setVisibility(View.GONE); } else { holder.tv_today_time.setText(""); holder.tv_remaining_time.setVisibility(View.GONE); switch (appControlDetail.getControl_type()) { case 0: holder.tv_type.setText("不限制"); holder.tv_type.setBackground(mContext.getResources().getDrawable(R.drawable.tv_time_unlimited_background)); break; case 1: holder.tv_type.setText("限制时长"); holder.tv_type.setBackground(mContext.getResources().getDrawable(R.drawable.tv_time_duration_background)); holder.tv_today_time.setText("每天" + TimeUtils.formatTime(appControlDetail.getToday_time_total())); holder.tv_remaining_time.setText("剩余" + TimeUtils.formatTime(appControlDetail.getRemaining_time())); holder.tv_remaining_time.setVisibility(View.VISIBLE); break; case 2: holder.tv_type.setText("限制时间段"); holder.tv_type.setBackground(mContext.getResources().getDrawable(R.drawable.tv_time_period_background)); holder.tv_today_time.setText(TimeUtils.getPartTimeString(appControlDetail)); break; default: holder.tv_type.setText("禁用"); holder.tv_type.setBackground(mContext.getResources().getDrawable(R.drawable.tv_time_disable_background)); } } } @Override public int getItemCount() { return mAppTimeControlInfos == null ? 0 : mAppTimeControlInfos.size(); } public class ViewHolder extends RecyclerView.ViewHolder { ImageView iv_icon; TextView tv_name, tv_type, tv_today_time, tv_remaining_time; public ViewHolder(View itemView) { super(itemView); iv_icon = itemView.findViewById(R.id.iv_icon); tv_name = itemView.findViewById(R.id.tv_name); tv_type = itemView.findViewById(R.id.tv_type); tv_today_time = itemView.findViewById(R.id.tv_today_time); tv_remaining_time = itemView.findViewById(R.id.tv_remaining_time); } } }