diff --git a/app/src/main/java/com/example/mampfmobil/ui/Classes/Recyclerviewadapter_Supplier_Orders.java b/app/src/main/java/com/example/mampfmobil/ui/Classes/Recyclerviewadapter_Supplier_Orders.java index 0768bb43c4f4c22ed3429fa76a461390c7a99879..792f3ba914f2c6b7252c157f3bc2d9c5d0a12c1e 100644 --- a/app/src/main/java/com/example/mampfmobil/ui/Classes/Recyclerviewadapter_Supplier_Orders.java +++ b/app/src/main/java/com/example/mampfmobil/ui/Classes/Recyclerviewadapter_Supplier_Orders.java @@ -62,7 +62,7 @@ public class Recyclerviewadapter_Supplier_Orders extends RecyclerView.Adapter<Re if(bestellungen.get(position).state.equals("ordered")){ holder.readyButton.setText("ready"); } - else if(bestellungen.get(position).state.equals("ready")){ + else if(bestellungen.get(position).state.equals("ready for pickup")){ holder.readyButton.setText("picked"); } else{ @@ -92,12 +92,18 @@ public class Recyclerviewadapter_Supplier_Orders extends RecyclerView.Adapter<Re holder.readyButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - if (bestellungen.get(position).state.equals("ready")) { + if (bestellungen.get(position).state.equals("ready for pickup")) { bestellungen.get(position).state = "picked"; notifyItemRangeChanged(position, getItemCount()); } if (bestellungen.get(position).state.equals("ordered")) { - bestellungen.get(position).state = "ready"; + if(bestellungen.get(position).delivery){ + bestellungen.get(position).state = "ready for transportation"; + } + else{ + bestellungen.get(position).state = "ready for pickup"; + } + notifyItemRangeChanged(position, getItemCount()); } } diff --git a/app/src/main/java/com/example/mampfmobil/ui/Classes/Recyclerviewadapter_deliverer_activeOrders.java b/app/src/main/java/com/example/mampfmobil/ui/Classes/Recyclerviewadapter_deliverer_activeOrders.java new file mode 100644 index 0000000000000000000000000000000000000000..77e7fd2df53531b3dc94e670aa715c282f295671 --- /dev/null +++ b/app/src/main/java/com/example/mampfmobil/ui/Classes/Recyclerviewadapter_deliverer_activeOrders.java @@ -0,0 +1,121 @@ +package com.example.mampfmobil.ui.Classes; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.example.mampfmobil.R; +import com.example.mampfmobil.ui.MampfMobil; +import com.example.mampfmobil.ui.deliverer.DelivererOpenOrdersFragment; + +import java.util.Vector; + +public class Recyclerviewadapter_deliverer_activeOrders extends RecyclerView.Adapter<Recyclerviewadapter_deliverer_activeOrders.MyViewHolder>{ + + + Context context; + Vector<Bestellung> bestellungen = new Vector<>(); + + public Recyclerviewadapter_deliverer_activeOrders(Context context, Vector<Bestellung> bestellungen ){ + this.context =context; + this.bestellungen = bestellungen; + } + @NonNull + @Override + public Recyclerviewadapter_deliverer_activeOrders.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + LayoutInflater inflator = LayoutInflater.from(context); + View view = inflator.inflate(R.layout.recyclerview_deliverer_orderrow,parent,false); + + return new Recyclerviewadapter_deliverer_activeOrders.MyViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull Recyclerviewadapter_deliverer_activeOrders.MyViewHolder holder, int position) { + holder.tvID.setText(String.valueOf("# " + bestellungen.get(position).id)); + holder.tvState.setText(bestellungen.get(position).state); + + if(bestellungen.get(position).state.equals("In transportation")){ + holder.readyButton.setText("delivered"); + } + else if(bestellungen.get(position).state.equals("ready for transportation/deliverer found")){ + holder.readyButton.setText("In transportation"); + } + else if(bestellungen.get(position).state.equals("ready for transportation")){ + holder.readyButton.setText("reserve"); + } + else{ + holder.readyButton.setVisibility(View.INVISIBLE); + } + + + + holder.readyButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + if (bestellungen.get(position).state.equals("In transportation")) { + + bestellungen.get(position).state = "delivered"; + int adapterPosition = holder.getAdapterPosition(); + if (adapterPosition != RecyclerView.NO_POSITION) { + removeItem(adapterPosition); + } + DelivererOpenOrdersFragment.setVec(); + notifyItemRangeChanged(position, getItemCount()); + } + if (bestellungen.get(position).state.equals("ready for transportation/deliverer found")) { + bestellungen.get(position).state = "In transportation"; + DelivererOpenOrdersFragment.setVec(); + notifyItemRangeChanged(position, getItemCount()); + return; + } + if (bestellungen.get(position).state.equals("ready for transportation")) { + bestellungen.get(position).state = "ready for pickup/deliverer found"; + bestellungen.get(position).deliverer = MampfMobil.currentDeliverer; + int adapterPosition = holder.getAdapterPosition(); + if (adapterPosition != RecyclerView.NO_POSITION) { + removeItem(adapterPosition); + } + DelivererOpenOrdersFragment.setVec(); + notifyItemRangeChanged(position, getItemCount()); + return; + } + } + }); + + } + + public void removeItem(int position) { + bestellungen.remove(position); + notifyItemRemoved(position); + notifyItemRangeChanged(position, getItemCount()); + } + + @Override + public int getItemCount() { + return bestellungen.size(); + } + + public static class MyViewHolder extends RecyclerView.ViewHolder { + + TextView tvID, tvDelivery,tvState,tvTotalCost; + RecyclerView recyclerViewOrders; + Button readyButton; + public MyViewHolder(@NonNull View itemView) { + super(itemView); + + tvID = itemView.findViewById(R.id.textViewID);; + tvState = itemView.findViewById(R.id.textViewState); + tvDelivery = itemView.findViewById(R.id.textViewDelivery); + recyclerViewOrders =itemView.findViewById(R.id.recyclerViewOrders); + tvTotalCost =itemView.findViewById(R.id.textViewTotalCost); + readyButton = itemView.findViewById(R.id.buttonReady); + } + } +} diff --git a/app/src/main/java/com/example/mampfmobil/ui/Classes/Recyclerviewadapter_deliverer_closedOrders.java b/app/src/main/java/com/example/mampfmobil/ui/Classes/Recyclerviewadapter_deliverer_closedOrders.java new file mode 100644 index 0000000000000000000000000000000000000000..96f8dfbeacb649a1d100eb9072ca51646d85af2a --- /dev/null +++ b/app/src/main/java/com/example/mampfmobil/ui/Classes/Recyclerviewadapter_deliverer_closedOrders.java @@ -0,0 +1,121 @@ +package com.example.mampfmobil.ui.Classes; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.example.mampfmobil.R; +import com.example.mampfmobil.ui.MampfMobil; +import com.example.mampfmobil.ui.deliverer.DelivererOpenOrdersFragment; + +import java.util.Vector; + +public class Recyclerviewadapter_deliverer_closedOrders extends RecyclerView.Adapter<Recyclerviewadapter_deliverer_closedOrders.MyViewHolder>{ + + + Context context; + Vector<Bestellung> bestellungen = new Vector<>(); + + public Recyclerviewadapter_deliverer_closedOrders(Context context, Vector<Bestellung> bestellungen ){ + this.context =context; + this.bestellungen = bestellungen; + } + @NonNull + @Override + public Recyclerviewadapter_deliverer_closedOrders.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + LayoutInflater inflator = LayoutInflater.from(context); + View view = inflator.inflate(R.layout.recyclerview_deliverer_orderrow,parent,false); + + return new Recyclerviewadapter_deliverer_closedOrders.MyViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull Recyclerviewadapter_deliverer_closedOrders.MyViewHolder holder, int position) { + holder.tvID.setText(String.valueOf("# " + bestellungen.get(position).id)); + holder.tvState.setText(bestellungen.get(position).state); + + if(bestellungen.get(position).state.equals("In transportation")){ + holder.readyButton.setText("delivered"); + } + else if(bestellungen.get(position).state.equals("ready for transportation/deliverer found")){ + holder.readyButton.setText("In transportation"); + } + else if(bestellungen.get(position).state.equals("ready for transportation")){ + holder.readyButton.setText("reserve"); + } + else{ + holder.readyButton.setVisibility(View.INVISIBLE); + } + + + + holder.readyButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + if (bestellungen.get(position).state.equals("In transportation")) { + + bestellungen.get(position).state = "delivered"; + int adapterPosition = holder.getAdapterPosition(); + if (adapterPosition != RecyclerView.NO_POSITION) { + removeItem(adapterPosition); + } + DelivererOpenOrdersFragment.setVec(); + notifyItemRangeChanged(position, getItemCount()); + } + if (bestellungen.get(position).state.equals("ready for transportation/deliverer found")) { + bestellungen.get(position).state = "In transportation"; + DelivererOpenOrdersFragment.setVec(); + notifyItemRangeChanged(position, getItemCount()); + return; + } + if (bestellungen.get(position).state.equals("ready for transportation")) { + bestellungen.get(position).state = "ready for pickup/deliverer found"; + bestellungen.get(position).deliverer = MampfMobil.currentDeliverer; + int adapterPosition = holder.getAdapterPosition(); + if (adapterPosition != RecyclerView.NO_POSITION) { + removeItem(adapterPosition); + } + DelivererOpenOrdersFragment.setVec(); + notifyItemRangeChanged(position, getItemCount()); + return; + } + } + }); + + } + + public void removeItem(int position) { + bestellungen.remove(position); + notifyItemRemoved(position); + notifyItemRangeChanged(position, getItemCount()); + } + + @Override + public int getItemCount() { + return bestellungen.size(); + } + + public static class MyViewHolder extends RecyclerView.ViewHolder { + + TextView tvID, tvDelivery,tvState,tvTotalCost; + RecyclerView recyclerViewOrders; + Button readyButton; + public MyViewHolder(@NonNull View itemView) { + super(itemView); + + tvID = itemView.findViewById(R.id.textViewID);; + tvState = itemView.findViewById(R.id.textViewState); + tvDelivery = itemView.findViewById(R.id.textViewDelivery); + recyclerViewOrders =itemView.findViewById(R.id.recyclerViewOrders); + tvTotalCost =itemView.findViewById(R.id.textViewTotalCost); + readyButton = itemView.findViewById(R.id.buttonReady); + } + } +} diff --git a/app/src/main/java/com/example/mampfmobil/ui/Classes/Recyclerviewadapter_deliverer_orders.java b/app/src/main/java/com/example/mampfmobil/ui/Classes/Recyclerviewadapter_deliverer_orders.java new file mode 100644 index 0000000000000000000000000000000000000000..20ad0051a492c2d00b6f4de3da73ba398c91e36e --- /dev/null +++ b/app/src/main/java/com/example/mampfmobil/ui/Classes/Recyclerviewadapter_deliverer_orders.java @@ -0,0 +1,123 @@ +package com.example.mampfmobil.ui.Classes; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.example.mampfmobil.R; +import com.example.mampfmobil.ui.MampfMobil; +import com.example.mampfmobil.ui.customer.CustomerShoppingCartFragment; +import com.example.mampfmobil.ui.deliverer.DelivererOpenOrdersFragment; + +import java.util.Vector; + +public class Recyclerviewadapter_deliverer_orders extends RecyclerView.Adapter<Recyclerviewadapter_deliverer_orders.MyViewHolder>{ + + + Context context; + Vector<Bestellung> bestellungen = new Vector<>(); + + public Recyclerviewadapter_deliverer_orders(Context context,Vector<Bestellung> bestellungen ){ + this.context =context; + this.bestellungen = bestellungen; + } + @NonNull + @Override + public Recyclerviewadapter_deliverer_orders.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + LayoutInflater inflator = LayoutInflater.from(context); + View view = inflator.inflate(R.layout.recyclerview_deliverer_orderrow,parent,false); + + return new Recyclerviewadapter_deliverer_orders.MyViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull Recyclerviewadapter_deliverer_orders.MyViewHolder holder, int position) { + holder.tvID.setText(String.valueOf("# " + bestellungen.get(position).id)); + holder.tvState.setText(bestellungen.get(position).state); + + if(bestellungen.get(position).state.equals("In transportation")){ + holder.readyButton.setText("delivered"); + } + else if(bestellungen.get(position).state.equals("ready for transportation/deliverer found")){ + holder.readyButton.setText("In transportation"); + } + else if(bestellungen.get(position).state.equals("ready for transportation")){ + holder.readyButton.setText("reserve"); + } + else{ + holder.readyButton.setVisibility(View.INVISIBLE); + } + + + + holder.readyButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + if (bestellungen.get(position).state.equals("In transportation")) { + + bestellungen.get(position).state = "delivered"; + int adapterPosition = holder.getAdapterPosition(); + if (adapterPosition != RecyclerView.NO_POSITION) { + removeItem(adapterPosition); + } + DelivererOpenOrdersFragment.setVec(); + notifyItemRangeChanged(position, getItemCount()); + } + if (bestellungen.get(position).state.equals("ready for transportation/deliverer found")) { + bestellungen.get(position).state = "In transportation"; + DelivererOpenOrdersFragment.setVec(); + notifyItemRangeChanged(position, getItemCount()); + return; + } + if (bestellungen.get(position).state.equals("ready for transportation")) { + bestellungen.get(position).state = "ready for transportation/deliverer found"; + bestellungen.get(position).deliverer = MampfMobil.currentDeliverer; + int adapterPosition = holder.getAdapterPosition(); + if (adapterPosition != RecyclerView.NO_POSITION) { + removeItem(adapterPosition); + } + DelivererOpenOrdersFragment.setVec(); + notifyItemRangeChanged(position, getItemCount()); + return; + } + } + }); + + } + + public void removeItem(int position) { + bestellungen.remove(position); + notifyItemRemoved(position); + notifyItemRangeChanged(position, getItemCount()); + } + + @Override + public int getItemCount() { + return bestellungen.size(); + } + + public static class MyViewHolder extends RecyclerView.ViewHolder { + + TextView tvID, tvDelivery,tvState,tvTotalCost; + RecyclerView recyclerViewOrders; + Button readyButton; + public MyViewHolder(@NonNull View itemView) { + super(itemView); + + tvID = itemView.findViewById(R.id.textViewID);; + tvState = itemView.findViewById(R.id.textViewState); + tvDelivery = itemView.findViewById(R.id.textViewDelivery); + recyclerViewOrders =itemView.findViewById(R.id.recyclerViewOrders); + tvTotalCost =itemView.findViewById(R.id.textViewTotalCost); + readyButton = itemView.findViewById(R.id.buttonReady); + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/mampfmobil/ui/deliverer/DelivererActiveOrdersFragment.java b/app/src/main/java/com/example/mampfmobil/ui/deliverer/DelivererActiveOrdersFragment.java index 72389522fbb05382b5c3881c63969ccab7eb97bd..7398ff4c6285e135f9cc2235a771074a6e460024 100644 --- a/app/src/main/java/com/example/mampfmobil/ui/deliverer/DelivererActiveOrdersFragment.java +++ b/app/src/main/java/com/example/mampfmobil/ui/deliverer/DelivererActiveOrdersFragment.java @@ -9,16 +9,26 @@ import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.example.mampfmobil.R; +import com.example.mampfmobil.ui.Classes.Bestellung; +import com.example.mampfmobil.ui.Classes.Customer; +import com.example.mampfmobil.ui.Classes.Recyclerviewadapter_deliverer_activeOrders; +import com.example.mampfmobil.ui.Classes.Recyclerviewadapter_deliverer_closedOrders; +import com.example.mampfmobil.ui.MampfMobil; + +import java.util.Vector; public class DelivererActiveOrdersFragment extends Fragment { private DelivererActiveOrdersViewModel mViewModel; + static Vector<Bestellung> activeOrders = new Vector<>(); public static DelivererActiveOrdersFragment newInstance() { return new DelivererActiveOrdersFragment(); @@ -27,7 +37,35 @@ public class DelivererActiveOrdersFragment extends Fragment { @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_deliverer_active_orders, container, false); + View rootView = inflater.inflate(R.layout.fragment_deliverer_active_orders, container, false); + + RecyclerView recyclerView = rootView.findViewById(R.id.mySupplierOrdersRecycler); + + AppCompatActivity activity = (AppCompatActivity) requireActivity(); + // Enable the back button in the ActionBar + ActionBar actionBar = activity.getSupportActionBar(); + if (actionBar != null) { + actionBar.setDisplayHomeAsUpEnabled(true); + } + + LinearLayoutManager layoutManager = new LinearLayoutManager(requireActivity()); + recyclerView.setLayoutManager(layoutManager); + setVec(); + Recyclerviewadapter_deliverer_activeOrders adapter = new Recyclerviewadapter_deliverer_activeOrders(requireContext(),activeOrders); + recyclerView.setAdapter(adapter); + adapter.notifyDataSetChanged(); + return rootView; + } + + public static void setVec(){ + activeOrders = new Vector<>(); + for(Customer c: MampfMobil.customers){ + for(Bestellung b:c.bestellungen){ + if((b.state.equals("ready for transportation/deliverer found") || b.state.equals("In transportation")) && b.delivery){ + activeOrders.add(b); + } + } + } } @Override diff --git a/app/src/main/java/com/example/mampfmobil/ui/deliverer/DelivererClosedOrdersFragment.java b/app/src/main/java/com/example/mampfmobil/ui/deliverer/DelivererClosedOrdersFragment.java index 9cbe92d6b7d13f83916f58479a7e70ee2eacfec2..84a1c7f04dadf5e71ff8f02d2f89fc4ab4548ea0 100644 --- a/app/src/main/java/com/example/mampfmobil/ui/deliverer/DelivererClosedOrdersFragment.java +++ b/app/src/main/java/com/example/mampfmobil/ui/deliverer/DelivererClosedOrdersFragment.java @@ -9,17 +9,27 @@ import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.example.mampfmobil.R; +import com.example.mampfmobil.ui.Classes.Bestellung; +import com.example.mampfmobil.ui.Classes.Customer; +import com.example.mampfmobil.ui.Classes.Recyclerviewadapter_deliverer_orders; +import com.example.mampfmobil.ui.MampfMobil; + +import java.util.Vector; public class DelivererClosedOrdersFragment extends Fragment { private DelivererClosedOrdersViewModel mViewModel; + static Vector<Bestellung> closedOrders = new Vector<>(); + public static DelivererClosedOrdersFragment newInstance() { return new DelivererClosedOrdersFragment(); } @@ -27,7 +37,35 @@ public class DelivererClosedOrdersFragment extends Fragment { @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_deliverer_closed_orders, container, false); + View rootView = inflater.inflate(R.layout.fragment_deliverer_closed_orders, container, false); + + RecyclerView recyclerView = rootView.findViewById(R.id.mySupplierOrdersRecycler); + + AppCompatActivity activity = (AppCompatActivity) requireActivity(); + // Enable the back button in the ActionBar + ActionBar actionBar = activity.getSupportActionBar(); + if (actionBar != null) { + actionBar.setDisplayHomeAsUpEnabled(true); + } + + LinearLayoutManager layoutManager = new LinearLayoutManager(requireActivity()); + recyclerView.setLayoutManager(layoutManager); + setVec(); + Recyclerviewadapter_deliverer_orders adapter = new Recyclerviewadapter_deliverer_orders(requireContext(),closedOrders); + recyclerView.setAdapter(adapter); + adapter.notifyDataSetChanged(); + return rootView; + } + + public static void setVec(){ + closedOrders = new Vector<>(); + for(Customer c: MampfMobil.customers){ + for(Bestellung b:c.bestellungen){ + if(b.state.equals("delivered") && b.deliverer == MampfMobil.currentDeliverer){ + closedOrders.add(b); + } + } + } } @Override diff --git a/app/src/main/java/com/example/mampfmobil/ui/deliverer/DelivererOpenOrdersFragment.java b/app/src/main/java/com/example/mampfmobil/ui/deliverer/DelivererOpenOrdersFragment.java index 2727ba11c2c11508f44c246b98ba3322af6e25cd..d272d65f79455b5056608d18c8a60dc17f307207 100644 --- a/app/src/main/java/com/example/mampfmobil/ui/deliverer/DelivererOpenOrdersFragment.java +++ b/app/src/main/java/com/example/mampfmobil/ui/deliverer/DelivererOpenOrdersFragment.java @@ -9,17 +9,28 @@ import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.example.mampfmobil.R; +import com.example.mampfmobil.ui.Classes.Bestellung; +import com.example.mampfmobil.ui.Classes.Customer; +import com.example.mampfmobil.ui.Classes.Recyclerviewadapter_Supplier_Orders; +import com.example.mampfmobil.ui.Classes.Recyclerviewadapter_deliverer_orders; +import com.example.mampfmobil.ui.MampfMobil; + +import java.util.Vector; public class DelivererOpenOrdersFragment extends Fragment { private DelivererOpenOrdersViewModel mViewModel; + static Vector<Bestellung> openOrders = new Vector<>(); + public static DelivererOpenOrdersFragment newInstance() { return new DelivererOpenOrdersFragment(); } @@ -27,7 +38,25 @@ public class DelivererOpenOrdersFragment extends Fragment { @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_deliverer_open_orders, container, false); + + View rootView = inflater.inflate(R.layout.fragment_deliverer_open_orders, container, false); + + RecyclerView recyclerView = rootView.findViewById(R.id.mySupplierOrdersRecycler); + + AppCompatActivity activity = (AppCompatActivity) requireActivity(); + // Enable the back button in the ActionBar + ActionBar actionBar = activity.getSupportActionBar(); + if (actionBar != null) { + actionBar.setDisplayHomeAsUpEnabled(true); + } + + LinearLayoutManager layoutManager = new LinearLayoutManager(requireActivity()); + recyclerView.setLayoutManager(layoutManager); + setVec(); + Recyclerviewadapter_deliverer_orders adapter = new Recyclerviewadapter_deliverer_orders(requireContext(),openOrders); + recyclerView.setAdapter(adapter); + adapter.notifyDataSetChanged(); + return rootView; } @Override @@ -37,4 +66,15 @@ public class DelivererOpenOrdersFragment extends Fragment { // TODO: Use the ViewModel } + public static void setVec(){ + openOrders = new Vector<>(); + for(Customer c: MampfMobil.customers){ + for(Bestellung b:c.bestellungen){ + if(b.state.equals("ready for transportation") && b.delivery){ + openOrders.add(b); + } + } + } + } + } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_customer_shop.xml b/app/src/main/res/layout/fragment_customer_shop.xml index 1f47452be4d4a689132d551d279822d2d9381a13..eeb1f672ff31b31946a5c37edc8401ff897fd834 100644 --- a/app/src/main/res/layout/fragment_customer_shop.xml +++ b/app/src/main/res/layout/fragment_customer_shop.xml @@ -10,8 +10,8 @@ <EditText android:id="@+id/editTextSearch" - android:layout_width="248dp" - android:layout_height="41dp" + android:layout_width="231dp" + android:layout_height="37dp" android:layout_marginTop="8dp" android:hint="@android:string/search_go" android:inputType="textPersonName" @@ -37,9 +37,10 @@ <Button android:id="@+id/searchButton" - android:layout_width="117dp" - android:layout_height="49dp" + android:layout_width="109dp" + android:layout_height="39dp" android:layout_marginTop="4dp" + android:layout_marginEnd="4dp" android:text="@android:string/search_go" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/editTextSearch" diff --git a/app/src/main/res/layout/fragment_deliverer_active_orders.xml b/app/src/main/res/layout/fragment_deliverer_active_orders.xml index bcd76b01363a0617b402394834d03cd4970c492e..156867a9a877cfa68e15d8818e7d8e5209fbaf48 100644 --- a/app/src/main/res/layout/fragment_deliverer_active_orders.xml +++ b/app/src/main/res/layout/fragment_deliverer_active_orders.xml @@ -1,13 +1,24 @@ -<?xml version="1.0" encoding="utf-8"?> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" - android:layout_width="match_parent" - android:layout_height="match_parent" - tools:context=".ui.deliverer.DelivererActiveOrdersFragment"> - - <TextView + + <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:text="Active Orders Frgament" /> + android:paddingBottom="?attr/actionBarSize" + tools:context=".ui.deliverer.DelivererActiveOrdersFragment"> + + + <androidx.recyclerview.widget.RecyclerView + android:id="@+id/mySupplierOrdersRecycler" + android:layout_width="match_parent" + android:layout_height="match_parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.0" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.0"> + + </androidx.recyclerview.widget.RecyclerView> -</FrameLayout> \ No newline at end of file + </androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_deliverer_closed_orders.xml b/app/src/main/res/layout/fragment_deliverer_closed_orders.xml index 9538b728209c46056cc188f70a2b40a2c485ed7e..dc7f45249a417a74a72bf81915a13a0d3e48bdc7 100644 --- a/app/src/main/res/layout/fragment_deliverer_closed_orders.xml +++ b/app/src/main/res/layout/fragment_deliverer_closed_orders.xml @@ -1,13 +1,24 @@ -<?xml version="1.0" encoding="utf-8"?> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" - android:layout_width="match_parent" - android:layout_height="match_parent" - tools:context=".ui.deliverer.DelivererClosedOrdersFragment"> - - <TextView + + <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:text="Closed Orders Fragment" /> + android:paddingBottom="?attr/actionBarSize" + tools:context=".ui.deliverer.DelivererClosedOrdersFragment"> + + + <androidx.recyclerview.widget.RecyclerView + android:id="@+id/mySupplierOrdersRecycler" + android:layout_width="match_parent" + android:layout_height="match_parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.0" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.0"> + + </androidx.recyclerview.widget.RecyclerView> -</FrameLayout> \ No newline at end of file + </androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_deliverer_open_orders.xml b/app/src/main/res/layout/fragment_deliverer_open_orders.xml index 2aa75d080d974b29109d07f34aca9e3a5470508d..6b9d1fa05ecb8873fa74fca175ea2008b61b174c 100644 --- a/app/src/main/res/layout/fragment_deliverer_open_orders.xml +++ b/app/src/main/res/layout/fragment_deliverer_open_orders.xml @@ -1,13 +1,24 @@ -<?xml version="1.0" encoding="utf-8"?> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" + +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:paddingBottom="?attr/actionBarSize" tools:context=".ui.deliverer.DelivererOpenOrdersFragment"> - <TextView + + <androidx.recyclerview.widget.RecyclerView + android:id="@+id/mySupplierOrdersRecycler" android:layout_width="match_parent" android:layout_height="match_parent" - android:text="Open Orders Fragment" /> + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.0" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.0"> + + </androidx.recyclerview.widget.RecyclerView> -</FrameLayout> \ No newline at end of file +</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/recyclerview_deliverer_orderrow.xml b/app/src/main/res/layout/recyclerview_deliverer_orderrow.xml new file mode 100644 index 0000000000000000000000000000000000000000..b67bb29d1776d55e3893a02bc683aa0c1ac5a3a2 --- /dev/null +++ b/app/src/main/res/layout/recyclerview_deliverer_orderrow.xml @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <androidx.cardview.widget.CardView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="5dp" + android:layout_marginTop="5dp" + android:layout_marginStart="5dp" + android:layout_marginEnd="5dp" + app:cardBackgroundColor="@color/cardview_light_background" + app:cardCornerRadius="20dp" + app:cardElevation="5dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" > + + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <TextView + android:id="@+id/textViewID" + android:layout_width="107dp" + android:layout_height="27dp" + android:layout_marginStart="10dp" + android:text="1" + android:textSize="20sp" + android:textStyle="bold" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + <TextView + android:id="@+id/textView7" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/state_dp" + app:layout_constraintStart_toStartOf="@+id/textViewID" + app:layout_constraintTop_toBottomOf="@+id/buttonReady" /> + + <TextView + android:id="@+id/textViewState" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:text="Der aktuelle Status oder so" + app:layout_constraintStart_toEndOf="@+id/textView7" + app:layout_constraintTop_toBottomOf="@+id/buttonReady" /> + + <Button + android:id="@+id/buttonReady" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginEnd="8dp" + android:text="Ready" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + <TextView + android:id="@+id/textView14" + android:layout_width="180dp" + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:text="Gumkmistraße 10" + app:layout_constraintStart_toEndOf="@+id/textView15" + app:layout_constraintTop_toBottomOf="@+id/textViewState" /> + + <TextView + android:id="@+id/textView15" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="Supplieraddress:" + app:layout_constraintStart_toStartOf="@+id/textView7" + app:layout_constraintTop_toBottomOf="@+id/textView7" /> + + <TextView + android:id="@+id/textView16" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="Costumeraddress:" + app:layout_constraintStart_toStartOf="@+id/textView15" + app:layout_constraintTop_toBottomOf="@+id/textView14" /> + + <TextView + android:id="@+id/textView17" + android:layout_width="180dp" + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:text="Adresse baum ioch komme" + app:layout_constraintStart_toEndOf="@+id/textView16" + app:layout_constraintTop_toBottomOf="@+id/textView14" /> + + + </androidx.constraintlayout.widget.ConstraintLayout> + </androidx.cardview.widget.CardView> + +</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file