This commit is contained in:
2017-10-08 20:09:01 +03:00
parent dfcb093c7a
commit cfe308b413
37 changed files with 820 additions and 864 deletions

View File

@@ -8,14 +8,9 @@ import android.support.v4.widget.DrawerLayout;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx;
@@ -24,26 +19,17 @@ import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import ch.pizzalink.android.R;
import ch.pizzalink.android.adapter.recycler.NavigationMenuRecyclerAdapter;
import ch.pizzalink.android.api.ApiConstants;
import ch.pizzalink.android.fragment.CartFragment;
import ch.pizzalink.android.fragment.InfoFragment;
import ch.pizzalink.android.fragment.HistoryFragment;
import ch.pizzalink.android.fragment.MenuFragment;
import ch.pizzalink.android.fragment.order.ChickenFragment;
import ch.pizzalink.android.fragment.order.DessertFragment;
import ch.pizzalink.android.fragment.order.DrinksFragment;
import ch.pizzalink.android.fragment.order.ExtraKebapFragment;
import ch.pizzalink.android.fragment.order.HaussFragment;
import ch.pizzalink.android.fragment.order.OwnPizzaFragment;
import ch.pizzalink.android.fragment.order.PastaFragment;
import ch.pizzalink.android.fragment.order.PizzaFragment;
import ch.pizzalink.android.fragment.order.EkstraKebapFragment;
import ch.pizzalink.android.fragment.order.ProductFragment;
import ch.pizzalink.android.fragment.ProfileFragment;
import ch.pizzalink.android.fragment.order.SalatFragment;
import ch.pizzalink.android.fragment.order.VorspeisenFragment;
import ch.pizzalink.android.helper.SharedPrefsHelper;
import ch.pizzalink.android.interfaces.RecyclerItemClickListener;
import ch.pizzalink.android.model.CategoryModel;
import ch.pizzalink.android.view.PizzalinkToolbar;
import io.github.luizgrp.sectionedrecyclerviewadapter.SectionParameters;
@@ -59,6 +45,7 @@ public class MainActivity extends BaseActivity {
private FragmentManager fragmentManager;
private String currentFragmentName = "";
private int currentCategoryId = -1;
private ArrayList<CategoryModel> categoryList = new ArrayList<>();
private NavigationMenuRecyclerAdapter navigationMenuRecyclerAdapter;
@@ -80,9 +67,7 @@ public class MainActivity extends BaseActivity {
private void showStartScreen(){
fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.fragmentContainer,
MenuFragment.newInstance(categoryList.get(0))).commit();
currentFragmentName = PizzaFragment.FRAGMENT_NAME;
openProductsScreen(categoryList.get(2));
}
private void initBottomNavigationView(){
@@ -98,11 +83,11 @@ public class MainActivity extends BaseActivity {
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case R.id.action_menu:
if (currentFragmentName.equals(PizzaFragment.FRAGMENT_NAME))
if (currentFragmentName.equals(MenuFragment.FRAGMENT_NAME))
return true;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer,
MenuFragment.newInstance(categoryList.get(0))).commit();
currentFragmentName = PizzaFragment.FRAGMENT_NAME;
MenuFragment.newInstance(categoryList.get(2))).commit();
currentFragmentName = MenuFragment.FRAGMENT_NAME;
return true;
case R.id.action_cart:
@@ -110,6 +95,7 @@ public class MainActivity extends BaseActivity {
return true;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, CartFragment.newInstance()).commit();
currentFragmentName = CartFragment.FRAGMENT_NAME;
currentCategoryId = -1;
return true;
case R.id.action_history:
@@ -117,6 +103,7 @@ public class MainActivity extends BaseActivity {
return true;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, HistoryFragment.newInstance()).commit();
currentFragmentName = HistoryFragment.FRAGMENT_NAME;
currentCategoryId = -1;
return true;
case R.id.action_profile:
@@ -124,6 +111,7 @@ public class MainActivity extends BaseActivity {
return true;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, ProfileFragment.newInstance()).commit();
currentFragmentName = ProfileFragment.FRAGMENT_NAME;
currentCategoryId = -1;
return true;
case R.id.action_info:
@@ -131,6 +119,7 @@ public class MainActivity extends BaseActivity {
return true;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, InfoFragment.newInstance()).commit();
currentFragmentName = InfoFragment.FRAGMENT_NAME;
currentCategoryId = -1;
return true;
}
return false;
@@ -157,106 +146,6 @@ public class MainActivity extends BaseActivity {
drawerLayout.openDrawer(GravityCompat.START);
}
private void selectMenuItem(View view){
//drawerLayout.closeDrawers();
switch (view.getId()){
case R.id.ownPizzaMenuItem:
if (currentFragmentName.equals(OwnPizzaFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, OwnPizzaFragment.newInstance()).commit();
currentFragmentName = OwnPizzaFragment.FRAGMENT_NAME;
drawerLayout.closeDrawers();
break;
case R.id.exstraKebapMenuItem:
if (currentFragmentName.equals(ExtraKebapFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, ExtraKebapFragment.newInstance()).commit();
currentFragmentName = ExtraKebapFragment.FRAGMENT_NAME;
drawerLayout.closeDrawers();
break;
case R.id.pizzaMenuItem:
if (currentFragmentName.equals(PizzaFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, PizzaFragment.newInstance()).commit();
currentFragmentName = PizzaFragment.FRAGMENT_NAME;
drawerLayout.closeDrawers();
break;
case R.id.vorspeisenMenuItem:
if (currentFragmentName.equals(VorspeisenFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, VorspeisenFragment.newInstance()).commit();
currentFragmentName = VorspeisenFragment.FRAGMENT_NAME;
drawerLayout.closeDrawers();
break;
case R.id.haussMenuItem:
if (currentFragmentName.equals(HaussFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, HaussFragment.newInstance()).commit();
currentFragmentName = HaussFragment.FRAGMENT_NAME;
drawerLayout.closeDrawers();
break;
case R.id.salatMenuItem:
if (currentFragmentName.equals(SalatFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, SalatFragment.newInstance()).commit();
currentFragmentName = SalatFragment.FRAGMENT_NAME;
drawerLayout.closeDrawers();
break;
case R.id.pastaMenuItem:
if (currentFragmentName.equals(PastaFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, PastaFragment.newInstance()).commit();
currentFragmentName = PastaFragment.FRAGMENT_NAME;
drawerLayout.closeDrawers();
break;
case R.id.chickenMenuItem:
if (currentFragmentName.equals(ChickenFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, ChickenFragment.newInstance()).commit();
currentFragmentName = ChickenFragment.FRAGMENT_NAME;
drawerLayout.closeDrawers();
break;
case R.id.drinksMenuItem:
/*
if (currentFragmentName.equals(DrinksFragment.FRAGMENT_NAME))
break;
*/
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, DrinksFragment.newInstance(view.getId())).commit();
currentFragmentName = DrinksFragment.FRAGMENT_NAME;
break;
case R.id.roseDrinksMenuItem:
case R.id.rotweinDrinksMenuItem:
case R.id.spirituosenDrinksMenuItem:
case R.id.weissweinDrinksMenuItem:
case R.id.beerDrinksMenuItem:
/*
if (currentFragmentName.equals(DrinksFragment.FRAGMENT_NAME))
break;
*/
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, DrinksFragment.newInstance(view.getId())).commit();
currentFragmentName = DrinksFragment.FRAGMENT_NAME;
drawerLayout.closeDrawers();
break;
case R.id.dessertMenuItem:
if (currentFragmentName.equals(DessertFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, DessertFragment.newInstance()).commit();
currentFragmentName = DessertFragment.FRAGMENT_NAME;
drawerLayout.closeDrawers();
break;
}
}
public void setPizzalinkToolbarFields(boolean showHamburgerIcon, String title){
pizzalinkToolbar.setHamburgerIconVisibility(showHamburgerIcon);
pizzalinkToolbar.setTitle(title);
@@ -312,10 +201,7 @@ public class MainActivity extends BaseActivity {
itemHolder.rootView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fragmentManager.beginTransaction().replace(R.id.fragmentContainer,
MenuFragment.newInstance(list.get(position))).commit();
currentFragmentName = OwnPizzaFragment.FRAGMENT_NAME;
drawerLayout.closeDrawers();
openProductsScreen(categoryList.get(pstn));
}
});
}
@@ -332,10 +218,7 @@ public class MainActivity extends BaseActivity {
headerHolder.rootView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
fragmentManager.beginTransaction().replace(R.id.fragmentContainer,
MenuFragment.newInstance(categoryList.get(pstn))).commit();
currentFragmentName = OwnPizzaFragment.FRAGMENT_NAME;
drawerLayout.closeDrawers();
openProductsScreen(categoryList.get(pstn));
}
});
}
@@ -364,4 +247,35 @@ public class MainActivity extends BaseActivity {
}
}
private void openProductsScreen(CategoryModel clickedCategoryModel){
drawerLayout.closeDrawers();
if(clickedCategoryModel.isProduct()){
if(currentFragmentName.equals(ProductFragment.FRAGMENT_NAME) &&
currentCategoryId == clickedCategoryModel.getId())
return;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer,
ProductFragment.newInstance(clickedCategoryModel)).commit();
currentFragmentName = ProductFragment.FRAGMENT_NAME;
currentCategoryId = clickedCategoryModel.getId();
}
else {
if(currentFragmentName.equals(MenuFragment.FRAGMENT_NAME) &&
currentCategoryId == clickedCategoryModel.getId())
return;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer,
MenuFragment.newInstance(clickedCategoryModel)).commit();
currentFragmentName = MenuFragment.FRAGMENT_NAME;
currentCategoryId = clickedCategoryModel.getId();
}
}
}