package com.biznow.ordernow; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.graphics.Bitmap; import android.os.Bundle; import android.view.MenuItem; import android.view.View; import com.aphidmobile.flip.FlipViewController; import com.biznow.ordernow.R; import com.biznow.ordernow.adapter.IndividualIngredientsAdapter; import com.biznow.ordernow.adapter.IngredientListener; import com.biznow.ordernow.model.FoodIngredient; import com.biznow.ordernow.model.IngredientOptionView; import com.biznow.ordernow.model.OrderNowConstants; import com.data.menu.Ingredient; import com.util.OrderNowUtilities; import com.util.Utilities; public class IndividualIngredientActivity extends Activity implements IngredientListener { private FlipViewController flipView; private IndividualIngredientsAdapter adapter; ArrayList<FoodIngredient> ingList; public static final String OPTION_PAGE = "PageNumber"; int page = 0; private String dishname; // Map<String,OptionView> selectedOptions = new // HashMap<String,OptionView>(); private List<IngredientOptionView> selectedOptions; /** * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getActionBar().setDisplayHomeAsUpEnabled(true); Bundle b = getIntent().getExtras(); if (b != null) { page = b.getInt(OPTION_PAGE); dishname = b.getString(IngredientsActivity.DISH_NAME); ingList = (ArrayList<FoodIngredient>) b .getSerializable(IngredientsActivity.INGREDIENTS_LIST); Utilities.info("ing inside " + ingList.toString()); } page++; selectedOptions = ApplicationState.getDishSelectedIngredientList( (ApplicationState) getApplicationContext(), dishname); if (selectedOptions == null) { selectedOptions = new ArrayList<IngredientOptionView>(); } // adding dummay page in start and end to flip to previous activity ingList.add(new FoodIngredient(new Ingredient(dishname, null))); ingList.add(0, new FoodIngredient(new Ingredient(dishname, null))); setTitle(ingList.get(page).getTitle()); flipView = new FlipViewController(this, FlipViewController.HORIZONTAL); adapter = new IndividualIngredientsAdapter(this, ingList, this); flipView.setAdapter(adapter); flipView.setAnimationBitmapFormat(Bitmap.Config.RGB_565); // flipView.setBackgroundColor(getResources().getColor(R.color.chartreuse)); flipView.setSelection(page); flipView.setBackgroundColor(getResources().getColor( R.color.blanchedalmond)); flipView.setOnViewFlipListener(new FlipViewController.ViewFlipListener() { @Override public void onViewFlipped(View view, int position) { // dummy pages if ((position == adapter.getCount() - 1) || (position == 0)) { onBackPressed(); return; } else { setTitle(ingList.get(position).getTitle()); page = position; } } }); setContentView(flipView); if (!OrderNowConstants.FALSE.equals(OrderNowUtilities .getKeyFromSharedPreferences(getApplicationContext(), OrderNowConstants.KEY_INGREDIENTS_SHOW_SWIPTE_TUT))) { OrderNowUtilities.showActivityOverlay(this, R.layout.overlay_activity); OrderNowUtilities.putKeyToSharedPreferences( getApplicationContext(), OrderNowConstants.KEY_INGREDIENTS_SHOW_SWIPTE_TUT, OrderNowConstants.FALSE); } } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // Respond to the action bar's Up/Home button case android.R.id.home: onBackPressed(); return true; } return super.onOptionsItemSelected(item); } @Override protected void onResume() { super.onResume(); flipView.onResume(); } @Override protected void onPause() { super.onPause(); flipView.onPause(); } @Override public boolean isSelected(IngredientOptionView optionView) { if (selectedOptions.contains(optionView)) { return true; } return false; } @Override public void updateIngredient(IngredientOptionView optionView, boolean checked) { if (checked) { selectedOptions.add(optionView); ApplicationState.addDishSelectedIngredient( (ApplicationState) getApplicationContext(), dishname, optionView); } else { if (selectedOptions.contains(optionView)) { selectedOptions.remove(optionView); } ApplicationState.removeDishSelectedIngredient( (ApplicationState) getApplicationContext(), dishname, optionView); } } }