Files
FLYSN/app/src/main/java/com/fuying/sn/adapter/AppControlDetailAdapter.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);
}
}
}