package etelligens.com.foodsafety.adapter; import android.content.Context; import android.graphics.Color; import android.graphics.Typeface; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import org.json.JSONException; import org.json.JSONObject; import java.net.URLDecoder; import java.util.ArrayList; import etelligens.com.foodsafety.R; import etelligens.com.foodsafety.model.GrabAndGoSubLabelsModel; public class AddGoGrabLineBackendAdapter extends RecyclerView.Adapter { Context context; ArrayList grabAndGoSubLabelsModels; PassData passData; ArrayList ss = new ArrayList<>(); int count = 0; public interface PassData { void sendData(); void nameItem(GrabAndGoSubLabelsModel grabAndGoSubLabelsModel, int count); } public AddGoGrabLineBackendAdapter(Context context, ArrayList grabAndGoSubLabelsModels, PassData passData) { this.context = context; this.grabAndGoSubLabelsModels = grabAndGoSubLabelsModels; this.passData = passData; } View view; @NonNull @Override public AddGoGrabLineBackendAdapter.AddGoViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int i) { view = LayoutInflater.from(context).inflate(R.layout.item_layout_go_grab, parent, false); return new AddGoViewHolder(view); } @Override public void onBindViewHolder(@NonNull final AddGoGrabLineBackendAdapter.AddGoViewHolder holder, final int position) { final GrabAndGoSubLabelsModel model = grabAndGoSubLabelsModels.get(position); final String name = model.getName(); String parentIds = String.valueOf(model.getParent_id()); Log.e("parentId=== ", parentIds); if (parentIds.equals("4")) { holder.percetLayout.setVisibility(View.GONE); } if (model.getIs_head() == 1) { holder.percetLayout.setVisibility(View.GONE); holder.secondLayout.setVisibility(View.GONE); } if (name != null) { if (name.equalsIgnoreCase(context.getString(R.string.nutrition_fact))) { holder.txtOne.setTextColor(Color.BLACK); holder.txtOne.setTextSize(14); Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD); holder.txtOne.setTypeface(boldTypeface); holder.txtOne.setText(name); holder.txtTwo.setVisibility(View.GONE); holder.txtThree.setVisibility(View.GONE); holder.percetLayout.setVisibility(View.GONE); } else if (name.equalsIgnoreCase(context.getString(R.string.daily_value))) { holder.txtOne.setTextColor(Color.BLACK); holder.txtOne.setTextSize(0); Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD); holder.txtOne.setTypeface(boldTypeface); holder.txtOne.setText(""); } else if (name.equalsIgnoreCase(context.getString(R.string.total_fat))) { holder.txtOne.setTextColor(Color.BLACK); holder.txtOne.setTextSize(14); Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD); holder.txtOne.setTypeface(boldTypeface); holder.txtOne.setText(name); } else if (name.equalsIgnoreCase(context.getString(R.string.sodium))) { holder.txtOne.setTextColor(Color.BLACK); holder.txtOne.setTextSize(14); Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD); holder.txtOne.setTypeface(boldTypeface); holder.txtOne.setText(name); } else if (name.equalsIgnoreCase(context.getString(R.string.carbohydrate))) { holder.txtOne.setTextColor(Color.BLACK); holder.txtOne.setTextSize(14); Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD); holder.txtOne.setTypeface(boldTypeface); holder.txtOne.setText(name); } else if (name.equalsIgnoreCase(context.getString(R.string.protein))) { holder.txtOne.setTextColor(Color.BLACK); holder.txtOne.setTextSize(14); Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD); holder.txtOne.setTypeface(boldTypeface); holder.txtOne.setText(name); } else if (name.equalsIgnoreCase(context.getString(R.string.calories))) { holder.txtOne.setTextColor(Color.BLACK); holder.txtOne.setTextSize(14); Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD); holder.txtOne.setTypeface(boldTypeface); holder.txtOne.setText(name); holder.percetLayout.setVisibility(View.GONE); } else if (name.equalsIgnoreCase(context.getString(R.string.cholesterol))) { holder.txtOne.setTextColor(Color.BLACK); holder.txtOne.setTextSize(14); Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD); holder.txtOne.setTypeface(boldTypeface); holder.txtOne.setText(name); }else if (name.equalsIgnoreCase(context.getString(R.string.total_carbo))) { holder.txtOne.setTextColor(Color.BLACK); holder.txtOne.setTextSize(14); Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD); holder.txtOne.setTypeface(boldTypeface); holder.txtOne.setText(name); } holder.txtOne.setText(name); System.out.println(name + " ....name"); } if (model.getOption_value() != null) { String value = model.getOption_value().getValue(); if (value != null) { try { JSONObject obj = new JSONObject(value); System.out.println(obj.toString() + " ..............lllll"); String uDay = obj.getString("0"); String uHr = obj.getString("1"); String newValue=String.valueOf(decodeString(uDay)); if (newValue!=null){ holder.txtTwo.setText(newValue); model.setValue(newValue); }else { holder.txtTwo.setText("0"); model.setValue("0"); } holder.txtThree.setText(uHr); model.setPercent(uHr); } catch (JSONException e) { e.printStackTrace(); } } } if (model.getIs_list() != 0) { holder.crossbtn.setVisibility(View.GONE); } else { holder.crossbtn.setVisibility(View.VISIBLE); } if (model.getValue() != null) { String value = model.getValue(); if (value!=null){ holder.txtTwo.setText(value); }else { holder.txtTwo.setText("0"); } } if (model.getPercent() != null) { String per = model.getPercent(); holder.txtThree.setText(per + "%"); } holder.txtOne.setOnClickListener(v -> { if (name != null && !name.equalsIgnoreCase(context.getString(R.string.nutrition_fact))) { if (!name.equalsIgnoreCase(context.getString(R.string.total_fat))) { if (!name.equalsIgnoreCase(context.getString(R.string.sodium))) { if (!name.equalsIgnoreCase(context.getString(R.string.carbohydrate))) { if (!name.equalsIgnoreCase(context.getString(R.string.protein))) { if (!name.equalsIgnoreCase(context.getString(R.string.daily_value))) { if (!name.equalsIgnoreCase(context.getString(R.string.total_carbo))) { if (!name.equalsIgnoreCase(context.getString(R.string.cholesterol))) { if (!name.equalsIgnoreCase(context.getString(R.string.calories))) { passData.nameItem(model, 1); } } } } } } } } } }); holder.txtTwo.setOnClickListener(v -> { System.out.println("chck2222"); passData.nameItem(model, 2); }); holder.txtThree.setOnClickListener(v -> { System.out.println("chck333"); passData.nameItem(model, 3); }); holder.crossbtn.setOnClickListener(v -> { grabAndGoSubLabelsModels.remove(position); notifyDataSetChanged(); }); } private String decodeString(String decodeValue) { String value= URLDecoder.decode(decodeValue); return value; } @Override public int getItemCount() { return grabAndGoSubLabelsModels.size(); } public class AddGoViewHolder extends RecyclerView.ViewHolder { TextView txtOne, txtTwo, txtThree; LinearLayout llremovelayout, lllable, percetLayout, secondLayout; ImageView crossbtn; public AddGoViewHolder(View itemveiw) { super(itemveiw); crossbtn = itemveiw.findViewById(R.id.cross_btn); llremovelayout = itemveiw.findViewById(R.id.ll_lable); lllable = itemveiw.findViewById(R.id.llremove_layout); txtOne = itemveiw.findViewById(R.id.txt_one); txtTwo = itemveiw.findViewById(R.id.txt_two); txtThree = itemveiw.findViewById(R.id.txt_three); percetLayout = itemveiw.findViewById(R.id.percetLayout); secondLayout = itemveiw.findViewById(R.id.secondLayout); } } }