package com.eugene.fithealthmaingit.Databases_Adapters_ListViews.LogFood;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView;
import com.eugene.fithealthmaingit.R;
import com.eugene.fithealthmaingit.TestingActvity;
import java.text.DecimalFormat;
import java.util.Date;
import java.util.List;
public class LogAdapterTesting extends ArrayAdapter<LogMeal> {
private static LogAdapterTesting instance;
Context mContext;
public static List<LogMeal> mLogs;
public LogAdapterTesting(Context context, int textViewResourceId, List<LogMeal> logs) {
super(context, textViewResourceId);
mContext = context;
mLogs = logs;
}
public void setLogs(List<LogMeal> logs) {
mLogs = logs;
}
public List<LogMeal> getLogs() {
return mLogs;
}
public void add(LogMeal log) {
mLogs.add(log);
}
public void remove(LogMeal log) {
LogAdapterTesting.mLogs.remove(log);
}
public int getCount() {
return mLogs.size();
}
DecimalFormat df = new DecimalFormat("0");
public LogMeal getItem(int position) {
return mLogs.get(position);
}
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.list_testing, null, true);
TextView section = (TextView) view.findViewById(R.id.section);
TextView mealName = (TextView) view.findViewById(R.id.mealName);
TextView calories = (TextView) view.findViewById(R.id.calories);
final CheckBox checkBox = (CheckBox) view.findViewById(R.id.checkBox);
LogAdapterSnack logAdapterSnack = new LogAdapterSnack(mContext, 0, LogMeal.logsByDateSAndMealType(new Date(), "Snack"));
LogAdapterBreakfast logAdapterBreakfast = new LogAdapterBreakfast(mContext, 0, LogMeal.logsByDateSAndMealType(new Date(), "Breakfast"));
LogAdapterLunch logAdapterLunch = new LogAdapterLunch(mContext, 0, LogMeal.logsByDateSAndMealType(new Date(), "Lunch"));
LogAdapterDinner logAdapterDinner = new LogAdapterDinner(mContext, 0, LogMeal.logsByDateSAndMealType(new Date(), "Dinner"));
if (logAdapterSnack.getCount() > 0) {
if (position == 0) {
section.setVisibility(View.VISIBLE);
section.setText("Snack");
}
}
if (logAdapterBreakfast.getCount() > 0) {
int snack = logAdapterSnack.getCount();
if (snack != 0) {
if (position == snack) {
section.setVisibility(View.VISIBLE);
section.setText("Breakfast");
}
} else {
if (position == 0) {
section.setVisibility(View.VISIBLE);
section.setText("Breakfast");
}
}
}
if (logAdapterLunch.getCount() > 0) {
int lunch = logAdapterSnack.getCount() + logAdapterBreakfast.getCount();
if (lunch != 0) {
if (position == lunch) {
section.setVisibility(View.VISIBLE);
section.setText("Lunch");
}
} else {
if (position == 0) {
section.setVisibility(View.VISIBLE);
section.setText("Lunch");
}
}
}
if (logAdapterDinner.getCount() > 0) {
int dinner = logAdapterSnack.getCount() + logAdapterBreakfast.getCount() + logAdapterLunch.getCount();
if (dinner != 0) {
if (position == dinner) {
section.setVisibility(View.VISIBLE);
section.setText("Dinner");
}
} else {
if (position == 0) {
section.setVisibility(View.VISIBLE);
section.setText("Dinner");
}
}
}
mealName.setText(mLogs.get(position).getMealName());
calories.setText(df.format(mLogs.get(position).getCalorieCount()));
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
TestingActvity testingActvity = (TestingActvity) mContext;
testingActvity.AddItem(position, isChecked);
}
});
return view;
}
}