101 lines
4.3 KiB
Java
101 lines
4.3 KiB
Java
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<AppControlDetailAdapter.ViewHolder> {
|
|
private static final String TAG = "DesktopItemAdapter";
|
|
|
|
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
|
|
private Context mContext;
|
|
|
|
private List<AppControlDetail> mAppTimeControlInfos;
|
|
|
|
public void setAppTimeControlInfos(List<AppControlDetail> 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);
|
|
}
|
|
}
|
|
} |