diff --git a/app/src/main/java/ch/pizzalink/android/activity/LoginActivity.java b/app/src/main/java/ch/pizzalink/android/activity/LoginActivity.java index 89de796..3f0f89b 100644 --- a/app/src/main/java/ch/pizzalink/android/activity/LoginActivity.java +++ b/app/src/main/java/ch/pizzalink/android/activity/LoginActivity.java @@ -3,6 +3,7 @@ package ch.pizzalink.android.activity; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; +import android.support.v4.content.ContextCompat; import android.text.Spannable; import android.text.SpannableString; import android.text.style.ForegroundColorSpan; @@ -81,13 +82,13 @@ public class LoginActivity extends BaseActivity { private void initRegisterTextView(){ Spannable wordtoSpan = new SpannableString(notHaveAnAccountText + " " + registerText); - wordtoSpan.setSpan(new ForegroundColorSpan(Color.RED), 23, wordtoSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + wordtoSpan.setSpan(new ForegroundColorSpan(ContextCompat.getColor(this, R.color.red)), 23, wordtoSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); registerTextView.setText(wordtoSpan); } private void initForgotPasswordTextView(){ Spannable wordtoSpan = new SpannableString(forgotPasswordHintText + " " + resetPasswordText); - wordtoSpan.setSpan(new ForegroundColorSpan(Color.RED), 35, wordtoSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + wordtoSpan.setSpan(new ForegroundColorSpan(ContextCompat.getColor(this, R.color.red)), 35, wordtoSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); forgotPasswordTextView.setText(wordtoSpan); } diff --git a/app/src/main/java/ch/pizzalink/android/activity/MainActivity.java b/app/src/main/java/ch/pizzalink/android/activity/MainActivity.java index e8ddef1..6984cb3 100644 --- a/app/src/main/java/ch/pizzalink/android/activity/MainActivity.java +++ b/app/src/main/java/ch/pizzalink/android/activity/MainActivity.java @@ -1,6 +1,7 @@ package ch.pizzalink.android.activity; import android.content.Intent; +import android.graphics.drawable.Drawable; import android.support.annotation.NonNull; import android.support.design.widget.BottomNavigationView; import android.support.v4.app.FragmentManager; @@ -11,7 +12,12 @@ import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.Gravity; import android.view.MenuItem; +import android.view.MotionEvent; import android.view.View; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.widget.ImageView; +import android.widget.RelativeLayout; import android.widget.TextView; import com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx; @@ -20,6 +26,7 @@ import java.util.ArrayList; import java.util.List; import butterknife.BindColor; +import butterknife.BindDrawable; import butterknife.BindView; import butterknife.ButterKnife; import ch.pizzalink.android.R; @@ -46,6 +53,13 @@ public class MainActivity extends BaseActivity { @BindView(R.id.pizzalinkToolbar) PizzalinkToolbar pizzalinkToolbar; @BindView(R.id.bottomNavigationView) BottomNavigationViewEx bottomNavigationView; + @BindView(R.id.shoppingCartLayout) RelativeLayout shoppingCartLayout; + @BindView(R.id.shoppingCartImageView) ImageView shoppingCartImageView; + @BindView(R.id.shoppingCartTextView) TextView shoppingCartTextView; + + @BindDrawable(R.drawable.ic_bottom_nav_item_cart_white) Drawable whiteCartDrawable; + @BindDrawable(R.drawable.ic_bottom_nav_item_cart_red) Drawable redCartDrawable; + @BindColor(R.color.red) int redColor; @BindColor(R.color.white) int whiteColor; @@ -56,6 +70,7 @@ public class MainActivity extends BaseActivity { private ArrayList categoryList = new ArrayList<>(); private NavigationMenuRecyclerAdapter navigationMenuRecyclerAdapter; private Badge badge; + private Animation animUp,animDown; private SectionedRecyclerViewAdapter sectionAdapter = new SectionedRecyclerViewAdapter(); @@ -83,6 +98,38 @@ public class MainActivity extends BaseActivity { initBottomNavigationView(); showStartScreen(); setCartItemCount(); + initShoppingCartButton(); + + } + + private void initShoppingCartButton(){ + + animDown = AnimationUtils.loadAnimation(this, R.anim.anim_scale_down); + animUp = AnimationUtils.loadAnimation(this, R.anim.anim_scale_up); + + shoppingCartLayout.setOnTouchListener(new View.OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + switch (event.getAction()) { + case (android.view.MotionEvent.ACTION_DOWN): + shoppingCartLayout.startAnimation(animDown); + return false; + case (android.view.MotionEvent.ACTION_UP): + shoppingCartLayout.startAnimation(animUp); + return false; + case (android.view.MotionEvent.ACTION_CANCEL): + shoppingCartLayout.startAnimation(animUp); + } + return false; + } + }); + + shoppingCartLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + bottomNavigationView.setCurrentItem(2); + } + }); } private void initBadgeView(){ @@ -120,14 +167,23 @@ public class MainActivity extends BaseActivity { fragmentManager.beginTransaction().replace(R.id.fragmentContainer, MenuFragment.newInstance(categoryList.get(2))).commit(); currentFragmentName = MenuFragment.FRAGMENT_NAME; + + shoppingCartImageView.setImageDrawable(whiteCartDrawable); + shoppingCartTextView.setTextColor(whiteColor); + return true; - case R.id.action_cart: + case R.id.action_empty: if (currentFragmentName.equals(CartFragment.FRAGMENT_NAME)) return true; fragmentManager.beginTransaction().replace(R.id.fragmentContainer, CartFragment.newInstance()).commit(); currentFragmentName = CartFragment.FRAGMENT_NAME; + currentCategoryId = -1; + + shoppingCartImageView.setImageDrawable(redCartDrawable); + shoppingCartTextView.setTextColor(redColor); + return true; case R.id.action_history: @@ -135,7 +191,12 @@ public class MainActivity extends BaseActivity { return true; fragmentManager.beginTransaction().replace(R.id.fragmentContainer, HistoryFragment.newInstance()).commit(); currentFragmentName = HistoryFragment.FRAGMENT_NAME; + currentCategoryId = -1; + + shoppingCartImageView.setImageDrawable(whiteCartDrawable); + shoppingCartTextView.setTextColor(whiteColor); + return true; case R.id.action_profile: @@ -143,7 +204,12 @@ public class MainActivity extends BaseActivity { return true; fragmentManager.beginTransaction().replace(R.id.fragmentContainer, ProfileFragment.newInstance()).commit(); currentFragmentName = ProfileFragment.FRAGMENT_NAME; + currentCategoryId = -1; + + shoppingCartImageView.setImageDrawable(whiteCartDrawable); + shoppingCartTextView.setTextColor(whiteColor); + return true; case R.id.action_info: @@ -151,7 +217,12 @@ public class MainActivity extends BaseActivity { return true; fragmentManager.beginTransaction().replace(R.id.fragmentContainer, StoreInfoFragment.newInstance()).commit(); currentFragmentName = StoreInfoFragment.FRAGMENT_NAME; + currentCategoryId = -1; + + shoppingCartImageView.setImageDrawable(whiteCartDrawable); + shoppingCartTextView.setTextColor(whiteColor); + return true; } return false; @@ -215,9 +286,34 @@ public class MainActivity extends BaseActivity { this.pstn = pstn; } + private class HeaderViewHolder extends RecyclerView.ViewHolder { + private final View rootView; + private final TextView categoryNameItem; + private final View bottomLineView; + + HeaderViewHolder(View view) { + super(view); + rootView = view; + categoryNameItem = (TextView) view.findViewById(R.id.categoryNameItem); + bottomLineView = view.findViewById(R.id.bottomLineView); + } + } + + private class ItemViewHolder extends RecyclerView.ViewHolder { + + private final View rootView; + private final TextView subcategoryNameItem; + + ItemViewHolder(View view) { + super(view); + rootView = view; + subcategoryNameItem = (TextView) view.findViewById(R.id.subcategoryNameItem); + } + } + @Override - public int getContentItemsTotal() { - return list.size(); + public RecyclerView.ViewHolder getHeaderViewHolder(View view) { + return new HeaderViewHolder(view); } @Override @@ -225,11 +321,37 @@ public class MainActivity extends BaseActivity { return new ItemViewHolder(view); } + @Override + public void onBindHeaderViewHolder(RecyclerView.ViewHolder holder) { + final HeaderViewHolder headerHolder = (HeaderViewHolder) holder; + headerHolder.categoryNameItem.setText(title); + + headerHolder.rootView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + openProductsScreen(categoryList.get(pstn)); + } + }); + + if(pstn == categoryList.size() - 1){ + headerHolder.bottomLineView.setVisibility(View.GONE); + return; + } + + if(categoryList.get(pstn).getSubCategoryList() == null || + categoryList.get(pstn).getSubCategoryList().size() == 0){ + headerHolder.bottomLineView.setVisibility(View.VISIBLE); + }else { + headerHolder.bottomLineView.setVisibility(View.GONE); + } + + } + @Override public void onBindItemViewHolder(RecyclerView.ViewHolder holder, final int position) { final ItemViewHolder itemHolder = (ItemViewHolder) holder; String name = list.get(position).getName(); - itemHolder.subcategoryNameItem.setText("- " + name); + itemHolder.subcategoryNameItem.setText(name); itemHolder.rootView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -239,43 +361,8 @@ public class MainActivity extends BaseActivity { } @Override - public RecyclerView.ViewHolder getHeaderViewHolder(View view) { - return new HeaderViewHolder(view); - } - - @Override - public void onBindHeaderViewHolder(RecyclerView.ViewHolder holder) { - final HeaderViewHolder headerHolder = (HeaderViewHolder) holder; - headerHolder.categoryNameItem.setText(title); - headerHolder.rootView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - openProductsScreen(categoryList.get(pstn)); - } - }); - } - } - - private class HeaderViewHolder extends RecyclerView.ViewHolder { - private final View rootView; - private final TextView categoryNameItem; - - HeaderViewHolder(View view) { - super(view); - rootView = view; - categoryNameItem = (TextView) view.findViewById(R.id.categoryNameItem); - } - } - - private class ItemViewHolder extends RecyclerView.ViewHolder { - - private final View rootView; - private final TextView subcategoryNameItem; - - ItemViewHolder(View view) { - super(view); - rootView = view; - subcategoryNameItem = (TextView) view.findViewById(R.id.subcategoryNameItem); + public int getContentItemsTotal() { + return list.size(); } } diff --git a/app/src/main/java/ch/pizzalink/android/helper/DisplayHelper.java b/app/src/main/java/ch/pizzalink/android/helper/DisplayHelper.java index f8b96e4..479eb1f 100644 --- a/app/src/main/java/ch/pizzalink/android/helper/DisplayHelper.java +++ b/app/src/main/java/ch/pizzalink/android/helper/DisplayHelper.java @@ -34,6 +34,6 @@ public class DisplayHelper { Window window = BaseActivity.currentActivity.getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); - window.setStatusBarColor(ContextCompat.getColor(BaseActivity.currentActivity, R.color.black)); + window.setStatusBarColor(ContextCompat.getColor(BaseActivity.currentActivity, R.color.navy)); } } diff --git a/app/src/main/res/anim/anim_scale_down.xml b/app/src/main/res/anim/anim_scale_down.xml new file mode 100644 index 0000000..d9a44de --- /dev/null +++ b/app/src/main/res/anim/anim_scale_down.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/anim_scale_up.xml b/app/src/main/res/anim/anim_scale_up.xml new file mode 100644 index 0000000..5b5299f --- /dev/null +++ b/app/src/main/res/anim/anim_scale_up.xml @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-xhdpi/background_wood.png b/app/src/main/res/drawable-xhdpi/background_wood.png new file mode 100644 index 0000000..29f647c Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/background_wood.png differ diff --git a/app/src/main/res/drawable-xhdpi/splash_logo.png b/app/src/main/res/drawable-xhdpi/splash_logo.png new file mode 100644 index 0000000..f87fb51 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/splash_logo.png differ diff --git a/app/src/main/res/drawable/background_button_cart.xml b/app/src/main/res/drawable/background_button_cart.xml new file mode 100644 index 0000000..950361d --- /dev/null +++ b/app/src/main/res/drawable/background_button_cart.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_back.xml b/app/src/main/res/drawable/ic_back.xml index be977b8..f2ec6b9 100644 --- a/app/src/main/res/drawable/ic_back.xml +++ b/app/src/main/res/drawable/ic_back.xml @@ -1,4 +1,4 @@ - + diff --git a/app/src/main/res/drawable/ic_bottom_nav_item_cart_red.xml b/app/src/main/res/drawable/ic_bottom_nav_item_cart_red.xml new file mode 100644 index 0000000..6c8fd8d --- /dev/null +++ b/app/src/main/res/drawable/ic_bottom_nav_item_cart_red.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/drawable/ic_bottom_nav_item_cart.xml b/app/src/main/res/drawable/ic_bottom_nav_item_cart_white.xml similarity index 100% rename from app/src/main/res/drawable/ic_bottom_nav_item_cart.xml rename to app/src/main/res/drawable/ic_bottom_nav_item_cart_white.xml diff --git a/app/src/main/res/drawable/ic_hamburger_menu.xml b/app/src/main/res/drawable/ic_hamburger_menu.xml index 73bbebd..150661d 100644 --- a/app/src/main/res/drawable/ic_hamburger_menu.xml +++ b/app/src/main/res/drawable/ic_hamburger_menu.xml @@ -1,6 +1,6 @@ - - - + + + diff --git a/app/src/main/res/drawable/selector_bottom_navigation_item.xml b/app/src/main/res/drawable/selector_bottom_navigation_item.xml index 6ee1f26..923ca20 100644 --- a/app/src/main/res/drawable/selector_bottom_navigation_item.xml +++ b/app/src/main/res/drawable/selector_bottom_navigation_item.xml @@ -6,5 +6,5 @@ android:color="@color/bottom_menu_selected_item" android:state_checked="true" /> - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_add_address.xml b/app/src/main/res/layout/activity_add_address.xml index 402b2e3..21f6ee4 100644 --- a/app/src/main/res/layout/activity_add_address.xml +++ b/app/src/main/res/layout/activity_add_address.xml @@ -18,7 +18,7 @@ app:title="@string/activity_title_add_address" android:background="@color/white" app:showBackIcon="true" - app:titleTextColor="@color/black" /> + app:titleTextColor="@color/navy" /> + app:titleTextColor="@color/navy" /> + app:titleTextColor="@color/navy" /> - - - + android:layout_height="match_parent"> - + -