/*
* Copyright (C) 2013 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this 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.Dialogs;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.annotation.NonNull;
import android.support.v4.app.DialogFragment;
import android.view.View;
import android.widget.TextView;
import com.eugene.fithealthmaingit.Databases_Adapters_ListViews.LogFood.LogAdapterAll;
import com.eugene.fithealthmaingit.Databases_Adapters_ListViews.LogFood.LogMeal;
import com.eugene.fithealthmaingit.R;
import com.eugene.fithealthmaingit.Utilities.Globals;
import java.text.DecimalFormat;
import java.util.Date;
public class FragmentSuggestionDialog extends DialogFragment {
public static final String TAG = "suggestion_dialog_fragment";
private View v;
private SharedPreferences sharedPreferences;
private DecimalFormat dfW = new DecimalFormat("0");
private String mMealType;
private Date mDate;
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
Bundle bundle = this.getArguments();
if (bundle != null) {
mMealType = bundle.getString(Globals.MEAL_TYPE);
mDate = (Date) bundle.getSerializable(Globals.SUGGESTION_DATE);
}
v = getActivity().getLayoutInflater().inflate(R.layout.dialog_fragment_suggestion, null);
findViews();
// alert Dialog builder implementation
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(v);
builder.setNegativeButton("Done", null);
return builder.create();
}
private void findViews() {
TextView mMeal = (TextView) v.findViewById(R.id.meal);
mMeal.setText(mMealType + " Suggestion");
double CalorieGoal = Double.valueOf(sharedPreferences.getString(Globals.USER_CALORIES_TO_REACH_GOAL, ""));
double mealCalGOal = CalorieGoal / 4;
double FatGoal = Double.valueOf(sharedPreferences.getString(Globals.USER_DAILY_FAT, ""));
double mealFatGOal = FatGoal / 4;
double CarbGoal = Double.valueOf(sharedPreferences.getString(Globals.USER_DAILY_CARBOHYDRATES, ""));
double mealCarbGOal = CarbGoal / 4;
double ProteinGoal = Double.valueOf(sharedPreferences.getString(Globals.USER_DAILY_PROTEIN, ""));
double mealProGOal = ProteinGoal / 4;
TextView mCalGoal = (TextView) v.findViewById(R.id.calGoal);
mCalGoal.setText(dfW.format(mealCalGOal) + " cal");
TextView mFatGoal = (TextView) v.findViewById(R.id.fatGoal);
mFatGoal.setText(dfW.format(mealFatGOal) + " g");
TextView mCarbGoal = (TextView) v.findViewById(R.id.carbGoal);
mCarbGoal.setText(dfW.format(mealCarbGOal) + " g");
TextView mProGoal = (TextView) v.findViewById(R.id.proGoal);
mProGoal.setText(dfW.format(mealProGOal) + " g");
LogAdapterAll mLogAdapterAll = new LogAdapterAll(getActivity(), 0, LogMeal.logSortByMealChoice(mMealType, mDate));
double AllCaloriesConsumed = 0;
double AllFatConsumed = 0;
double AllCarbsConsumed = 0;
double AllProteinConsumed = 0;
for (LogMeal logMeal : mLogAdapterAll.getLogs()) {
AllCaloriesConsumed += logMeal.getCalorieCount();
AllFatConsumed += logMeal.getFatCount();
AllCarbsConsumed += logMeal.getCarbCount();
AllProteinConsumed += logMeal.getProteinCount();
}
double CaloriesRemain = mealCalGOal - AllCaloriesConsumed;
double FatRemain = mealFatGOal - AllFatConsumed;
double CarbsRemain = mealCarbGOal - AllCarbsConsumed;
double ProRemain = mealProGOal - AllProteinConsumed;
TextView mCalRem = (TextView) v.findViewById(R.id.calRem);
mCalRem.setText(dfW.format(CaloriesRemain) + " cal");
TextView mFatRem = (TextView) v.findViewById(R.id.fatRem);
mFatRem.setText(dfW.format(FatRemain) + " g");
TextView mCarbRem = (TextView) v.findViewById(R.id.carbRem);
mCarbRem.setText(dfW.format(CarbsRemain) + " g");
TextView mProRem = (TextView) v.findViewById(R.id.proRem);
mProRem.setText(dfW.format(ProRemain) + " g");
}
}