/*
* Copyright (C) 2013 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use getActivity() file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.eugene.fithealthmaingit.UI;
import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.Toolbar;
import android.text.InputType;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.Spinner;
import android.widget.TextView;
import com.eugene.fithealthmaingit.Databases_Adapters_ListViews.CalSQLiteDatabase.DailyCalorieAdapter;
import com.eugene.fithealthmaingit.Databases_Adapters_ListViews.CalSQLiteDatabase.DailyCalorieIntake;
import com.eugene.fithealthmaingit.Databases_Adapters_ListViews.CalSQLiteDatabase.DatabaseHandler;
import com.eugene.fithealthmaingit.Databases_Adapters_ListViews.FoodManual.LogAdapterManual;
import com.eugene.fithealthmaingit.Databases_Adapters_ListViews.FoodManual.LogManual;
import com.eugene.fithealthmaingit.Databases_Adapters_ListViews.LogFood.LogAdapterAll;
import com.eugene.fithealthmaingit.Databases_Adapters_ListViews.LogFood.LogAdapterPrevention;
import com.eugene.fithealthmaingit.Databases_Adapters_ListViews.LogFood.LogMeal;
import com.eugene.fithealthmaingit.FatSecretSearchAndGet.FatSecretGetMethod;
import com.eugene.fithealthmaingit.R;
import com.eugene.fithealthmaingit.Utilities.DateCompare;
import com.eugene.fithealthmaingit.Utilities.Globals;
import com.eugene.fithealthmaingit.Utilities.OrderFormat;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class ManualEntrySaveMealFragment extends Fragment {
DecimalFormat df = new DecimalFormat("0.0");
DecimalFormat dfW = new DecimalFormat("0");
// Widgets
private Toolbar mToolbar;
private TextView mViewSevingSize;
private TextView mServingg;
private TextView mAmountPerServing;
private TextView mServingSizeUpdated;
private TextView mFoodCal;
private TextView mCalUpdate;
private TextView mViewFat1;
private TextView mFattieUpdate;
private TextView mViewSaturatedFat;
private TextView mSaturatedFatUpdate;
private TextView mViewCholesterol;
private TextView mCholesterolUpdate;
private TextView mViewSodium;
private TextView mSodiumUpdate;
private TextView mViewCarbs1;
private TextView mCarbUpdate;
private TextView mViewFiber;
private TextView mFiberUpdate;
private TextView mViewSugar;
private TextView mSugarUpdate;
private TextView mViewProtien1;
private TextView mProUpdate;
private TextView mViewVitA;
private TextView mVitAUpdate;
private TextView mViewVitC;
private TextView mVitCUpdate;
private TextView mViewCalcium;
private TextView mCalciumUpdate;
private TextView mViewIron;
private TextView mIronUpdate;
private ProgressBar mPbCal;
private ProgressBar mPbFat;
private ProgressBar mPbCarb;
private ProgressBar mPbPro;
private Spinner mSpnServings;
private LinearLayout llVitA,
llVitC,
llCalcium,
llIron,
llCalories,
llFat,
llSat,
llCholesterol,
llSodium,
llCarbs,
llFiber,
llSugars,
llProtein;
private View vVitA, vVitC, vCalcium, vIron, vFat,
vSat,
vCholesterol,
vSodium,
vCarbs,
vFiber,
vSugar,
vPro;
private LogAdapterPrevention mLogAdapterAll;
// FatSecret method.get
private FatSecretGetMethod mFatSecretGet;
String arrayOrJson;
// Inflate view
private View v;
String mealType;
String food_id;
private ArrayList<String> mItem;
ArrayAdapter<String> servingAdapter;
SharedPreferences sharedPreferences;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
v = inflater.inflate(R.layout.fragment_add_saved_manual_entry, container, false);
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
Bundle extras = getActivity().getIntent().getExtras();
if (extras != null) {
mealType = extras.getString(Globals.MEAL_TYPE);
food_id = extras.getString(Globals.MEAL_ID);
}
setAdapter(new Date());
findViewsById();
getFood(food_id);
return v;
}
//Declare a int member variable and initialize to 0 (at the top of your class)
private int mLastSpinnerPosition = 0;
private void findViewsById() {
mLogAdapterAll = new LogAdapterPrevention(getActivity(), 0, LogMeal.logsByDate(new Date()));
mFatSecretGet = new FatSecretGetMethod(); // method.get
mToolbar = (Toolbar) v.findViewById(R.id.toolbar);
mViewSevingSize = (TextView) v.findViewById(R.id.viewSevingSize);
mServingg = (TextView) v.findViewById(R.id.servingg);
mServingg.setText("1");
mAmountPerServing = (TextView) v.findViewById(R.id.amountPerServing);
mServingSizeUpdated = (TextView) v.findViewById(R.id.servingSizeUpdated);
mFoodCal = (TextView) v.findViewById(R.id.foodCal);
mCalUpdate = (TextView) v.findViewById(R.id.calUpdate);
mViewFat1 = (TextView) v.findViewById(R.id.viewFat1);
mFattieUpdate = (TextView) v.findViewById(R.id.fattieUpdate);
mViewSaturatedFat = (TextView) v.findViewById(R.id.viewSaturatedFat);
mSaturatedFatUpdate = (TextView) v.findViewById(R.id.saturatedFatUpdate);
mViewCholesterol = (TextView) v.findViewById(R.id.viewCholesterol);
mCholesterolUpdate = (TextView) v.findViewById(R.id.cholesterolUpdate);
mViewSodium = (TextView) v.findViewById(R.id.viewSodium);
mSodiumUpdate = (TextView) v.findViewById(R.id.sodiumUpdate);
mViewCarbs1 = (TextView) v.findViewById(R.id.viewCarbs1);
mCarbUpdate = (TextView) v.findViewById(R.id.carbUpdate);
mViewFiber = (TextView) v.findViewById(R.id.viewFiber);
mFiberUpdate = (TextView) v.findViewById(R.id.fiberUpdate);
mViewSugar = (TextView) v.findViewById(R.id.viewSugar);
mSugarUpdate = (TextView) v.findViewById(R.id.sugarUpdate);
mViewProtien1 = (TextView) v.findViewById(R.id.viewProtien1);
mProUpdate = (TextView) v.findViewById(R.id.proUpdate);
mViewVitA = (TextView) v.findViewById(R.id.viewVitA);
mVitAUpdate = (TextView) v.findViewById(R.id.vitAUpdate);
mViewVitC = (TextView) v.findViewById(R.id.viewVitC);
mVitCUpdate = (TextView) v.findViewById(R.id.vitCUpdate);
mViewCalcium = (TextView) v.findViewById(R.id.viewCalcium);
mCalciumUpdate = (TextView) v.findViewById(R.id.calciumUpdate);
mViewIron = (TextView) v.findViewById(R.id.viewIron);
mIronUpdate = (TextView) v.findViewById(R.id.ironUpdate);
mPbCal = (ProgressBar) v.findViewById(R.id.pbCal);
mPbFat = (ProgressBar) v.findViewById(R.id.pbFat);
mPbCarb = (ProgressBar) v.findViewById(R.id.pbCarb);
mPbPro = (ProgressBar) v.findViewById(R.id.pbPro);
mItem = new ArrayList<>();
servingAdapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_list_item_1, mItem);
llVitA = (LinearLayout) v.findViewById(R.id.llVitA);
llVitC = (LinearLayout) v.findViewById(R.id.llVitC);
llCalcium = (LinearLayout) v.findViewById(R.id.llCalcium);
llIron = (LinearLayout) v.findViewById(R.id.llIron);
llCalories = (LinearLayout) v.findViewById(R.id.llCalories);
llFat = (LinearLayout) v.findViewById(R.id.llFat);
llSat = (LinearLayout) v.findViewById(R.id.llSat);
llCholesterol = (LinearLayout) v.findViewById(R.id.llCholesterol);
llSodium = (LinearLayout) v.findViewById(R.id.llSodium);
llCarbs = (LinearLayout) v.findViewById(R.id.llCarbs);
llFiber = (LinearLayout) v.findViewById(R.id.llFiber);
llSugars = (LinearLayout) v.findViewById(R.id.llSugars);
llProtein = (LinearLayout) v.findViewById(R.id.llProtein);
vVitA = v.findViewById(R.id.vVitA);
vVitC = v.findViewById(R.id.vVitC);
vCalcium = v.findViewById(R.id.vCalcium);
vIron = v.findViewById(R.id.vIron);
vFat = v.findViewById(R.id.vFat);
vSat = v.findViewById(R.id.vSat);
vCholesterol = v.findViewById(R.id.vCholesterol);
vSodium = v.findViewById(R.id.vSodium);
vCarbs = v.findViewById(R.id.vCarbs);
vFiber = v.findViewById(R.id.vFiber);
vSugar = v.findViewById(R.id.vSugar);
vPro = v.findViewById(R.id.vPro);
updateItems();
}
double mCalorieProgress = 0;
double mFatProgress = 0;
double mCarbProgress = 0;
double mProteinProgress = 0;
private void progressBars() {
// Nutrition Goals
double mCalorieGoal = Double.valueOf(sharedPreferences.getString(Globals.USER_CALORIES_TO_REACH_GOAL, ""));
double mFatGoal = Double.valueOf(sharedPreferences.getString(Globals.USER_DAILY_FAT, ""));
double mCarbGoal = Double.valueOf(sharedPreferences.getString(Globals.USER_DAILY_CARBOHYDRATES, ""));
double mProteinGoal = Double.valueOf(sharedPreferences.getString(Globals.USER_DAILY_PROTEIN, ""));
double mAllCaloriesConsumed = 0;
double mAllFatConsumed = 0;
double mAllCarbsConsumed = 0;
double mAllProteinConsumed = 0;
for (LogMeal logMeal : mLogAdapterAll.getLogs()) {
mAllCaloriesConsumed += logMeal.getCalorieCount();
mAllFatConsumed += logMeal.getFatCount();
mAllCarbsConsumed += logMeal.getCarbCount();
mAllProteinConsumed += logMeal.getProteinCount();
}
// mPbCal, mPbFat, mPbCarb, mPbPro
mPbCal.setMax(Integer.valueOf(dfW.format(mCalorieGoal)));
mPbCal.setProgress(Integer.valueOf(dfW.format(mAllCaloriesConsumed)) + Integer.valueOf(dfW.format(mCalorieProgress)));
mPbCal.setSecondaryProgress(Integer.valueOf(dfW.format(mAllCaloriesConsumed)));
mPbFat.setMax(Integer.valueOf(dfW.format(mFatGoal)));
mPbFat.setProgress(Integer.valueOf(dfW.format(mAllFatConsumed)) + Integer.valueOf(dfW.format(mFatProgress)));
mPbFat.setSecondaryProgress(Integer.valueOf(dfW.format(mAllFatConsumed)));
mPbCarb.setMax(Integer.valueOf(dfW.format(mCarbGoal)));
mPbCarb.setProgress(Integer.valueOf(dfW.format(mAllCarbsConsumed)) + Integer.valueOf(dfW.format(mCarbProgress)));
mPbCarb.setSecondaryProgress(Integer.valueOf(dfW.format(mAllCarbsConsumed)));
mPbPro.setMax(Integer.valueOf(dfW.format(mProteinGoal)));
mPbPro.setProgress(Integer.valueOf(dfW.format(mAllProteinConsumed)) + Integer.valueOf(dfW.format(mProteinProgress)));
mPbPro.setSecondaryProgress(Integer.valueOf(dfW.format(mAllProteinConsumed)));
}
private void updateItems() {
mToolbar.setNavigationIcon(R.mipmap.ic_arrow_back);
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), ChooseAddMealActivity.class);
intent.putExtra(Globals.MEAL_TYPE, mealType);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
});
mToolbar.inflateMenu(R.menu.menu_user_info);
mToolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
if (menuItem.getItemId() == R.id.action_save)
saveMeal();
return false;
}
});
mServingSizeUpdated.setText("1");
LinearLayout changeServing = (LinearLayout) v.findViewById(R.id.changeServing);
changeServing.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
alert.setTitle("Update Serving Size: ");
alert.setMessage("Servings Consumed");
final EditText input = new EditText(getActivity());
input.setText(mServingg.getText().toString());
input.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
input.selectAll();
input.setGravity(Gravity.CENTER_HORIZONTAL);
alert.setView(input, 64, 0, 64, 0);
alert.setPositiveButton("Update", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
double values = Double.valueOf(input.getText().toString());
mServingg.setText(df.format(values));
mServingSizeUpdated.setText(df.format(values));
mCalUpdate.setText(dfW.format(Double.valueOf(mCalories) * values));
mCalorieProgress = Double.valueOf(mCalories) * values;
mFattieUpdate.setText(df.format(Double.valueOf(mFat) * values));
mFatProgress = Double.valueOf(mFat) * values;
mSaturatedFatUpdate.setText(df.format(Double.valueOf(mSaturatedFat) * values));
mCholesterolUpdate.setText(df.format(Double.valueOf(mCholesterol) * values));
mSodiumUpdate.setText(df.format(Double.valueOf(mSodium) * values));
mCarbUpdate.setText(df.format(Double.valueOf(mCarbohydrates) * values));
mCarbProgress = Double.valueOf(mCarbohydrates) * values;
mFiberUpdate.setText(df.format(Double.valueOf(mFiber) * values));
mSugarUpdate.setText(df.format(Double.valueOf(mSugar) * values));
mProUpdate.setText(df.format(Double.valueOf(mProtein) * values));
mProteinProgress = Double.valueOf(mProtein) * values;
mVitAUpdate.setText(df.format(Double.valueOf(mVitA) * values));
mVitCUpdate.setText(df.format(Double.valueOf(mVitC) * values));
mCalciumUpdate.setText(df.format(Double.valueOf(mCalcium) * values));
mIronUpdate.setText(df.format(Double.valueOf(mIron) * values));
progressBars();
((InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(input.getWindowToken(), 0);
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
((InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(input.getWindowToken(), 0);
}
});
alert.setCancelable(false);
alert.show();
((InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_NOT_ALWAYS);
}
});
}
private String mBrand = null;
private String mFoodName = null;
private String mCalories = null;
private String mCarbohydrates = null;
private String mProtein = null;
private String mFat = null;
private String mSaturatedFat = null;
private String mCholesterol = null;
private String mSodium = null;
private String mFiber = null;
private String mSugar = null;
private String mVitA = null;
private String mVitC = null;
private String mCalcium = null;
private String mIron = null;
private String mServingDescription = null;
private String mNumberUnits = null;
private String servingSize = null;
private void getFood(final String id) {
LogAdapterManual logAdapterManual = new LogAdapterManual(getActivity(), 0, LogManual.logsById(id), mealType);
LogManual logManual = logAdapterManual.getItem(0);
mBrand = logManual.getBrand();
mFoodName = logManual.getMealName();
mCalories = String.valueOf(logManual.getCalorieCount());
mCarbohydrates = String.valueOf(logManual.getCarbCount());
mProtein = String.valueOf(logManual.getProteinCount());
mFat = String.valueOf(logManual.getFatCount());
mSaturatedFat = String.valueOf(logManual.getSaturatedFat());
mCholesterol = String.valueOf(logManual.getCholesterol());
mSodium = String.valueOf(logManual.getSodium());
mFiber = String.valueOf(logManual.getFiber());
mSugar = String.valueOf(logManual.getSugars());
mVitA = String.valueOf(logManual.getVitA());
mVitC = String.valueOf(logManual.getVitC());
mCalcium = String.valueOf(logManual.getCalcium());
mIron = String.valueOf(logManual.getIron());
mServingDescription = String.valueOf(logManual.getMealServing());
mNumberUnits = String.valueOf(1);
setItems();
}
private void setItems() {
TextView foodTitle = (TextView) v.findViewById(R.id.foodTitle);
foodTitle.setText(mFoodName);
mAmountPerServing.setText(mNumberUnits);
mFoodCal.setText(mCalories);
mViewFat1.setText(mFat);
mViewSaturatedFat.setText(mSaturatedFat);
mViewCholesterol.setText(mCholesterol);
mViewSodium.setText(mSodium);
mViewCarbs1.setText(mCarbohydrates);
mViewFiber.setText(mFiber);
mViewSugar.setText(mSugar);
mViewProtien1.setText(mProtein);
mViewVitA.setText(mVitA);
mViewVitC.setText(mVitC);
mViewCalcium.setText(mCalcium);
mViewIron.setText(mIron);
// Updated Values
mCalUpdate.setText(mCalories);
mCalorieProgress = Double.valueOf(mCalories);
mFattieUpdate.setText(mFat);
mFatProgress = Double.valueOf(mFat);
mSaturatedFatUpdate.setText(mSaturatedFat);
mCholesterolUpdate.setText(mCholesterol);
mSodiumUpdate.setText(mSodium);
mCarbUpdate.setText(mCarbohydrates);
mCarbProgress = Double.valueOf(mCarbohydrates);
mFiberUpdate.setText(mFiber);
mSugarUpdate.setText(mSugar);
mProUpdate.setText(mProtein);
mProteinProgress = Double.valueOf(mProtein);
mVitAUpdate.setText(mVitA);
mVitCUpdate.setText(mVitC);
mCalciumUpdate.setText(mCalcium);
mIronUpdate.setText(mIron);
mViewSevingSize.setText("1 " + mServingDescription);
progressBars();
/**
* Check to see if any variables are null
* If so set their view gone, and set their value to zero
*/
if (mCalories == null) {
llCalories.setVisibility(View.GONE);
mCalories = "0";
}
if (mFat == null) {
llFat.setVisibility(View.GONE);
vFat.setVisibility(View.GONE);
mFat = "0";
}
if (mSaturatedFat == "0.0") {
llSat.setVisibility(View.GONE);
vSat.setVisibility(View.GONE);
mSaturatedFat = "0";
}
if (mCholesterol == "0.0") {
mCholesterol = "0";
llCholesterol.setVisibility(View.GONE);
vCholesterol.setVisibility(View.GONE);
}
if (mSodium == "0.0") {
llSodium.setVisibility(View.GONE);
vSodium.setVisibility(View.GONE);
mSodium = "0";
}
if (mCarbohydrates == null) {
llCarbs.setVisibility(View.GONE);
vCarbs.setVisibility(View.GONE);
mCarbohydrates = "0";
}
if (mFiber == "0.0") {
mFiber = "0";
llFiber.setVisibility(View.GONE);
vFiber.setVisibility(View.GONE);
}
if (mSugar == "0.0") {
llSugars.setVisibility(View.GONE);
vSugar.setVisibility(View.GONE);
mSugar = "0";
}
if (mProtein == null) {
mProtein = "0";
llProtein.setVisibility(View.GONE);
vPro.setVisibility(View.GONE);
}
if (mVitA == "0.0") {
llVitA.setVisibility(View.GONE);
vVitA.setVisibility(View.GONE);
mVitA = "0";
}
if (mVitC == "0.0") {
llVitC.setVisibility(View.GONE);
vVitC.setVisibility(View.GONE);
mVitC = "0";
}
if (mCalcium == "0.0") {
llCalcium.setVisibility(View.GONE);
vCalcium.setVisibility(View.GONE);
mCalcium = "0";
}
if (mIron == "0.0") {
mIron = "0";
llIron.setVisibility(View.GONE);
vIron.setVisibility(View.GONE);
}
}
private void saveMeal() {
LogMeal logMeals = new LogMeal();
logMeals.setMealId(food_id);
logMeals.setMealChoice(mealType);
logMeals.setMealName(mFoodName);
if (llCalories.getVisibility() == View.VISIBLE)
logMeals.setCalorieCount(Double.valueOf(mCalUpdate.getText().toString()));
if (llFat.getVisibility() == View.VISIBLE)
logMeals.setFatCount(Double.valueOf(mFattieUpdate.getText().toString()));
if (llSat.getVisibility() == View.VISIBLE)
logMeals.setSaturatedFat(Double.valueOf(mSaturatedFatUpdate.getText().toString()));
if (llCholesterol.getVisibility() == View.VISIBLE)
logMeals.setCholesterol(Double.valueOf(mCholesterolUpdate.getText().toString()));
if (llSodium.getVisibility() == View.VISIBLE)
logMeals.setSodium(Double.valueOf(mSodiumUpdate.getText().toString()));
if (llCarbs.getVisibility() == View.VISIBLE)
logMeals.setCarbCount(Double.valueOf(mCarbUpdate.getText().toString()));
if (llFiber.getVisibility() == View.VISIBLE)
logMeals.setFiber(Double.valueOf(mFiberUpdate.getText().toString()));
if (llSugars.getVisibility() == View.VISIBLE)
logMeals.setSugars(Double.valueOf(mSugarUpdate.getText().toString()));
if (llProtein.getVisibility() == View.VISIBLE)
logMeals.setProteinCount(Double.valueOf(mProUpdate.getText().toString()));
if (llVitC.getVisibility() == View.VISIBLE)
logMeals.setVitA(Double.valueOf(mVitAUpdate.getText().toString()));
if (llVitC.getVisibility() == View.VISIBLE)
logMeals.setVitC(Double.valueOf(mVitCUpdate.getText().toString()));
if (llCalcium.getVisibility() == View.VISIBLE)
logMeals.setCalcium(Double.valueOf(mCalciumUpdate.getText().toString()));
if (llIron.getVisibility() == View.VISIBLE)
logMeals.setIron(Double.valueOf(mIronUpdate.getText().toString()));
logMeals.setManualEntry("false");
logMeals.setBrand(mBrand);
logMeals.setServingSize(Double.valueOf(mServingg.getText().toString()));
logMeals.setMealServing("Serving");
logMeals.setDate(new Date());
logMeals.setOrderFormat(OrderFormat.setMealFormat(mealType));
logMeals.save();
testing();
mCallbacks.fromFragment();
}
private DatabaseHandler db;
List<DailyCalorieIntake> dailyCalorieIntakes;
private DailyCalorieAdapter dailyCalorieAdapter;
private void testing() {
LogAdapterAll logAdapterAll = new LogAdapterAll(getActivity(), 0, LogMeal.logsByDate(new Date()));
if (dailyCalorieIntakes.size() > 0) {
double caloriesUpdate = 0;
for (LogMeal logMeal1 : logAdapterAll.getLogs()) {
caloriesUpdate += logMeal1.getCalorieCount();
}
DailyCalorieIntake c = dailyCalorieAdapter.getItem(0);
c.setCalorieIntake(caloriesUpdate);
db.updateCalories(c);
} else {
LogMeal logMeal = logAdapterAll.getItem(0);
db.addContact(new DailyCalorieIntake("", logMeal.getCalorieCount(), DateCompare.dateToString(new Date())));
}
}
private void setAdapter(Date newDate) {
db = new DatabaseHandler(getActivity());
String date = DateCompare.dateToString(newDate); // Convert date to string
dailyCalorieIntakes = db.getContactsByDate(date); // filter by string
dailyCalorieAdapter = new DailyCalorieAdapter(getActivity(), 0, dailyCalorieIntakes);
if (dailyCalorieIntakes.size() > 0) {
DailyCalorieIntake c = dailyCalorieAdapter.getItem(0);
}
}
/**
* Interface to transfer data to MainActivity
*/
private FragmentCallbacks mCallbacks;
public interface FragmentCallbacks {
void fromFragment();
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mCallbacks = (FragmentCallbacks) activity;
} catch (ClassCastException e) {
throw new ClassCastException("Activity must implement Fragment Three.");
}
}
}