diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ddd6b0c..f5b9782 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,9 @@ android:theme="@style/Theme.Foodify" tools:replace="android:theme" tools:targetApi="31"> + diff --git a/app/src/main/java/com/capstone/foodify/Activity/OrderActivity.java b/app/src/main/java/com/capstone/foodify/Activity/OrderActivity.java new file mode 100644 index 0000000..6f397b9 --- /dev/null +++ b/app/src/main/java/com/capstone/foodify/Activity/OrderActivity.java @@ -0,0 +1,53 @@ +package com.capstone.foodify.Activity; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.viewpager2.widget.ViewPager2; + +import android.os.Bundle; + +import com.capstone.foodify.Fragment.Order.ViewPagerAdapter; +import com.capstone.foodify.R; +import com.google.android.material.tabs.TabLayout; + +public class OrderActivity extends AppCompatActivity { + + TabLayout tabLayout; + ViewPager2 viewPager2; + ViewPagerAdapter viewPagerAdapter; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_order); + + tabLayout = findViewById(R.id.tab_layout); + viewPager2 = findViewById(R.id.view_pager); + viewPagerAdapter = new ViewPagerAdapter(this); + viewPager2.setAdapter(viewPagerAdapter); + + tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { + @Override + public void onTabSelected(TabLayout.Tab tab) { + viewPager2.setCurrentItem(tab.getPosition()); + } + + @Override + public void onTabUnselected(TabLayout.Tab tab) { + + } + + @Override + public void onTabReselected(TabLayout.Tab tab) { + + } + }); + + viewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() { + @Override + public void onPageSelected(int position) { + super.onPageSelected(position); + tabLayout.getTabAt(position).select(); + } + }); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/foodify/Fragment/Order/CompleteOrderFragment.java b/app/src/main/java/com/capstone/foodify/Fragment/Order/CompleteOrderFragment.java new file mode 100644 index 0000000..340296c --- /dev/null +++ b/app/src/main/java/com/capstone/foodify/Fragment/Order/CompleteOrderFragment.java @@ -0,0 +1,21 @@ +package com.capstone.foodify.Fragment.Order; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.capstone.foodify.R; + +public class CompleteOrderFragment extends Fragment { + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_complete_order, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/foodify/Fragment/Order/ProgressOderFragment.java b/app/src/main/java/com/capstone/foodify/Fragment/Order/ProgressOderFragment.java new file mode 100644 index 0000000..558eedb --- /dev/null +++ b/app/src/main/java/com/capstone/foodify/Fragment/Order/ProgressOderFragment.java @@ -0,0 +1,21 @@ +package com.capstone.foodify.Fragment.Order; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.capstone.foodify.R; + +public class ProgressOderFragment extends Fragment { + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_progress_order, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/foodify/Fragment/Order/ShipOrderFragment.java b/app/src/main/java/com/capstone/foodify/Fragment/Order/ShipOrderFragment.java new file mode 100644 index 0000000..34f4bfd --- /dev/null +++ b/app/src/main/java/com/capstone/foodify/Fragment/Order/ShipOrderFragment.java @@ -0,0 +1,21 @@ +package com.capstone.foodify.Fragment.Order; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.capstone.foodify.R; + +public class ShipOrderFragment extends Fragment { + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_ship_order, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/foodify/Fragment/Order/ViewPagerAdapter.java b/app/src/main/java/com/capstone/foodify/Fragment/Order/ViewPagerAdapter.java new file mode 100644 index 0000000..f382f48 --- /dev/null +++ b/app/src/main/java/com/capstone/foodify/Fragment/Order/ViewPagerAdapter.java @@ -0,0 +1,31 @@ +package com.capstone.foodify.Fragment.Order; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; +import androidx.viewpager2.adapter.FragmentStateAdapter; + +public class ViewPagerAdapter extends FragmentStateAdapter { + + public ViewPagerAdapter(@NonNull FragmentActivity fragmentActivity) { + super(fragmentActivity); + } + + @NonNull + @Override + public Fragment createFragment(int position) { + switch(position){ + case 1: + return new ShipOrderFragment(); + case 2: + return new CompleteOrderFragment(); + default: + return new ProgressOderFragment(); + } + } + + @Override + public int getItemCount() { + return 3; + } +} diff --git a/app/src/main/java/com/capstone/foodify/Fragment/ProfileFragment.java b/app/src/main/java/com/capstone/foodify/Fragment/ProfileFragment.java index 72089bf..0fe3793 100644 --- a/app/src/main/java/com/capstone/foodify/Fragment/ProfileFragment.java +++ b/app/src/main/java/com/capstone/foodify/Fragment/ProfileFragment.java @@ -12,6 +12,7 @@ import androidx.fragment.app.Fragment; import com.capstone.foodify.Activity.AccountAndProfileActivity; import com.capstone.foodify.Activity.AddressManagerActivity; +import com.capstone.foodify.Activity.OrderActivity; import com.capstone.foodify.Activity.SignUpActivity; import com.capstone.foodify.R; @@ -19,15 +20,16 @@ public class ProfileFragment extends Fragment { Button btnSignUp; - LinearLayout account_and_profile, manage_address; + LinearLayout account_and_profile, manage_address, order_history; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View rootView = inflater.inflate(R.layout.fragment_profile, container, false); - btnSignUp = (Button) rootView.findViewById(R.id.sign_up_button); - account_and_profile = (LinearLayout) rootView.findViewById(R.id.account_and_profile); - manage_address = (LinearLayout) rootView.findViewById(R.id.manage_address); + btnSignUp = rootView.findViewById(R.id.sign_up_button); + account_and_profile = rootView.findViewById(R.id.account_and_profile); + manage_address = rootView.findViewById(R.id.manage_address); + order_history = rootView.findViewById(R.id.order_history); btnSignUp.setOnClickListener(new View.OnClickListener() { @Override @@ -49,6 +51,13 @@ public class ProfileFragment extends Fragment { startActivity(new Intent(getActivity(), AddressManagerActivity.class)); } }); + + order_history.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + startActivity(new Intent(getActivity(), OrderActivity.class)); + } + }); return rootView; } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_order.xml b/app/src/main/res/layout/activity_order.xml new file mode 100644 index 0000000..9ef5650 --- /dev/null +++ b/app/src/main/res/layout/activity_order.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_complete_order.xml b/app/src/main/res/layout/fragment_complete_order.xml new file mode 100644 index 0000000..cdcd371 --- /dev/null +++ b/app/src/main/res/layout/fragment_complete_order.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_profile.xml b/app/src/main/res/layout/fragment_profile.xml index 960374d..d09ae24 100644 --- a/app/src/main/res/layout/fragment_profile.xml +++ b/app/src/main/res/layout/fragment_profile.xml @@ -156,17 +156,16 @@ /> + android:fontFamily="@font/opensans" + android:text="Order" + android:textColor="@color/black" + android:textSize="18sp" + tools:ignore="HardcodedText" /> + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_ship_order.xml b/app/src/main/res/layout/fragment_ship_order.xml new file mode 100644 index 0000000..469ee82 --- /dev/null +++ b/app/src/main/res/layout/fragment_ship_order.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 719211f..e157152 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -30,4 +30,13 @@ @color/primaryColor + + + + \ No newline at end of file