diff --git a/.idea/misc.xml b/.idea/misc.xml
index 0ad17cb..971bd43 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -7,4 +7,11 @@
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemCheckingAdapter.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemCheckingAdapter.java
deleted file mode 100644
index 3020856..0000000
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemCheckingAdapter.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package com.utopiaindustries.qualitycontrol.adapters;
-
-import android.content.Context;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.Spinner;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.utopiaindustries.qualitycontrol.R;
-import com.utopiaindustries.qualitycontrol.models.Item;
-import com.utopiaindustries.qualitycontrol.utils.SharedViewModel;
-
-import java.util.List;
-
-public class ItemCheckingAdapter extends RecyclerView.Adapter {
-
- private final Context context;
- private final List- items;
- private final String[] dropdownOptions = {"1", "2", "3", "4", "5"};
- SharedViewModel viewModel;
-
- public ItemCheckingAdapter(Context context, List
- items, SharedViewModel viewModel) {
- this.context = context;
- this.items = items;
- this.viewModel = viewModel;
- }
-
- @NonNull
- @Override
- public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(context).inflate(R.layout.item_recycler_view, parent, false);
- return new ItemViewHolder(view);
- }
-
- @Override
- public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Item currentItem = items.get(position);
- holder.tvItemName.setText(currentItem.getName());
-
- ArrayAdapter adapter = new ArrayAdapter<>(context,R.layout.spinner_style,dropdownOptions);
- adapter.setDropDownViewResource(R.layout.spinner_style);
- // Set up the Spinner (Dropdown)
- /*ArrayAdapter adapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_item, dropdownOptions);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);*/
- holder.spinnerOptions.setAdapter(adapter);
-
- // Preselect an option if needed
- holder.spinnerOptions.setSelection(currentItem.getSelectedOption());
-
- // Save selected option when user selects one
- holder.spinnerOptions.setOnItemSelectedListener(new android.widget.AdapterView.OnItemSelectedListener() {
- @Override
- public void onItemSelected(android.widget.AdapterView> parent, View view, int sub_position, long id) {
- //currentItem.setSelectedOption(position); // Save the selected option
-
- if (currentItem.getSelectedOption() != sub_position) { // Avoid unnecessary updates
- currentItem.setSelectedOption(sub_position); // Save the selected option
- Log.e("Position: ",""+holder.getAdapterPosition());
- Log.e("Sub-Position: ",""+sub_position);
-
- switch (holder.getAdapterPosition()) {
- case 0:
- viewModel.setCheckingSort(sub_position);
- break;
-
- case 1:
- viewModel.setCheckingSetInOrder(sub_position);
- break;
-
- case 2:
- viewModel.setCheckingShine(sub_position);
- break;
-
- case 3:
- viewModel.setCheckingStandardize(sub_position);
- break;
-
- case 4:
- viewModel.setCheckingSustain(sub_position);
- break;
-
- case 5:
- viewModel.setCheckingSafety(sub_position);
- break;
- }
- }
- }
-
- @Override
- public void onNothingSelected(android.widget.AdapterView> parent) {
- // Do nothing
- }
- });
- }
-
- @Override
- public int getItemCount() {
- return items.size();
- }
-
- public static class ItemViewHolder extends RecyclerView.ViewHolder {
- TextView tvItemName;
- Spinner spinnerOptions;
-
- public ItemViewHolder(@NonNull View itemView) {
- super(itemView);
- tvItemName = itemView.findViewById(R.id.tv_item_name);
- spinnerOptions = itemView.findViewById(R.id.spinner_item_options);
- }
- }
-}
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemCuttingAdapter.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemCuttingAdapter.java
deleted file mode 100644
index d61edfb..0000000
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemCuttingAdapter.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package com.utopiaindustries.qualitycontrol.adapters;
-
-import android.content.Context;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.Spinner;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.utopiaindustries.qualitycontrol.R;
-import com.utopiaindustries.qualitycontrol.models.Item;
-import com.utopiaindustries.qualitycontrol.utils.SharedViewModel;
-
-import java.util.List;
-
-public class ItemCuttingAdapter extends RecyclerView.Adapter {
-
- private final Context context;
- private final List
- items;
- private final String[] dropdownOptions = {"1", "2", "3", "4", "5"};
- SharedViewModel viewModel;
-
- public ItemCuttingAdapter(Context context, List
- items, SharedViewModel viewModel) {
- this.context = context;
- this.items = items;
- this.viewModel = viewModel;
- }
-
- @NonNull
- @Override
- public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(context).inflate(R.layout.item_recycler_view, parent, false);
- return new ItemViewHolder(view);
- }
-
- @Override
- public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Item currentItem = items.get(position);
- holder.tvItemName.setText(currentItem.getName());
-
- ArrayAdapter adapter = new ArrayAdapter<>(context,R.layout.spinner_style,dropdownOptions);
- adapter.setDropDownViewResource(R.layout.spinner_style);
- // Set up the Spinner (Dropdown)
- /*ArrayAdapter adapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_item, dropdownOptions);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);*/
- holder.spinnerOptions.setAdapter(adapter);
-
- // Preselect an option if needed
- holder.spinnerOptions.setSelection(currentItem.getSelectedOption());
-
- // Save selected option when user selects one
- holder.spinnerOptions.setOnItemSelectedListener(new android.widget.AdapterView.OnItemSelectedListener() {
- @Override
- public void onItemSelected(android.widget.AdapterView> parent, View view, int sub_position, long id) {
- //currentItem.setSelectedOption(position); // Save the selected option
-
- if (currentItem.getSelectedOption() != sub_position) { // Avoid unnecessary updates
- currentItem.setSelectedOption(sub_position); // Save the selected option
- Log.e("Position: ",""+holder.getAdapterPosition());
- Log.e("Sub-Position: ",""+sub_position);
-
- switch (holder.getAdapterPosition()) {
- case 0:
- viewModel.setCuttingSort(sub_position);
- break;
-
- case 1:
- viewModel.setCuttingSetInOrder(sub_position);
- break;
-
- case 2:
- viewModel.setCuttingShine(sub_position);
- break;
-
- case 3:
- viewModel.setCuttingStandardize(sub_position);
- break;
-
- case 4:
- viewModel.setCuttingSustain(sub_position);
- break;
-
- case 5:
- viewModel.setCuttingSafety(sub_position);
- break;
- }
- }
- }
-
- @Override
- public void onNothingSelected(android.widget.AdapterView> parent) {
- // Do nothing
- }
- });
- }
-
- @Override
- public int getItemCount() {
- return items.size();
- }
-
- public static class ItemViewHolder extends RecyclerView.ViewHolder {
- TextView tvItemName;
- Spinner spinnerOptions;
-
- public ItemViewHolder(@NonNull View itemView) {
- super(itemView);
- tvItemName = itemView.findViewById(R.id.tv_item_name);
- spinnerOptions = itemView.findViewById(R.id.spinner_item_options);
- }
- }
-}
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemPackingAdapter.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemPackingAdapter.java
deleted file mode 100644
index 277502f..0000000
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemPackingAdapter.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package com.utopiaindustries.qualitycontrol.adapters;
-
-import android.content.Context;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.Spinner;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.utopiaindustries.qualitycontrol.R;
-import com.utopiaindustries.qualitycontrol.models.Item;
-import com.utopiaindustries.qualitycontrol.utils.SharedViewModel;
-
-import java.util.List;
-
-public class ItemPackingAdapter extends RecyclerView.Adapter {
-
- private final Context context;
- private final List
- items;
- private final String[] dropdownOptions = {"1", "2", "3", "4", "5"};
- SharedViewModel viewModel;
-
- public ItemPackingAdapter(Context context, List
- items, SharedViewModel viewModel) {
- this.context = context;
- this.items = items;
- this.viewModel = viewModel;
- }
-
- @NonNull
- @Override
- public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(context).inflate(R.layout.item_recycler_view, parent, false);
- return new ItemViewHolder(view);
- }
-
- @Override
- public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Item currentItem = items.get(position);
- holder.tvItemName.setText(currentItem.getName());
-
- ArrayAdapter adapter = new ArrayAdapter<>(context,R.layout.spinner_style,dropdownOptions);
- adapter.setDropDownViewResource(R.layout.spinner_style);
- // Set up the Spinner (Dropdown)
- /*ArrayAdapter adapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_item, dropdownOptions);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);*/
- holder.spinnerOptions.setAdapter(adapter);
-
- // Preselect an option if needed
- holder.spinnerOptions.setSelection(currentItem.getSelectedOption());
-
- // Save selected option when user selects one
- holder.spinnerOptions.setOnItemSelectedListener(new android.widget.AdapterView.OnItemSelectedListener() {
- @Override
- public void onItemSelected(android.widget.AdapterView> parent, View view, int sub_position, long id) {
- //currentItem.setSelectedOption(position); // Save the selected option
-
- if (currentItem.getSelectedOption() != sub_position) { // Avoid unnecessary updates
- currentItem.setSelectedOption(sub_position); // Save the selected option
- Log.e("Position: ",""+holder.getAdapterPosition());
- Log.e("Sub-Position: ",""+sub_position);
-
- switch (holder.getAdapterPosition()) {
- case 0:
- viewModel.setPackingSort(sub_position);
- break;
-
- case 1:
- viewModel.setPackingSetInOrder(sub_position);
- break;
-
- case 2:
- viewModel.setPackingShine(sub_position);
- break;
-
- case 3:
- viewModel.setPackingStandardize(sub_position);
- break;
-
- case 4:
- viewModel.setPackingSustain(sub_position);
- break;
-
- case 5:
- viewModel.setPackingSafety(sub_position);
- break;
- }
- }
- }
-
- @Override
- public void onNothingSelected(android.widget.AdapterView> parent) {
- // Do nothing
- }
- });
- }
-
- @Override
- public int getItemCount() {
- return items.size();
- }
-
- public static class ItemViewHolder extends RecyclerView.ViewHolder {
- TextView tvItemName;
- Spinner spinnerOptions;
-
- public ItemViewHolder(@NonNull View itemView) {
- super(itemView);
- tvItemName = itemView.findViewById(R.id.tv_item_name);
- spinnerOptions = itemView.findViewById(R.id.spinner_item_options);
- }
- }
-}
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemStepsAdapter.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemStepsAdapter.java
new file mode 100644
index 0000000..6545ff6
--- /dev/null
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemStepsAdapter.java
@@ -0,0 +1,134 @@
+package com.utopiaindustries.qualitycontrol.adapters;
+
+import android.content.Context;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.AutoCompleteTextView;
+import android.widget.EditText;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.utopiaindustries.qualitycontrol.R;
+import com.utopiaindustries.qualitycontrol.viewmodels.ItemModel;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ItemStepsAdapter extends RecyclerView.Adapter {
+
+ private final Context context;
+ private final List items;
+ private final List dropdownOptions = new ArrayList<>();
+ double percentage = 0.0, selectedValue = 0.0;
+
+ public ItemStepsAdapter(Context context, List items) {
+ this.context = context;
+ this.items = items;
+
+ dropdownOptions.add("1");
+ dropdownOptions.add("2");
+ dropdownOptions.add("3");
+ dropdownOptions.add("4");
+ dropdownOptions.add("5");
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_recycler_view, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ ItemModel currentItem = items.get(position);
+
+ currentItem.setStepId(position + 1);
+ switch (position) {
+ case 0:
+ holder.tvItemName.setText("Sort");
+ break;
+
+ case 1:
+ holder.tvItemName.setText("Set In Order");
+ break;
+
+ case 2:
+ holder.tvItemName.setText("Shine");
+ break;
+
+ case 3:
+ holder.tvItemName.setText("Standardize");
+ break;
+
+ case 4:
+ holder.tvItemName.setText("Sustain");
+ break;
+
+ case 5:
+ holder.tvItemName.setText("Safety");
+ break;
+ }
+
+
+ holder.et_remarks.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ // Do nothing
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ currentItem.setRemarks(s.toString());
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+ // Do nothing
+ }
+ });
+
+ ScoreSpinnerAdapter scoreSpinnerAdapter = new ScoreSpinnerAdapter(context, dropdownOptions);
+ holder.scoreTextview.setAdapter(scoreSpinnerAdapter);
+
+ holder.scoreTextview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view, int sub_position, long id) {
+
+ currentItem.setSelectedOption(sub_position + 1);
+ currentItem.setRating(sub_position + 1);
+
+ selectedValue = Double.parseDouble(parent.getItemAtPosition(sub_position).toString());
+ percentage = (selectedValue / 5) * 100;
+ holder.tvPercentage.setText(String.valueOf(percentage) + " %");
+ currentItem.setPercentage(String.valueOf(percentage));
+ }
+ });
+ }
+
+ @Override
+ public int getItemCount() {
+ return items.size();
+ }
+
+ public static class ItemViewHolder extends RecyclerView.ViewHolder {
+ TextView tvItemName, tvPercentage;
+ AutoCompleteTextView scoreTextview;
+ EditText et_remarks;
+
+ public ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ tvItemName = itemView.findViewById(R.id.tv_item_name);
+ scoreTextview = itemView.findViewById(R.id.score_textview);
+ tvPercentage = itemView.findViewById(R.id.tv_percentage);
+ et_remarks = itemView.findViewById(R.id.et_remarks);
+
+ }
+ }
+}
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemStitchingAdapter.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemStitchingAdapter.java
deleted file mode 100644
index 31ce6b7..0000000
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemStitchingAdapter.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package com.utopiaindustries.qualitycontrol.adapters;
-
-import android.content.Context;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.Spinner;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.utopiaindustries.qualitycontrol.R;
-import com.utopiaindustries.qualitycontrol.models.Item;
-import com.utopiaindustries.qualitycontrol.utils.SharedViewModel;
-
-import java.util.List;
-
-public class ItemStitchingAdapter extends RecyclerView.Adapter {
-
- private final Context context;
- private final List
- items;
- private final String[] dropdownOptions = {"1", "2", "3", "4", "5"};
- SharedViewModel viewModel;
-
- public ItemStitchingAdapter(Context context, List
- items, SharedViewModel viewModel) {
- this.context = context;
- this.items = items;
- this.viewModel = viewModel;
- }
-
- @NonNull
- @Override
- public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(context).inflate(R.layout.item_recycler_view, parent, false);
- return new ItemViewHolder(view);
- }
-
- @Override
- public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Item currentItem = items.get(position);
- holder.tvItemName.setText(currentItem.getName());
-
- ArrayAdapter adapter = new ArrayAdapter<>(context,R.layout.spinner_style,dropdownOptions);
- adapter.setDropDownViewResource(R.layout.spinner_style);
- // Set up the Spinner (Dropdown)
- /*ArrayAdapter adapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_item, dropdownOptions);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);*/
- holder.spinnerOptions.setAdapter(adapter);
-
- // Preselect an option if needed
- holder.spinnerOptions.setSelection(currentItem.getSelectedOption());
-
- // Save selected option when user selects one
- holder.spinnerOptions.setOnItemSelectedListener(new android.widget.AdapterView.OnItemSelectedListener() {
- @Override
- public void onItemSelected(android.widget.AdapterView> parent, View view, int sub_position, long id) {
- //currentItem.setSelectedOption(position); // Save the selected option
-
- if (currentItem.getSelectedOption() != sub_position) { // Avoid unnecessary updates
- currentItem.setSelectedOption(sub_position); // Save the selected option
- Log.e("Position: ",""+holder.getAdapterPosition());
- Log.e("Sub-Position: ",""+sub_position);
-
- switch (holder.getAdapterPosition()) {
- case 0:
- viewModel.setStitchingSort(sub_position);
- break;
-
- case 1:
- viewModel.setStitchingSetInOrder(sub_position);
- break;
-
- case 2:
- viewModel.setStitchingShine(sub_position);
- break;
-
- case 3:
- viewModel.setStitchingStandardize(sub_position);
- break;
-
- case 4:
- viewModel.setStitchingSustain(sub_position);
- break;
-
- case 5:
- viewModel.setStitchingSafety(sub_position);
- break;
- }
- }
- }
-
- @Override
- public void onNothingSelected(android.widget.AdapterView> parent) {
- // Do nothing
- }
- });
- }
-
- @Override
- public int getItemCount() {
- return items.size();
- }
-
- public static class ItemViewHolder extends RecyclerView.ViewHolder {
- TextView tvItemName;
- Spinner spinnerOptions;
-
- public ItemViewHolder(@NonNull View itemView) {
- super(itemView);
- tvItemName = itemView.findViewById(R.id.tv_item_name);
- spinnerOptions = itemView.findViewById(R.id.spinner_item_options);
- }
- }
-}
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemSubstoreAdapter.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemSubstoreAdapter.java
deleted file mode 100644
index 475121b..0000000
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemSubstoreAdapter.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package com.utopiaindustries.qualitycontrol.adapters;
-
-import android.content.Context;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.Spinner;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.utopiaindustries.qualitycontrol.R;
-import com.utopiaindustries.qualitycontrol.models.Item;
-import com.utopiaindustries.qualitycontrol.utils.SharedViewModel;
-
-import java.util.List;
-
-public class ItemSubstoreAdapter extends RecyclerView.Adapter {
-
- private final Context context;
- private final List
- items;
- private final String[] dropdownOptions = {"1", "2", "3", "4", "5"};
- SharedViewModel viewModel;
-
- public ItemSubstoreAdapter(Context context, List
- items, SharedViewModel viewModel) {
- this.context = context;
- this.items = items;
- this.viewModel = viewModel;
- }
-
- @NonNull
- @Override
- public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(context).inflate(R.layout.item_recycler_view, parent, false);
- return new ItemViewHolder(view);
- }
-
- @Override
- public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Item currentItem = items.get(position);
- holder.tvItemName.setText(currentItem.getName());
-
- ArrayAdapter adapter = new ArrayAdapter<>(context,R.layout.spinner_style,dropdownOptions);
- adapter.setDropDownViewResource(R.layout.spinner_style);
- // Set up the Spinner (Dropdown)
- /*ArrayAdapter adapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_item, dropdownOptions);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);*/
- holder.spinnerOptions.setAdapter(adapter);
-
- // Preselect an option if needed
- holder.spinnerOptions.setSelection(currentItem.getSelectedOption());
-
- // Save selected option when user selects one
- holder.spinnerOptions.setOnItemSelectedListener(new android.widget.AdapterView.OnItemSelectedListener() {
- @Override
- public void onItemSelected(android.widget.AdapterView> parent, View view, int sub_position, long id) {
- //currentItem.setSelectedOption(position); // Save the selected option
-
- if (currentItem.getSelectedOption() != sub_position) { // Avoid unnecessary updates
- currentItem.setSelectedOption(sub_position); // Save the selected option
- Log.e("Position: ",""+holder.getAdapterPosition());
- Log.e("Sub-Position: ",""+sub_position);
-
- switch (holder.getAdapterPosition()) {
- case 0:
- viewModel.setCuttingSort(sub_position);
- break;
-
- case 1:
- viewModel.setSubStoreSetInOrder(sub_position);
- break;
-
- case 2:
- viewModel.setSubStoreShine(sub_position);
- break;
-
- case 3:
- viewModel.setSubStoreStandardize(sub_position);
- break;
-
- case 4:
- viewModel.setSubStoreSustain(sub_position);
- break;
-
- case 5:
- viewModel.setSubStoreSafety(sub_position);
- break;
- }
- }
- }
-
- @Override
- public void onNothingSelected(android.widget.AdapterView> parent) {
- // Do nothing
- }
- });
- }
-
- @Override
- public int getItemCount() {
- return items.size();
- }
-
- public static class ItemViewHolder extends RecyclerView.ViewHolder {
- TextView tvItemName;
- Spinner spinnerOptions;
-
- public ItemViewHolder(@NonNull View itemView) {
- super(itemView);
- tvItemName = itemView.findViewById(R.id.tv_item_name);
- spinnerOptions = itemView.findViewById(R.id.spinner_item_options);
- }
- }
-}
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ScoreSpinnerAdapter.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ScoreSpinnerAdapter.java
new file mode 100644
index 0000000..d480a9c
--- /dev/null
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ScoreSpinnerAdapter.java
@@ -0,0 +1,40 @@
+package com.utopiaindustries.qualitycontrol.adapters;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.TextView;
+
+import com.utopiaindustries.qualitycontrol.R;
+import com.utopiaindustries.qualitycontrol.models.LocationSite;
+
+import java.util.List;
+
+public class ScoreSpinnerAdapter extends ArrayAdapter {
+
+ private final Context context;
+ private final List items;
+
+ public ScoreSpinnerAdapter(Context context, List items) {
+ super(context, 0, items);
+ this.context = context;
+ this.items = items;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ if (convertView == null) {
+ convertView = LayoutInflater.from(context).inflate(R.layout.list_items, parent, false);
+ }
+
+ String item = items.get(position);
+
+ TextView titleTextView = convertView.findViewById(R.id.item_text);
+
+ titleTextView.setText(item);
+
+ return convertView;
+ }
+}
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/UnitAdapter.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/UnitAdapter.java
new file mode 100644
index 0000000..f844031
--- /dev/null
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/UnitAdapter.java
@@ -0,0 +1,41 @@
+package com.utopiaindustries.qualitycontrol.adapters;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.TextView;
+
+import com.utopiaindustries.qualitycontrol.R;
+import com.utopiaindustries.qualitycontrol.models.LocationFloor;
+import com.utopiaindustries.qualitycontrol.models.LocationUnit;
+
+import java.util.List;
+
+public class UnitAdapter extends ArrayAdapter {
+
+ private final Context context;
+ private final List items;
+
+ public UnitAdapter(Context context, List items) {
+ super(context, 0, items);
+ this.context = context;
+ this.items = items;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ if (convertView == null) {
+ convertView = LayoutInflater.from(context).inflate(R.layout.list_items, parent, false);
+ }
+
+ LocationUnit item = items.get(position);
+
+ TextView titleTextView = convertView.findViewById(R.id.item_text);
+
+ titleTextView.setText(item.getTitle());
+
+ return convertView;
+ }
+}
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/CheckingFragment.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/CheckingFragment.java
index a7b4c9a..5d9fce0 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/CheckingFragment.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/CheckingFragment.java
@@ -30,6 +30,7 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
+import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
@@ -37,10 +38,9 @@ import android.widget.Toast;
import com.utopiaindustries.qualitycontrol.R;
import com.utopiaindustries.qualitycontrol.activities.HomeActivity;
import com.utopiaindustries.qualitycontrol.adapters.ImageAdapter;
-import com.utopiaindustries.qualitycontrol.adapters.ItemCheckingAdapter;
-import com.utopiaindustries.qualitycontrol.adapters.ItemCuttingAdapter;
-import com.utopiaindustries.qualitycontrol.models.Item;
-import com.utopiaindustries.qualitycontrol.utils.SharedViewModel;
+import com.utopiaindustries.qualitycontrol.adapters.ItemStepsAdapter;
+import com.utopiaindustries.qualitycontrol.utils.QualityControlViewModel;
+import com.utopiaindustries.qualitycontrol.viewmodels.ItemModel;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -68,7 +68,8 @@ public class CheckingFragment extends Fragment implements EasyPermissions.Permis
ArrayList imageList = new ArrayList<>();
Button nextButton;
ImageButton imagePicker, deleteImage;
- SharedViewModel sharedViewModel;
+ EditText etPercentage, etRemarks;
+ QualityControlViewModel viewModel;
// Activity Result Launcher for Gallery
private final ActivityResultLauncher imagePickerLauncher =
@@ -146,25 +147,55 @@ public class CheckingFragment extends Fragment implements EasyPermissions.Permis
initializeLayout(view);
- List
- itemList = new ArrayList<>();
+ /* List
- itemList = new ArrayList<>();
itemList.add(new Item("Sort", 0));
itemList.add(new Item("Set in Order", 0));
itemList.add(new Item("Shine", 0));
itemList.add(new Item("Standardize", 0));
itemList.add(new Item("Sustain", 0));
- itemList.add(new Item("Safety", 0));
+ itemList.add(new Item("Safety", 0));*/
- // Set up RecyclerView
- ItemCheckingAdapter adapter = new ItemCheckingAdapter(getActivity(), itemList, sharedViewModel);
+ //New Implemented------------------
+ List itemModelList = new ArrayList<>();
+ for (int i = 1; i < 7; i++) {
+ itemModelList.add(new ItemModel(3,i,0,"0","",0));
+ }
+
+ ItemStepsAdapter adapter = new ItemStepsAdapter(getActivity(), itemModelList);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setAdapter(adapter);
+ //----------------------------------
imageAdapter = new ImageAdapter(imageList, getActivity());
imageRecyclerView.setAdapter(imageAdapter);
nextButton.setOnClickListener(v -> {
if (getActivity() instanceof HomeActivity) {
- ((HomeActivity) getActivity()).navigateToFragment(new PackingFragment(), true);
+
+ List updatedItemList = itemModelList; // Or adapter.getItemList()
+
+ for (ItemModel item : updatedItemList) {
+ Log.e("AdapterData", "ProcessId: " + item.getProcessId() +
+ ", StepId: " + item.getStepId() +
+ ", SpinnerSelection: " + item.getSelectedOption() +
+ ", Rating: " + item.getRating() +
+ ", Percentage: " + item.getPercentage() +
+ ", Remarks: " + item.getRemarks());
+ }
+
+ viewModel.appendToQualityControlItemList(itemModelList);
+
+ /* if (etRemarks.getText().toString().isEmpty()) {
+ Toast.makeText(getActivity(), "Please enter remarks", Toast.LENGTH_SHORT).show();
+ }
+ else {*/
+ /*sharedViewModel.setCheckingPercentage(etPercentage.getText().toString());
+ sharedViewModel.setCheckingRemarks(etRemarks.getText().toString());
+ if (!imageList.isEmpty()) {
+ sharedViewModel.setCheckingImageList(imageList);
+ }*/
+ ((HomeActivity) getActivity()).navigateToFragment(new PackingFragment(), true);
+ // }
}
});
@@ -191,7 +222,10 @@ public class CheckingFragment extends Fragment implements EasyPermissions.Permis
private void initializeLayout(View view) {
- sharedViewModel = new ViewModelProvider(requireActivity()).get(SharedViewModel.class);
+ viewModel = new ViewModelProvider(requireActivity()).get(QualityControlViewModel.class);
+
+ etPercentage = view.findViewById(R.id.et_percentage);
+ etRemarks = view.findViewById(R.id.et_remarks);
imagePicker = view.findViewById(R.id.image_picker);
deleteImage = view.findViewById(R.id.delete_image);
nextButton = view.findViewById(R.id.btn_next);
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/CuttingFragment.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/CuttingFragment.java
index 3673950..f84056f 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/CuttingFragment.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/CuttingFragment.java
@@ -30,6 +30,7 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
+import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
@@ -37,12 +38,12 @@ import android.widget.Toast;
import com.utopiaindustries.qualitycontrol.R;
import com.utopiaindustries.qualitycontrol.activities.HomeActivity;
import com.utopiaindustries.qualitycontrol.adapters.ImageAdapter;
-import com.utopiaindustries.qualitycontrol.adapters.ItemCuttingAdapter;
+import com.utopiaindustries.qualitycontrol.adapters.ItemStepsAdapter;
import com.utopiaindustries.qualitycontrol.helper.Helper;
-import com.utopiaindustries.qualitycontrol.models.Item;
import com.utopiaindustries.qualitycontrol.models.QualityControlProcessStep;
import com.utopiaindustries.qualitycontrol.models.QualityControlResponse;
-import com.utopiaindustries.qualitycontrol.utils.SharedViewModel;
+import com.utopiaindustries.qualitycontrol.utils.QualityControlViewModel;
+import com.utopiaindustries.qualitycontrol.viewmodels.ItemModel;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -71,7 +72,8 @@ public class CuttingFragment extends Fragment implements EasyPermissions.Permiss
ArrayList imageList = new ArrayList<>();
ArrayList qualityControlProcessStepList = new ArrayList<>();
QualityControlResponse qualityControlResponse;
- SharedViewModel sharedViewModel;
+ QualityControlViewModel viewModel;
+ EditText etPercentage, etRemarks;
// Activity Result Launcher for Gallery
private final ActivityResultLauncher imagePickerLauncher =
@@ -148,25 +150,113 @@ public class CuttingFragment extends Fragment implements EasyPermissions.Permiss
initializeLayout(view);
- List
- itemList = new ArrayList<>();
+ /* List
- itemList = new ArrayList<>();
itemList.add(new Item("Sort", 0));
itemList.add(new Item("Set in Order", 0));
itemList.add(new Item("Shine", 0));
itemList.add(new Item("Standardize", 0));
itemList.add(new Item("Sustain", 0));
- itemList.add(new Item("Safety", 0));
+ itemList.add(new Item("Safety", 0));*/
// Set up RecyclerView
- ItemCuttingAdapter adapter = new ItemCuttingAdapter(getActivity(), itemList, sharedViewModel);
+ /*ItemCuttingAdapter adapter = new ItemCuttingAdapter(getActivity(), itemList, sharedViewModel);
+ recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
+ recyclerView.setAdapter(adapter);*/
+
+ //New Implemented------------------
+ List itemModelList = new ArrayList<>();
+ for (int i = 1; i < 7; i++) {
+ itemModelList.add(new ItemModel(1,i,0,"0","",0));
+ }
+
+ ItemStepsAdapter adapter = new ItemStepsAdapter(getActivity(), itemModelList);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setAdapter(adapter);
+ //----------------------------------
imageAdapter = new ImageAdapter(imageList, getActivity());
imageRecyclerView.setAdapter(imageAdapter);
nextButton.setOnClickListener(v -> {
if (getActivity() instanceof HomeActivity) {
- ((HomeActivity) getActivity()).navigateToFragment(new StitchingFragment(), true);
+
+ List updatedItemList = itemModelList; // Or adapter.getItemList()
+
+ for (ItemModel item : updatedItemList) {
+ Log.e("AdapterData", "ProcessId: " + item.getProcessId() +
+ ", StepId: " + item.getStepId() +
+ ", SpinnerSelection: " + item.getSelectedOption() +
+ ", Rating: " + item.getRating() +
+ ", Percentage: " + item.getPercentage() +
+ ", Remarks: " + item.getRemarks());
+ }
+
+ viewModel.appendToQualityControlItemList(itemModelList);
+
+
+
+ /*Log.e("Cutting: ","----------------");
+ Log.e("Sort: ",""+sharedViewModel.getCuttingSort());
+ Log.e("Set-Order: ",""+sharedViewModel.getCuttingSetInOrder());
+ Log.e("Shine: ",""+sharedViewModel.getCuttingShine());
+ Log.e("Standardize: ",""+sharedViewModel.getCuttingStandardize());
+ Log.e("Sustain: ",""+sharedViewModel.getCuttingSustain());
+ Log.e("Safety: ",""+sharedViewModel.getCuttingSafety());
+ Log.e("Cutting-Remarks: ",""+sharedViewModel.getCuttingRemarks());
+ List tempList = new ArrayList<>();
+ for (int i = 1 ; i < 6 ; i++) {
+ ItemModel itemModel = new ItemModel();
+ itemModel.setProcessId(1);
+ itemModel.setStepId(i);
+ switch (i) {
+ case 1:
+ itemModel.setSort(sharedViewModel.getCuttingSort());
+ break;
+
+ case 2:
+ itemModel.setSetInOrder(sharedViewModel.getCuttingSetInOrder());
+ break;
+
+ case 3:
+ itemModel.setShine(sharedViewModel.getCuttingShine());
+ break;
+
+ case 4:
+ itemModel.setStandardize(sharedViewModel.getCuttingStandardize());
+ break;
+
+ case 5:
+ itemModel.setSustain(sharedViewModel.getCuttingSustain());
+ break;
+
+ case 6:
+ itemModel.setSafety(sharedViewModel.getCuttingSafety());
+ break;
+ }
+ itemModel.setPercentage(sharedViewModel.getCuttingPercentage());
+ itemModel.setRemarks(sharedViewModel.getCuttingRemarks());
+
+ tempList.add(itemModel);
+ }
+
+ sharedViewModel.setItemList(tempList);*/
+
+ /*if (etRemarks.getText().toString().isEmpty()) {
+ Toast.makeText(getActivity(), "Please enter remarks", Toast.LENGTH_SHORT).show();
+ }
+ else {*/
+ //sharedViewModel.setCuttingPercentage(etPercentage.getText().toString());
+ //sharedViewModel.setCuttingRemarks(etRemarks.getText().toString());
+
+ //click to next fragment
+ /*if (imageList.size() > 0) {
+ sharedViewModel.setCuttingImageList(imageList);
+ }*/
+
+ ((HomeActivity) getActivity()).navigateToFragment(new StitchingFragment(), true);
+
+ // }
+
}
});
@@ -188,8 +278,10 @@ public class CuttingFragment extends Fragment implements EasyPermissions.Permiss
private void initializeLayout(View view) {
- sharedViewModel = new ViewModelProvider(requireActivity()).get(SharedViewModel.class);
+ viewModel = new ViewModelProvider(requireActivity()).get(QualityControlViewModel.class);
+ etPercentage = view.findViewById(R.id.et_percentage);
+ etRemarks = view.findViewById(R.id.et_remarks);
imagePicker = view.findViewById(R.id.image_picker);
deleteImage = view.findViewById(R.id.delete_image);
nextButton = view.findViewById(R.id.btn_next);
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/HomeFragment.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/HomeFragment.java
index 709a05e..e60ab1a 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/HomeFragment.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/HomeFragment.java
@@ -1,6 +1,5 @@
package com.utopiaindustries.qualitycontrol.fragments;
-import android.content.Intent;
import android.os.Bundle;
import androidx.annotation.NonNull;
@@ -17,7 +16,6 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.EditText;
@@ -29,15 +27,15 @@ import com.utopiaindustries.qualitycontrol.activities.HomeActivity;
import com.utopiaindustries.qualitycontrol.adapters.DepartmentItemAdapter;
import com.utopiaindustries.qualitycontrol.adapters.FloorAdapter;
import com.utopiaindustries.qualitycontrol.adapters.LocationSitesAdapter;
+import com.utopiaindustries.qualitycontrol.adapters.UnitAdapter;
import com.utopiaindustries.qualitycontrol.helper.Helper;
-import com.utopiaindustries.qualitycontrol.helper.Preference;
import com.utopiaindustries.qualitycontrol.models.Department;
import com.utopiaindustries.qualitycontrol.models.LocationFloor;
import com.utopiaindustries.qualitycontrol.models.LocationSite;
+import com.utopiaindustries.qualitycontrol.models.LocationUnit;
import com.utopiaindustries.qualitycontrol.models.QualityControlProcess;
-import com.utopiaindustries.qualitycontrol.models.QualityControlProcessStep;
import com.utopiaindustries.qualitycontrol.utils.ProgressDialogFragment;
-import com.utopiaindustries.qualitycontrol.utils.SharedViewModel;
+import com.utopiaindustries.qualitycontrol.utils.QualityControlViewModel;
import com.utopiaindustries.qualitycontrol.viewmodels.LoginViewModel;
import java.text.SimpleDateFormat;
@@ -50,14 +48,16 @@ import java.util.stream.Collectors;
public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnItemClickListener{
- AutoCompleteTextView locationTextview, departmentTextView, floorTextview;
+ AutoCompleteTextView locationSiteTextview, departmentTextView, unitTextview, floorTextview;
TextView txtCurrentDate;
LoginViewModel loginViewModel;
Button nextButton;
LocationSitesAdapter locationSitesAdapter;
+ UnitAdapter unitAdapter;
FloorAdapter floorAdapter;
+ ArrayList locationUnitList = new ArrayList<>();
ArrayList locationFloorList = new ArrayList<>();
ArrayList locationSiteList = new ArrayList<>();
ArrayList departmentList = new ArrayList<>();
@@ -67,31 +67,48 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
RecyclerView recyclerView;
List itemList, filteredList;
private DepartmentItemAdapter departmentItemAdapter;
-
- SharedViewModel sharedViewModel;
-
+ QualityControlViewModel viewModel;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_home, container, false);
- Log.e("onCreateView: ","====================");
+ //Log.e("onCreateView: ","====================");
initializeLayout(view);
String date = new SimpleDateFormat("EEEE, MMM d, yyyy", Locale.getDefault()).format(new Date());
txtCurrentDate.setText(date);
- locationTextview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ locationSiteTextview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView> adapterView, View view, int position, long l) {
LocationSite clickedItem = locationSiteList.get(position);
- Log.e("Item-----------: ", clickedItem.getTitle());
- floorTextview.setText("Select Floor");
+ //Log.e("Item-----------: ", clickedItem.getTitle());
+ unitTextview.setText("Select Unit");
//floorTextview.clearListSelection();
+ viewModel.setLocation(String.valueOf(clickedItem.getId()));
- if (!locationFloorList.isEmpty()) {
+ if (!locationUnitList.isEmpty()) {
+ List filteredUnitItems = locationUnitList.stream()
+ .filter(item -> Objects.equals(item.getSiteId(), clickedItem.getId()))
+ .collect(Collectors.toList());
+
+ //Log.e("Filtered-size: ",""+filteredUnitItems.size());
+
+ locationUnitList.clear();
+ locationUnitList.addAll(filteredUnitItems);
+ unitAdapter = new UnitAdapter(getActivity(), filteredUnitItems);
+ unitTextview.setAdapter(unitAdapter);
+
+ // Print filtered items
+ for (LocationUnit item : filteredUnitItems) {
+ //Log.e("Unit-Title: ", item.getTitle());
+ }
+ }
+
+ /*if (!locationFloorList.isEmpty()) {
List filteredItems = locationFloorList.stream()
.filter(item -> Objects.equals(item.getSiteId(), clickedItem.getId()))
.collect(Collectors.toList());
@@ -105,6 +122,33 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
for (LocationFloor item : filteredItems) {
Log.e("Floor-Title: ", item.getTitle());
}
+ }*/
+ }
+ });
+
+ unitTextview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view, int position, long id) {
+ LocationUnit clickedItem = locationUnitList.get(position);
+ //Log.e("Item--unit-----: ", clickedItem.getTitle());
+ viewModel.setUnit(String.valueOf(clickedItem.getId()));
+ int targetSiteId = Integer.parseInt(viewModel.getLocation());
+ Log.e("SiteId: ",""+targetSiteId);
+ Log.e("UnitId: ",""+clickedItem.getId());
+ Log.e("location-floor-list-size: ",""+locationFloorList.size());
+
+ if (!locationFloorList.isEmpty()) {
+ List filteredList = locationFloorList.stream()
+ .filter(floor -> floor.getSiteId() == targetSiteId && Objects.equals(floor.getUnitId(), clickedItem.getId()))
+ .collect(Collectors.toList());
+
+ floorAdapter = new FloorAdapter(getActivity(), filteredList);
+ floorTextview.setAdapter(floorAdapter);
+
+ // Print filtered list
+ for (LocationFloor floor : filteredList) {
+ Log.e("floor: ", floor.getTitle());
+ }
}
}
});
@@ -124,6 +168,7 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
public void onItemClick(AdapterView> adapterView, View view, int position, long l) {
LocationFloor clickedItem = locationFloorList.get(position);
Log.e("Item-----------: ", clickedItem.getTitle());
+ viewModel.setFloor(String.valueOf(clickedItem.getId()));
}
@@ -131,7 +176,7 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
nextButton.setOnClickListener(v -> {
if (getActivity() instanceof HomeActivity) {
- sharedViewModel.setFromViewModel(true);
+ viewModel.setFromViewModel(true);
((HomeActivity) getActivity()).navigateToFragment(new CuttingFragment(), true);
}
});
@@ -149,7 +194,7 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
if (s.length() > 0) {
Log.e("filterList","0.1");
- if (sharedViewModel.isFromViewModel()) {
+ if (viewModel.isFromViewModel()) {
recyclerView.setVisibility(View.GONE);
}
else {
@@ -177,11 +222,13 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
}
public void initializeLayout(View view) {
- sharedViewModel = new ViewModelProvider(requireActivity()).get(SharedViewModel.class);
+
+ viewModel = new ViewModelProvider(requireActivity()).get(QualityControlViewModel.class);
txtCurrentDate = view.findViewById(R.id.txt_current_date);
- locationTextview = view.findViewById(R.id.location_textview);
+ locationSiteTextview = view.findViewById(R.id.location_textview);
//departmentTextView = view.findViewById(R.id.department_textview);
+ unitTextview = view.findViewById(R.id.unit_textview);
floorTextview = view.findViewById(R.id.floor_textview);
nextButton = view.findViewById(R.id.btn_next);
@@ -212,19 +259,19 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
if (!qcResponse.getLocationSites().isEmpty()) {
- sharedViewModel.setLocationSiteList(qcResponse.getLocationSites());
+ viewModel.setLocationSiteList(qcResponse.getLocationSites());
locationSiteList.addAll(qcResponse.getLocationSites());
Log.e("locationSiteList-size: ",""+locationSiteList.size());
locationSitesAdapter = new LocationSitesAdapter(getActivity(), locationSiteList);
- locationTextview.setAdapter(locationSitesAdapter);
+ locationSiteTextview.setAdapter(locationSitesAdapter);
//locationSitesAdapter.notifyDataSetChanged();
}
if (!qcResponse.getDepartments().isEmpty()) {
- sharedViewModel.setDepartmentList(qcResponse.getDepartments());
+ viewModel.setDepartmentList(qcResponse.getDepartments());
departmentList.addAll(qcResponse.getDepartments());
Log.e("departmentList-size: ",""+departmentList.size());
@@ -239,31 +286,41 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
if (!qcResponse.getLocationFloors().isEmpty()) {
- sharedViewModel.setFloorList(qcResponse.getLocationFloors());
+ viewModel.setFloorList(qcResponse.getLocationFloors());
locationFloorList.addAll(qcResponse.getLocationFloors());
Log.e("locationFloorList-size: ",""+locationFloorList.size());
}
+ if (!qcResponse.getLocationUnits().isEmpty()) {
+
+ viewModel.setUnitList(qcResponse.getLocationUnits());
+
+ locationUnitList.addAll(qcResponse.getLocationUnits());
+ Log.e("locationUnitList-size: ",""+locationUnitList.size());
+ }
+
+
+
} else {
Toast.makeText(getActivity(), "Login Failed", Toast.LENGTH_SHORT).show();
}
});
- if (sharedViewModel.getLocationSiteList().isEmpty()) {
+ if (viewModel.getLocationSiteList().isEmpty()) {
loginViewModel.getQualityControlData();
}
else {
//location list
- locationSiteList.addAll(sharedViewModel.getLocationSiteList());
+ locationSiteList.addAll(viewModel.getLocationSiteList());
Log.e("locationSiteList-size: ",""+locationSiteList.size());
locationSitesAdapter = new LocationSitesAdapter(getActivity(), locationSiteList);
- locationTextview.setAdapter(locationSitesAdapter);
+ locationSiteTextview.setAdapter(locationSitesAdapter);
//department list
- departmentList.addAll(sharedViewModel.getDepartmentList());
+ departmentList.addAll(viewModel.getDepartmentList());
Log.e("departmentList-size: ",""+departmentList.size());
//filteredList = new ArrayList<>(departmentList);
@@ -273,8 +330,12 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setAdapter(departmentItemAdapter);
+ //unit list
+ locationUnitList.addAll(viewModel.getUnitList());
+ Log.e("locationUnitList-size: ",""+locationUnitList.size());
+
//floor list
- locationFloorList.addAll(sharedViewModel.getFloorList());
+ locationFloorList.addAll(viewModel.getFloorList());
Log.e("locationFloorList-size: ",""+locationFloorList.size());
recyclerView.setVisibility(View.GONE);
@@ -321,5 +382,6 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
@Override
public void onItemClick(Department item) {
Toast.makeText(getActivity(), "Selected: " + item.getTitle(), Toast.LENGTH_SHORT).show();
+ viewModel.setDepartmentId(item.getId());
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/PackingFragment.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/PackingFragment.java
index 5123d26..c50ae04 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/PackingFragment.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/PackingFragment.java
@@ -19,6 +19,7 @@ import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.core.content.FileProvider;
import androidx.fragment.app.Fragment;
+import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -29,6 +30,7 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
+import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
@@ -36,8 +38,9 @@ import android.widget.Toast;
import com.utopiaindustries.qualitycontrol.R;
import com.utopiaindustries.qualitycontrol.activities.HomeActivity;
import com.utopiaindustries.qualitycontrol.adapters.ImageAdapter;
-import com.utopiaindustries.qualitycontrol.adapters.ItemCuttingAdapter;
-import com.utopiaindustries.qualitycontrol.models.Item;
+import com.utopiaindustries.qualitycontrol.adapters.ItemStepsAdapter;
+import com.utopiaindustries.qualitycontrol.utils.QualityControlViewModel;
+import com.utopiaindustries.qualitycontrol.viewmodels.ItemModel;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -66,6 +69,8 @@ public class PackingFragment extends Fragment implements EasyPermissions.Permiss
ImageButton imagePicker, deleteImage;
ArrayList imageList = new ArrayList<>();
+ EditText etPercentage, etRemarks;
+ QualityControlViewModel viewModel;
// Activity Result Launcher for Gallery
private final ActivityResultLauncher imagePickerLauncher =
@@ -143,18 +148,24 @@ public class PackingFragment extends Fragment implements EasyPermissions.Permiss
initializeLayout(view);
- List
- itemList = new ArrayList<>();
+ /*List
- itemList = new ArrayList<>();
itemList.add(new Item("Sort", 0));
itemList.add(new Item("Set in Order", 0));
itemList.add(new Item("Shine", 0));
itemList.add(new Item("Standardize", 0));
itemList.add(new Item("Sustain", 0));
- itemList.add(new Item("Safety", 0));
+ itemList.add(new Item("Safety", 0));*/
- // Set up RecyclerView
- ItemCuttingAdapter adapter = new ItemCuttingAdapter(getActivity(), itemList);
+ //New Implemented------------------
+ List itemModelList = new ArrayList<>();
+ for (int i = 1; i < 7; i++) {
+ itemModelList.add(new ItemModel(4,i,0,"0","",0));
+ }
+
+ ItemStepsAdapter adapter = new ItemStepsAdapter(getActivity(), itemModelList);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setAdapter(adapter);
+ //----------------------------------
imageAdapter = new ImageAdapter(imageList, getActivity());
imageRecyclerView.setAdapter(imageAdapter);
@@ -174,7 +185,31 @@ public class PackingFragment extends Fragment implements EasyPermissions.Permiss
nextButton.setOnClickListener(v -> {
if (getActivity() instanceof HomeActivity) {
- ((HomeActivity) getActivity()).navigateToFragment(new SubStoreFragment(), true);
+
+ List updatedItemList = itemModelList; // Or adapter.getItemList()
+
+ for (ItemModel item : updatedItemList) {
+ Log.e("AdapterData", "ProcessId: " + item.getProcessId() +
+ ", StepId: " + item.getStepId() +
+ ", SpinnerSelection: " + item.getSelectedOption() +
+ ", Rating: " + item.getRating() +
+ ", Percentage: " + item.getPercentage() +
+ ", Remarks: " + item.getRemarks());
+ }
+
+ viewModel.appendToQualityControlItemList(itemModelList);
+
+ /*if (etRemarks.getText().toString().isEmpty()) {
+ Toast.makeText(getActivity(), "Please enter remarks", Toast.LENGTH_SHORT).show();
+ }
+ else {*/
+ /*sharedViewModel.setPackingPercentage(etPercentage.getText().toString());
+ sharedViewModel.setPackingRemarks(etRemarks.getText().toString());
+ if (!imageList.isEmpty()) {
+ sharedViewModel.setPackingImageList(imageList);
+ }*/
+ ((HomeActivity) getActivity()).navigateToFragment(new SubStoreFragment(), true);
+ // }
}
});
@@ -188,6 +223,10 @@ public class PackingFragment extends Fragment implements EasyPermissions.Permiss
private void initializeLayout(View view) {
+ viewModel = new ViewModelProvider(requireActivity()).get(QualityControlViewModel.class);
+
+ etPercentage = view.findViewById(R.id.et_percentage);
+ etRemarks = view.findViewById(R.id.et_remarks);
imagePicker = view.findViewById(R.id.image_picker);
deleteImage = view.findViewById(R.id.delete_image);
nextButton = view.findViewById(R.id.btn_next);
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/StitchingFragment.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/StitchingFragment.java
index 20800e2..e14961a 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/StitchingFragment.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/StitchingFragment.java
@@ -19,6 +19,7 @@ import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.core.content.FileProvider;
import androidx.fragment.app.Fragment;
+import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -29,6 +30,7 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
+import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
@@ -36,8 +38,10 @@ import android.widget.Toast;
import com.utopiaindustries.qualitycontrol.R;
import com.utopiaindustries.qualitycontrol.activities.HomeActivity;
import com.utopiaindustries.qualitycontrol.adapters.ImageAdapter;
-import com.utopiaindustries.qualitycontrol.adapters.ItemCuttingAdapter;
+import com.utopiaindustries.qualitycontrol.adapters.ItemStepsAdapter;
import com.utopiaindustries.qualitycontrol.models.Item;
+import com.utopiaindustries.qualitycontrol.utils.QualityControlViewModel;
+import com.utopiaindustries.qualitycontrol.viewmodels.ItemModel;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -67,6 +71,8 @@ public class StitchingFragment extends Fragment implements EasyPermissions.Permi
ImageButton imagePicker, deleteImage;
ArrayList imageList = new ArrayList<>();
+ EditText etPercentage, etRemarks;
+ QualityControlViewModel viewModel;
// Activity Result Launcher for Gallery
private final ActivityResultLauncher imagePickerLauncher =
@@ -153,9 +159,20 @@ public class StitchingFragment extends Fragment implements EasyPermissions.Permi
itemList.add(new Item("Safety", 0));
// Set up RecyclerView
- ItemCuttingAdapter adapter = new ItemCuttingAdapter(getActivity(), itemList);
+ /*ItemStitchingAdapter adapter = new ItemStitchingAdapter(getActivity(), itemList, sharedViewModel);
+ recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
+ recyclerView.setAdapter(adapter);*/
+
+ //New Implemented------------------
+ List itemModelList = new ArrayList<>();
+ for (int i = 1; i < 7; i++) {
+ itemModelList.add(new ItemModel(2,i,0,"0","",0));
+ }
+
+ ItemStepsAdapter adapter = new ItemStepsAdapter(getActivity(), itemModelList);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setAdapter(adapter);
+ //----------------------------------
imageAdapter = new ImageAdapter(imageList, getActivity());
imageRecyclerView.setAdapter(imageAdapter);
@@ -175,7 +192,31 @@ public class StitchingFragment extends Fragment implements EasyPermissions.Permi
nextButton.setOnClickListener(v -> {
if (getActivity() instanceof HomeActivity) {
- ((HomeActivity) getActivity()).navigateToFragment(new CheckingFragment(), true);
+
+ List updatedItemList = itemModelList; // Or adapter.getItemList()
+
+ for (ItemModel item : updatedItemList) {
+ Log.e("AdapterData", "ProcessId: " + item.getProcessId() +
+ ", StepId: " + item.getStepId() +
+ ", SpinnerSelection: " + item.getSelectedOption() +
+ ", Rating: " + item.getRating() +
+ ", Percentage: " + item.getPercentage() +
+ ", Remarks: " + item.getRemarks());
+ }
+
+ viewModel.appendToQualityControlItemList(itemModelList);
+
+ /*if (etRemarks.getText().toString().isEmpty()) {
+ Toast.makeText(getActivity(), "Please enter remarks", Toast.LENGTH_SHORT).show();
+ }
+ else {*/
+ /* sharedViewModel.setStitchingPercentage(etPercentage.getText().toString());
+ sharedViewModel.setStitchingRemarks(etRemarks.getText().toString());
+ if (!imageList.isEmpty()) {
+ sharedViewModel.setStitchingImageList(imageList);
+ }*/
+ ((HomeActivity) getActivity()).navigateToFragment(new CheckingFragment(), true);
+ // }
}
});
@@ -189,6 +230,10 @@ public class StitchingFragment extends Fragment implements EasyPermissions.Permi
private void initializeLayout(View view) {
+ viewModel = new ViewModelProvider(requireActivity()).get(QualityControlViewModel.class);
+
+ etPercentage = view.findViewById(R.id.et_percentage);
+ etRemarks = view.findViewById(R.id.et_remarks);
imagePicker = view.findViewById(R.id.image_picker);
deleteImage = view.findViewById(R.id.delete_image);
nextButton = view.findViewById(R.id.btn_next);
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/SubStoreFragment.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/SubStoreFragment.java
index fc85be1..6579f6f 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/SubStoreFragment.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/SubStoreFragment.java
@@ -19,6 +19,7 @@ import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.core.content.FileProvider;
import androidx.fragment.app.Fragment;
+import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -29,15 +30,16 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
+import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
import com.utopiaindustries.qualitycontrol.R;
-import com.utopiaindustries.qualitycontrol.activities.SummaryActivity;
import com.utopiaindustries.qualitycontrol.adapters.ImageAdapter;
-import com.utopiaindustries.qualitycontrol.adapters.ItemCuttingAdapter;
-import com.utopiaindustries.qualitycontrol.models.Item;
+import com.utopiaindustries.qualitycontrol.adapters.ItemStepsAdapter;
+import com.utopiaindustries.qualitycontrol.utils.QualityControlViewModel;
+import com.utopiaindustries.qualitycontrol.viewmodels.ItemModel;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -67,6 +69,8 @@ public class SubStoreFragment extends Fragment implements EasyPermissions.Permis
ImageButton imagePicker, deleteImage;
ArrayList imageList = new ArrayList<>();
+ EditText etPercentage, etRemarks;
+ QualityControlViewModel viewModel;
// Activity Result Launcher for Gallery
private final ActivityResultLauncher imagePickerLauncher =
@@ -142,18 +146,24 @@ public class SubStoreFragment extends Fragment implements EasyPermissions.Permis
initializeLayout(view);
- List
- itemList = new ArrayList<>();
+ /*List
- itemList = new ArrayList<>();
itemList.add(new Item("Sort", 0));
itemList.add(new Item("Set in Order", 0));
itemList.add(new Item("Shine", 0));
itemList.add(new Item("Standardize", 0));
itemList.add(new Item("Sustain", 0));
- itemList.add(new Item("Safety", 0));
+ itemList.add(new Item("Safety", 0));*/
- // Set up RecyclerView
- ItemCuttingAdapter adapter = new ItemCuttingAdapter(getActivity(), itemList);
+ //New Implemented------------------
+ List itemModelList = new ArrayList<>();
+ for (int i = 1; i < 7; i++) {
+ itemModelList.add(new ItemModel(5,i,0,"0","",0));
+ }
+
+ ItemStepsAdapter adapter = new ItemStepsAdapter(getActivity(), itemModelList);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setAdapter(adapter);
+ //----------------------------------
imageAdapter = new ImageAdapter(imageList, getActivity());
imageRecyclerView.setAdapter(imageAdapter);
@@ -172,9 +182,36 @@ public class SubStoreFragment extends Fragment implements EasyPermissions.Permis
});
nextButton.setOnClickListener(v -> {
- Intent intent = new Intent(getActivity(), SummaryActivity.class);
+ /*Intent intent = new Intent(getActivity(), SummaryActivity.class);
startActivity(intent);
- getActivity().finish();
+ getActivity().finish();*/
+
+ List updatedItemList = itemModelList; // Or adapter.getItemList()
+
+ for (ItemModel item : updatedItemList) {
+ Log.e("AdapterData", "ProcessId: " + item.getProcessId() +
+ ", StepId: " + item.getStepId() +
+ ", SpinnerSelection: " + item.getSelectedOption() +
+ ", Rating: " + item.getRating() +
+ ", Percentage: " + item.getPercentage() +
+ ", Remarks: " + item.getRemarks());
+ }
+
+ viewModel.appendToQualityControlItemList(itemModelList);
+
+ List finalList = viewModel.getQualityControlItemList();
+ for (ItemModel item : finalList) {
+ Log.e("AdapterData", "ProcessId: " + item.getProcessId() +
+ ", StepId: " + item.getStepId() +
+ ", SpinnerSelection: " + item.getSelectedOption() +
+ ", Rating: " + item.getRating() +
+ ", Percentage: " + item.getPercentage() +
+ ", Remarks: " + item.getRemarks());
+
+ Log.e("------------------","---------------------");
+
+ }
+
});
return view;
@@ -187,6 +224,10 @@ public class SubStoreFragment extends Fragment implements EasyPermissions.Permis
private void initializeLayout(View view) {
+ viewModel = new ViewModelProvider(requireActivity()).get(QualityControlViewModel.class);
+
+ etPercentage = view.findViewById(R.id.et_percentage);
+ etRemarks = view.findViewById(R.id.et_remarks);
imagePicker = view.findViewById(R.id.image_picker);
deleteImage = view.findViewById(R.id.delete_image);
nextButton = view.findViewById(R.id.btn_next);
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/helper/Helper.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/helper/Helper.java
index 6260de7..6b8ddeb 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/helper/Helper.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/helper/Helper.java
@@ -33,7 +33,6 @@ public class Helper {
String jsonObject = gson.toJson(modal);
prefsEditor.putString(key, jsonObject);
prefsEditor.commit();
-
}
static public QualityControlResponse getPreferenceObjectJson(Context c, String key) {
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/models/LocationUnit.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/models/LocationUnit.java
new file mode 100644
index 0000000..5c4c8fe
--- /dev/null
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/models/LocationUnit.java
@@ -0,0 +1,59 @@
+
+package com.utopiaindustries.qualitycontrol.models;
+
+import com.google.gson.annotations.Expose;
+import com.google.gson.annotations.SerializedName;
+
+public class LocationUnit {
+
+ @SerializedName("id")
+ @Expose
+ private Integer id;
+ @SerializedName("title")
+ @Expose
+ private String title;
+ @SerializedName("siteId")
+ @Expose
+ private Integer siteId;
+ @SerializedName("floors")
+ @Expose
+ private Object floors;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public Integer getSiteId() {
+ return siteId;
+ }
+
+ public void setSiteId(Integer siteId) {
+ this.siteId = siteId;
+ }
+
+ public Object getFloors() {
+ return floors;
+ }
+
+ public void setFloors(Object floors) {
+ this.floors = floors;
+ }
+
+ @Override
+ public String toString() {
+ return title;
+ }
+
+}
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/models/QualityControlResponse.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/models/QualityControlResponse.java
index 5d00a08..8de2e6a 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/models/QualityControlResponse.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/models/QualityControlResponse.java
@@ -7,6 +7,9 @@ import java.util.List;
public class QualityControlResponse {
+ @SerializedName("locationUnits")
+ @Expose
+ private List locationUnits;
@SerializedName("locationFloors")
@Expose
private List locationFloors;
@@ -23,6 +26,15 @@ public class QualityControlResponse {
@Expose
private List qualityControlProcessList;
+ public List getLocationUnits() {
+ return locationUnits;
+ }
+
+ public void setLocationUnits(List locationUnits) {
+ this.locationUnits = locationUnits;
+ }
+
+
public List getLocationFloors() {
return locationFloors;
}
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/utils/QualityControlViewModel.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/utils/QualityControlViewModel.java
new file mode 100644
index 0000000..e0d5e7f
--- /dev/null
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/utils/QualityControlViewModel.java
@@ -0,0 +1,168 @@
+package com.utopiaindustries.qualitycontrol.utils;
+
+import androidx.lifecycle.ViewModel;
+
+import com.utopiaindustries.qualitycontrol.models.Department;
+import com.utopiaindustries.qualitycontrol.models.LocationFloor;
+import com.utopiaindustries.qualitycontrol.models.LocationSite;
+import com.utopiaindustries.qualitycontrol.models.LocationUnit;
+import com.utopiaindustries.qualitycontrol.viewmodels.ItemModel;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class QualityControlViewModel extends ViewModel {
+
+ private String currentDate;
+ private int siteId;
+ private int unitId;
+ private int departmentId;
+ private int floorId;
+ private List qualityControlItemList;
+
+ private List locationSiteList;
+ private List departmentList;
+ private List floorList;
+ private List unitList;
+
+ private boolean fromViewModel;
+ private String location;
+ private String department;
+ private String unit;
+ private String floor;
+
+ public String getLocation() {
+ return location;
+ }
+
+ public void setLocation(String location) {
+ this.location = location;
+ }
+
+ public String getDepartment() {
+ return department;
+ }
+
+ public void setDepartment(String department) {
+ this.department = department;
+ }
+
+ public String getUnit() {
+ return unit;
+ }
+
+ public void setUnit(String unit) {
+ this.unit = unit;
+ }
+
+ public String getFloor() {
+ return floor;
+ }
+
+ public void setFloor(String floor) {
+ this.floor = floor;
+ }
+
+ public boolean isFromViewModel() {
+ return fromViewModel;
+ }
+
+ public void setFromViewModel(boolean fromViewModel) {
+ this.fromViewModel = fromViewModel;
+ }
+
+
+
+ public QualityControlViewModel() {
+ // Initialize the list to avoid NullPointerException
+ qualityControlItemList = new ArrayList<>();
+ locationSiteList = new ArrayList<>();
+ }
+
+ public String getCurrentDate() {
+ return currentDate;
+ }
+
+ public void setCurrentDate(String currentDate) {
+ this.currentDate = currentDate;
+ }
+
+ public int getSiteId() {
+ return siteId;
+ }
+
+ public void setSiteId(int siteId) {
+ this.siteId = siteId;
+ }
+
+ public int getUnitId() {
+ return unitId;
+ }
+
+ public void setUnitId(int unitId) {
+ this.unitId = unitId;
+ }
+
+ public int getDepartmentId() {
+ return departmentId;
+ }
+
+ public void setDepartmentId(int departmentId) {
+ this.departmentId = departmentId;
+ }
+
+ public int getFloorId() {
+ return floorId;
+ }
+
+ public void setFloorId(int floorId) {
+ this.floorId = floorId;
+ }
+
+ public List getQualityControlItemList() {
+ return qualityControlItemList;
+ }
+
+ /*public void setQualityControlItemList(List qualityControlItemList) {
+ this.qualityControlItemList = qualityControlItemList;
+ }*/
+
+ // Method to append data to the list
+ public void appendToQualityControlItemList(List items) {
+ if (items != null) {
+ qualityControlItemList.addAll(items);
+ }
+ }
+
+ public List getLocationSiteList() {
+ return locationSiteList;
+ }
+
+ public void setLocationSiteList(List locationSiteList) {
+ this.locationSiteList = locationSiteList;
+ }
+
+ public List getDepartmentList() {
+ return departmentList;
+ }
+
+ public void setDepartmentList(List departmentList) {
+ this.departmentList = departmentList;
+ }
+
+ public List getFloorList() {
+ return floorList;
+ }
+
+ public void setFloorList(List floorList) {
+ this.floorList = floorList;
+ }
+
+ public List getUnitList() {
+ return unitList;
+ }
+
+ public void setUnitList(List unitList) {
+ this.unitList = unitList;
+ }
+}
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/utils/SharedViewModel.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/utils/SharedViewModel.java
deleted file mode 100644
index 4f72f34..0000000
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/utils/SharedViewModel.java
+++ /dev/null
@@ -1,515 +0,0 @@
-package com.utopiaindustries.qualitycontrol.utils;
-
-import androidx.lifecycle.ViewModel;
-
-import com.utopiaindustries.qualitycontrol.models.Department;
-import com.utopiaindustries.qualitycontrol.models.LocationFloor;
-import com.utopiaindustries.qualitycontrol.models.LocationSite;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class SharedViewModel extends ViewModel {
- private String currentDate;
-
- private List locationSiteList;
- private List departmentList;
- private List floorList;
-
- private String location;
- private String department;
- private String floor;
-
- //Cutting
- private int cuttingSort;
- private int cuttingSetInOrder;
- private int cuttingShine;
- private int cuttingStandardize;
- private int cuttingSustain;
- private int cuttingSafety;
- private String cuttingPercentage;
- private String cuttingRemarks;
- private ArrayList cuttingImageList;
-
- //Stitching
- private int stitchingSort;
- private int stitchingSetInOrder;
- private int stitchingShine;
- private int stitchingStandardize;
- private int stitchingSustain;
- private int stitchingSafety;
- private String stitchingPercentage;
- private String stitchingRemarks;
- private ArrayList stitchingImageList;
-
- //Checking
- private int checkingSort;
- private int checkingSetInOrder;
- private int checkingShine;
- private int checkingStandardize;
- private int checkingSustain;
- private int checkingSafety;
- private String checkingPercentage;
- private String checkingRemarks;
- private ArrayList checkingImageList;
-
- //Packing
- private int packingSort;
- private int packingSetInOrder;
- private int packingShine;
- private int packingStandardize;
- private int packingSustain;
- private int packingSafety;
- private String packingPercentage;
- private String packingRemarks;
- private ArrayList packingImageList;
-
- //Sub Store
- private int subStoreSort;
- private int subStoreSetInOrder;
- private int subStoreShine;
- private int subStoreStandardize;
- private int subStoreSustain;
- private int subStoreSafety;
- private String subStorePercentage;
- private String subStoreRemarks;
- private ArrayList subStoreImageList;
-
- private boolean fromViewModel;
-
- public boolean isFromViewModel() {
- return fromViewModel;
- }
-
- public void setFromViewModel(boolean fromViewModel) {
- this.fromViewModel = fromViewModel;
- }
-
- public SharedViewModel() {
- cuttingImageList = new ArrayList<>();
- stitchingImageList = new ArrayList<>();
- checkingImageList = new ArrayList<>();
- packingImageList = new ArrayList<>();
- subStoreImageList = new ArrayList<>();
-
- locationSiteList = new ArrayList<>();
- departmentList = new ArrayList<>();
- floorList = new ArrayList<>();
- }
-
- public String getCurrentDate() {
- return currentDate;
- }
-
- public void setCurrentDate(String currentDate) {
- this.currentDate = currentDate;
- }
-
- public String getLocation() {
- return location;
- }
-
- public void setLocation(String location) {
- this.location = location;
- }
-
- public String getDepartment() {
- return department;
- }
-
- public void setDepartment(String department) {
- this.department = department;
- }
-
- public String getFloor() {
- return floor;
- }
-
- public void setFloor(String floor) {
- this.floor = floor;
- }
-
- public int getCuttingSort() {
- return cuttingSort;
- }
-
- public void setCuttingSort(int cuttingSort) {
- this.cuttingSort = cuttingSort;
- }
-
- public int getCuttingSetInOrder() {
- return cuttingSetInOrder;
- }
-
- public void setCuttingSetInOrder(int cuttingSetInOrder) {
- this.cuttingSetInOrder = cuttingSetInOrder;
- }
-
- public int getCuttingShine() {
- return cuttingShine;
- }
-
- public void setCuttingShine(int cuttingShine) {
- this.cuttingShine = cuttingShine;
- }
-
- public int getCuttingStandardize() {
- return cuttingStandardize;
- }
-
- public void setCuttingStandardize(int cuttingStandardize) {
- this.cuttingStandardize = cuttingStandardize;
- }
-
- public int getCuttingSustain() {
- return cuttingSustain;
- }
-
- public void setCuttingSustain(int cuttingSustain) {
- this.cuttingSustain = cuttingSustain;
- }
-
- public int getCuttingSafety() {
- return cuttingSafety;
- }
-
- public void setCuttingSafety(int cuttingSafety) {
- this.cuttingSafety = cuttingSafety;
- }
-
- public String getCuttingPercentage() {
- return cuttingPercentage;
- }
-
- public void setCuttingPercentage(String cuttingPercentage) {
- this.cuttingPercentage = cuttingPercentage;
- }
-
- public String getCuttingRemarks() {
- return cuttingRemarks;
- }
-
- public void setCuttingRemarks(String cuttingRemarks) {
- this.cuttingRemarks = cuttingRemarks;
- }
-
- public ArrayList getCuttingImageList() {
- return cuttingImageList;
- }
-
- public void setCuttingImageList(ArrayList cuttingImageList) {
- this.cuttingImageList = cuttingImageList;
- }
-
- public int getStitchingSort() {
- return stitchingSort;
- }
-
- public void setStitchingSort(int stitchingSort) {
- this.stitchingSort = stitchingSort;
- }
-
- public int getStitchingSetInOrder() {
- return stitchingSetInOrder;
- }
-
- public void setStitchingSetInOrder(int stitchingSetInOrder) {
- this.stitchingSetInOrder = stitchingSetInOrder;
- }
-
- public int getStitchingShine() {
- return stitchingShine;
- }
-
- public void setStitchingShine(int stitchingShine) {
- this.stitchingShine = stitchingShine;
- }
-
- public int getStitchingStandardize() {
- return stitchingStandardize;
- }
-
- public void setStitchingStandardize(int stitchingStandardize) {
- this.stitchingStandardize = stitchingStandardize;
- }
-
- public int getStitchingSustain() {
- return stitchingSustain;
- }
-
- public void setStitchingSustain(int stitchingSustain) {
- this.stitchingSustain = stitchingSustain;
- }
-
- public int getStitchingSafety() {
- return stitchingSafety;
- }
-
- public void setStitchingSafety(int stitchingSafety) {
- this.stitchingSafety = stitchingSafety;
- }
-
- public String getStitchingPercentage() {
- return stitchingPercentage;
- }
-
- public void setStitchingPercentage(String stitchingPercentage) {
- this.stitchingPercentage = stitchingPercentage;
- }
-
- public String getStitchingRemarks() {
- return stitchingRemarks;
- }
-
- public void setStitchingRemarks(String stitchingRemarks) {
- this.stitchingRemarks = stitchingRemarks;
- }
-
- public ArrayList getStitchingImageList() {
- return stitchingImageList;
- }
-
- public void setStitchingImageList(ArrayList stitchingImageList) {
- this.stitchingImageList = stitchingImageList;
- }
-
- public int getCheckingSort() {
- return checkingSort;
- }
-
- public void setCheckingSort(int checkingSort) {
- this.checkingSort = checkingSort;
- }
-
- public int getCheckingSetInOrder() {
- return checkingSetInOrder;
- }
-
- public void setCheckingSetInOrder(int checkingSetInOrder) {
- this.checkingSetInOrder = checkingSetInOrder;
- }
-
- public int getCheckingShine() {
- return checkingShine;
- }
-
- public void setCheckingShine(int checkingShine) {
- this.checkingShine = checkingShine;
- }
-
- public int getCheckingStandardize() {
- return checkingStandardize;
- }
-
- public void setCheckingStandardize(int checkingStandardize) {
- this.checkingStandardize = checkingStandardize;
- }
-
- public int getCheckingSustain() {
- return checkingSustain;
- }
-
- public void setCheckingSustain(int checkingSustain) {
- this.checkingSustain = checkingSustain;
- }
-
- public int getCheckingSafety() {
- return checkingSafety;
- }
-
- public void setCheckingSafety(int checkingSafety) {
- this.checkingSafety = checkingSafety;
- }
-
- public String getCheckingPercentage() {
- return checkingPercentage;
- }
-
- public void setCheckingPercentage(String checkingPercentage) {
- this.checkingPercentage = checkingPercentage;
- }
-
- public String getCheckingRemarks() {
- return checkingRemarks;
- }
-
- public void setCheckingRemarks(String checkingRemarks) {
- this.checkingRemarks = checkingRemarks;
- }
-
- public ArrayList getCheckingImageList() {
- return checkingImageList;
- }
-
- public void setCheckingImageList(ArrayList checkingImageList) {
- this.checkingImageList = checkingImageList;
- }
-
- public int getPackingSort() {
- return packingSort;
- }
-
- public void setPackingSort(int packingSort) {
- this.packingSort = packingSort;
- }
-
- public int getPackingSetInOrder() {
- return packingSetInOrder;
- }
-
- public void setPackingSetInOrder(int packingSetInOrder) {
- this.packingSetInOrder = packingSetInOrder;
- }
-
- public int getPackingShine() {
- return packingShine;
- }
-
- public void setPackingShine(int packingShine) {
- this.packingShine = packingShine;
- }
-
- public int getPackingStandardize() {
- return packingStandardize;
- }
-
- public void setPackingStandardize(int packingStandardize) {
- this.packingStandardize = packingStandardize;
- }
-
- public int getPackingSustain() {
- return packingSustain;
- }
-
- public void setPackingSustain(int packingSustain) {
- this.packingSustain = packingSustain;
- }
-
- public int getPackingSafety() {
- return packingSafety;
- }
-
- public void setPackingSafety(int packingSafety) {
- this.packingSafety = packingSafety;
- }
-
- public String getPackingPercentage() {
- return packingPercentage;
- }
-
- public void setPackingPercentage(String packingPercentage) {
- this.packingPercentage = packingPercentage;
- }
-
- public String getPackingRemarks() {
- return packingRemarks;
- }
-
- public void setPackingRemarks(String packingRemarks) {
- this.packingRemarks = packingRemarks;
- }
-
- public ArrayList getPackingImageList() {
- return packingImageList;
- }
-
- public void setPackingImageList(ArrayList packingImageList) {
- this.packingImageList = packingImageList;
- }
-
- public int getSubStoreSort() {
- return subStoreSort;
- }
-
- public void setSubStoreSort(int subStoreSort) {
- this.subStoreSort = subStoreSort;
- }
-
- public int getSubStoreSetInOrder() {
- return subStoreSetInOrder;
- }
-
- public void setSubStoreSetInOrder(int subStoreSetInOrder) {
- this.subStoreSetInOrder = subStoreSetInOrder;
- }
-
- public int getSubStoreShine() {
- return subStoreShine;
- }
-
- public void setSubStoreShine(int subStoreShine) {
- this.subStoreShine = subStoreShine;
- }
-
- public int getSubStoreStandardize() {
- return subStoreStandardize;
- }
-
- public void setSubStoreStandardize(int subStoreStandardize) {
- this.subStoreStandardize = subStoreStandardize;
- }
-
- public int getSubStoreSustain() {
- return subStoreSustain;
- }
-
- public void setSubStoreSustain(int subStoreSustain) {
- this.subStoreSustain = subStoreSustain;
- }
-
- public int getSubStoreSafety() {
- return subStoreSafety;
- }
-
- public void setSubStoreSafety(int subStoreSafety) {
- this.subStoreSafety = subStoreSafety;
- }
-
- public String getSubStorePercentage() {
- return subStorePercentage;
- }
-
- public void setSubStorePercentage(String subStorePercentage) {
- this.subStorePercentage = subStorePercentage;
- }
-
- public String getSubStoreRemarks() {
- return subStoreRemarks;
- }
-
- public void setSubStoreRemarks(String subStoreRemarks) {
- this.subStoreRemarks = subStoreRemarks;
- }
-
- public ArrayList getSubStoreImageList() {
- return subStoreImageList;
- }
-
- public void setSubStoreImageList(ArrayList subStoreImageList) {
- this.subStoreImageList = subStoreImageList;
- }
-
- public List getLocationSiteList() {
- return locationSiteList;
- }
-
- public void setLocationSiteList(List locationSiteList) {
- this.locationSiteList = locationSiteList;
- }
-
- public List getDepartmentList() {
- return departmentList;
- }
-
- public void setDepartmentList(List departmentList) {
- this.departmentList = departmentList;
- }
-
- public List getFloorList() {
- return floorList;
- }
-
- public void setFloorList(List floorList) {
- this.floorList = floorList;
- }
-}
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/ItemModel.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/ItemModel.java
new file mode 100644
index 0000000..6a91a63
--- /dev/null
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/ItemModel.java
@@ -0,0 +1,74 @@
+package com.utopiaindustries.qualitycontrol.viewmodels;
+
+import java.util.ArrayList;
+
+public class ItemModel {
+
+ private int processId;
+ private int stepId;
+ private int rating;
+ private String percentage;
+ private String remarks;
+ private int selectedOption;
+ //private ArrayList cuttingImageList;
+
+ public ItemModel() {
+ }
+
+ public ItemModel(int processId, int stepId, int rating, String percentage, String remarks, int selectedOption) {
+ this.processId = processId;
+ this.stepId = stepId;
+ this.rating = rating;
+ this.percentage = percentage;
+ this.remarks = remarks;
+ this.selectedOption = selectedOption;
+ }
+
+ public int getProcessId() {
+ return processId;
+ }
+
+ public void setProcessId(int processId) {
+ this.processId = processId;
+ }
+
+ public int getStepId() {
+ return stepId;
+ }
+
+ public void setStepId(int stepId) {
+ this.stepId = stepId;
+ }
+
+ public String getPercentage() {
+ return percentage;
+ }
+
+ public void setPercentage(String percentage) {
+ this.percentage = percentage;
+ }
+
+ public String getRemarks() {
+ return remarks;
+ }
+
+ public void setRemarks(String remarks) {
+ this.remarks = remarks;
+ }
+
+ public int getSelectedOption() {
+ return selectedOption;
+ }
+
+ public void setSelectedOption(int selectedOption) {
+ this.selectedOption = selectedOption;
+ }
+
+ public int getRating() {
+ return rating;
+ }
+
+ public void setRating(int rating) {
+ this.rating = rating;
+ }
+}
diff --git a/app/src/main/res/layout/fragment_checking.xml b/app/src/main/res/layout/fragment_checking.xml
index 7f55c88..380c138 100644
--- a/app/src/main/res/layout/fragment_checking.xml
+++ b/app/src/main/res/layout/fragment_checking.xml
@@ -18,8 +18,8 @@
@@ -62,6 +62,7 @@
@@ -69,7 +70,7 @@
android:id="@+id/et_remarks"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:enabled="false"
+ android:visibility="gone"
android:layout_marginTop="5dp"
android:background="@drawable/et_border"
android:maxLines="3"
@@ -78,6 +79,7 @@
diff --git a/app/src/main/res/layout/fragment_cutting.xml b/app/src/main/res/layout/fragment_cutting.xml
index 806cf27..a9afebc 100644
--- a/app/src/main/res/layout/fragment_cutting.xml
+++ b/app/src/main/res/layout/fragment_cutting.xml
@@ -18,8 +18,8 @@
@@ -62,6 +62,7 @@
@@ -69,7 +70,8 @@
android:id="@+id/et_remarks"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:enabled="false"
+ android:visibility="gone"
+ android:enabled="true"
android:padding="5dp"
android:layout_marginTop="5dp"
android:background="@drawable/et_border"
@@ -79,6 +81,7 @@
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index 4b32404..2c1f123 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -35,7 +35,7 @@
android:id="@+id/searchEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:hint="Search"
+ android:hint="Search Department"
android:padding="10dp"
android:layout_margin="5dp"
android:background="@drawable/et_border"
@@ -73,7 +73,7 @@
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:padding="5dp"
- android:text="Location: "
+ android:text="Site: "
android:textColor="@color/black"
android:textSize="@dimen/_16sdp"
android:textStyle="bold" />
@@ -96,6 +96,34 @@
android:textSize="16sp" />
+
+
+
+
+
+
+
@@ -62,6 +62,7 @@
@@ -69,7 +70,7 @@
android:id="@+id/et_remarks"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:enabled="false"
+ android:visibility="gone"
android:layout_marginTop="5dp"
android:background="@drawable/et_border"
android:maxLines="3"
@@ -78,6 +79,7 @@
diff --git a/app/src/main/res/layout/fragment_stitching.xml b/app/src/main/res/layout/fragment_stitching.xml
index 2fa42bb..a8d218b 100644
--- a/app/src/main/res/layout/fragment_stitching.xml
+++ b/app/src/main/res/layout/fragment_stitching.xml
@@ -18,8 +18,8 @@
@@ -62,6 +62,7 @@
@@ -69,7 +70,7 @@
android:id="@+id/et_remarks"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:enabled="false"
+ android:visibility="gone"
android:layout_marginTop="5dp"
android:background="@drawable/et_border"
android:maxLines="3"
@@ -78,6 +79,7 @@
diff --git a/app/src/main/res/layout/fragment_sub_store.xml b/app/src/main/res/layout/fragment_sub_store.xml
index aa61163..9cd0f6e 100644
--- a/app/src/main/res/layout/fragment_sub_store.xml
+++ b/app/src/main/res/layout/fragment_sub_store.xml
@@ -18,8 +18,8 @@
@@ -62,6 +62,7 @@
@@ -69,7 +70,7 @@
android:id="@+id/et_remarks"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:enabled="false"
+ android:visibility="gone"
android:layout_marginTop="5dp"
android:background="@drawable/et_border"
android:maxLines="3"
@@ -78,6 +79,7 @@
diff --git a/app/src/main/res/layout/item_recycler_view.xml b/app/src/main/res/layout/item_recycler_view.xml
index 5f4e499..30d9dd6 100644
--- a/app/src/main/res/layout/item_recycler_view.xml
+++ b/app/src/main/res/layout/item_recycler_view.xml
@@ -2,26 +2,96 @@
+ android:padding="5dp"
+ android:weightSum="1">
-
-
+
+
+ android:layout_margin="2dp"
+ android:fadeScrollbars="false"
+ android:fillViewport="true"
+ android:padding="2dp"
+ android:scrollbarFadeDuration="0"
+ android:scrollbarSize="1dp"
+ android:scrollbarThumbVertical="@android:color/darker_gray"
+ android:scrollbars="horizontal">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index c8ba617..9e2481e 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -6,6 +6,7 @@
Select Location
Select Department
+ Select Unit
Select Floor
This app require permission for camera.