diff --git a/app/build.gradle b/app/build.gradle
index 6c66fa9..5e6b0e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -26,6 +26,10 @@ android {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
+
+ lintOptions {
+ checkReleaseBuilds false
+ }
}
dependencies {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5b82e4f..e4fd563 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -12,7 +12,6 @@
-
+
@@ -45,7 +47,7 @@
+ android:exported="true" />
fragmentList = new ArrayList<>();
//Button btnNext;
+ ImageView imgLogout;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -53,6 +64,14 @@ public class HomeActivity extends AppCompatActivity {
Toast.makeText( this, "No Internet Connection", Toast.LENGTH_LONG ).show();
}
+ imgLogout = findViewById(R.id.img_logout);
+
+ imgLogout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ alertLogOut(HomeActivity.this);
+ }
+ });
//btnNext = findViewById(R.id.btn_next);
// Initialize fragments
@@ -87,6 +106,53 @@ public class HomeActivity extends AppCompatActivity {
transaction.commit();
}
+ public void alertLogOut(Context con) {
+ ViewGroup viewGroup = findViewById(android.R.id.content);
+
+ TextView dialogOkBtn, dialogCancelBtn;
+
+ AlertDialog.Builder builder = new AlertDialog.Builder(con);
+ View view1 = LayoutInflater.from(con).inflate(R.layout.custom_layout_for_logout, viewGroup, false);
+ builder.setCancelable(false);
+ builder.setView(view1);
+
+ dialogOkBtn = view1.findViewById(R.id.dialogOkBtn);
+ dialogCancelBtn = view1.findViewById(R.id.dialogCancelBtn);
+
+ AlertDialog alertDialog = builder.create();
+ alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+
+ dialogOkBtn.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+
+ alertDialog.dismiss();
+
+ Preference.setMyBooleanPref(Helper.project_file, "isLoggedIn", getApplicationContext(), false);
+ Preference.setMyStringPref(Helper.project_file, Helper.firstTimeApiCall, getApplicationContext(), "false");
+
+ finish();
+ Intent i = new Intent(HomeActivity.this, LoginActivity.class);
+ i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
+ startActivity(i);
+ overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
+
+ }
+ });
+
+ dialogCancelBtn.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+
+ alertDialog.dismiss();
+ //Toast.makeText(con, "Cancel", Toast.LENGTH_SHORT).show();
+
+ }
+ });
+
+ alertDialog.show();
+ }
+
// Method to navigate to a specific fragment
/*public void navigateToFragment(Fragment fragment, boolean addToBackStack) {
androidx.fragment.app.FragmentTransaction transaction = getSupportFragmentManager()
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/activities/LoginActivity.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/activities/LoginActivity.java
new file mode 100644
index 0000000..5382a85
--- /dev/null
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/activities/LoginActivity.java
@@ -0,0 +1,154 @@
+package com.utopiaindustries.qualitycontrol.activities;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.Toast;
+
+import androidx.activity.EdgeToEdge;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.core.graphics.Insets;
+import androidx.core.view.ViewCompat;
+import androidx.core.view.WindowInsetsCompat;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.utopiaindustries.qualitycontrol.R;
+import com.utopiaindustries.qualitycontrol.apiservice.ApiService;
+import com.utopiaindustries.qualitycontrol.apiservice.ApiServiceFactory;
+import com.utopiaindustries.qualitycontrol.helper.Helper;
+import com.utopiaindustries.qualitycontrol.helper.Preference;
+import com.utopiaindustries.qualitycontrol.utils.ProgressDialogFragment;
+import com.utopiaindustries.qualitycontrol.viewmodels.LoginViewModel;
+
+public class LoginActivity extends AppCompatActivity {
+
+ EditText tfEmail, tfPassword;
+ Button btnLogin;
+ LoginViewModel loginViewModel;
+ ApiService apiService;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ EdgeToEdge.enable(this);
+ setContentView(R.layout.activity_login);
+ ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
+ Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
+ v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
+ return insets;
+ });
+
+ if (!Helper.isNetworkConnected(this)) {
+ Toast.makeText(this, "No Internet Connection", Toast.LENGTH_LONG).show();
+ }
+
+ initializeLayout();
+
+ btnLogin.setOnClickListener(v -> {
+ if (isValidate()) {
+ loginViewModel.isUserAuthenticated(tfEmail.getText().toString(),
+ tfPassword.getText().toString(),
+ new String[]{"ROLE_UIM_QC_APP_ACCESS_YES"});
+ }
+ });
+ }
+
+ public void initializeLayout() {
+ tfEmail = findViewById(R.id.tf_email);
+ tfPassword = findViewById(R.id.tf_password);
+ btnLogin = findViewById(R.id.btn_login);
+ apiService = ApiServiceFactory.getApiService();
+
+ //tfEmail.setText("muhammad.mujtaba");
+ //tfPassword.setText("Utopia01");
+
+ loginViewModel = new ViewModelProvider(this).get(LoginViewModel.class);
+
+ loginViewModel.getLoadingState().observe(this, isLoading -> {
+ if (isLoading != null && isLoading) {
+ showProgressDialog();
+ } else {
+ dismissProgressDialog();
+ }
+ });
+
+ loginViewModel.getErrorMessage().observe(this, errorResponse -> {
+ if (errorResponse.isEmpty()) {
+ Toast.makeText(this, "Something went wrong", Toast.LENGTH_SHORT).show();
+ } else {
+ Toast.makeText(this, errorResponse, Toast.LENGTH_SHORT).show();
+ }
+
+ });
+
+ loginViewModel.getLoginUser().observe(this, loginUser -> {
+ if (loginUser) {
+ Preference.setMyBooleanPref(Helper.project_file, "isLoggedIn", getApplicationContext(), true);
+ Preference.setMyStringPref(Helper.project_file,Helper.logInUser,this,tfEmail.getText().toString());
+
+ Intent intent = new Intent(this, HomeActivity.class);
+ startActivity(intent);
+ overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
+ finish();
+ }
+ else {
+ Toast.makeText(this, "Login Failed", Toast.LENGTH_SHORT).show();
+ }
+ });
+
+ /*loginViewModel.getUserLiveData().observe(this, user -> {
+ if (user != null) {
+ Preference.setMyBooleanPref(Helper.project_file, "isLoggedIn", getApplicationContext(), true);
+ Helper.setPreferenceObject(getApplicationContext(), user, "DriverResponse");
+
+ //Toast.makeText(this, "Welcome " + user.getTruckerName(), Toast.LENGTH_SHORT).show();
+ Intent intent = new Intent(this, HomeActivity.class);
+ startActivity(intent);
+ overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
+ finish();
+ } else {
+ Toast.makeText(this, "Login Failed", Toast.LENGTH_SHORT).show();
+ }
+ });*/
+ }
+
+ public boolean isValidate() {
+ boolean returnValue = true;
+ String message = "";
+
+ if (tfPassword.getText().toString().isEmpty()) {
+ message = "Please enter password.";
+ returnValue = false;
+ }
+
+ /*if (!Helper.isValidEmail(tfEmail.getText().toString())) {
+ message = "Please enter valid email.";
+ returnValue = false;
+ }*/
+
+ if (tfEmail.getText().toString().isEmpty()) {
+ message = "Please enter user name.";
+ returnValue = false;
+ }
+
+ if (!returnValue) {
+ Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
+ }
+
+ return returnValue;
+ }
+
+ public void showProgressDialog() {
+ ProgressDialogFragment progressDialog = new ProgressDialogFragment();
+ progressDialog.setCancelable(false);
+ progressDialog.show(getSupportFragmentManager(), "progressDialog");
+ }
+
+ public void dismissProgressDialog() {
+ ProgressDialogFragment progressDialog = (ProgressDialogFragment) getSupportFragmentManager().findFragmentByTag("progressDialog");
+ if (progressDialog != null) {
+ progressDialog.dismiss();
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/activities/SplashActivity.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/activities/SplashActivity.java
index 20080b6..14880e1 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/activities/SplashActivity.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/activities/SplashActivity.java
@@ -40,13 +40,13 @@ public class SplashActivity extends AppCompatActivity {
new Handler().postDelayed(new Runnable() {
public void run() {
- Intent myIntent = new Intent(SplashActivity.this, HomeActivity.class);
+ /*Intent myIntent = new Intent(SplashActivity.this, HomeActivity.class);
startActivity(myIntent);
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
- finish();
+ finish();*/
- /* if (isLoggedIn) {
- Intent myIntent = new Intent(SplashActivity.this, MainActivity.class);
+ if (isLoggedIn) {
+ Intent myIntent = new Intent(SplashActivity.this, HomeActivity.class);
startActivity(myIntent);
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
finish();
@@ -55,7 +55,7 @@ public class SplashActivity extends AppCompatActivity {
startActivity(myIntent);
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
finish();
- }*/
+ }
}
}, TIMER);
}
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/activities/SummaryActivity.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/activities/SummaryActivity.java
index 49e11b6..38e53bf 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/activities/SummaryActivity.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/activities/SummaryActivity.java
@@ -1,6 +1,11 @@
package com.utopiaindustries.qualitycontrol.activities;
+import android.content.Intent;
import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
@@ -9,9 +14,15 @@ import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.utopiaindustries.qualitycontrol.R;
+import com.utopiaindustries.qualitycontrol.models.QualitySaveResponse;
public class SummaryActivity extends AppCompatActivity {
+ TextView txtPercentage, txtCutting, txtStitching, txtChecking, txtPacking, txtSubStore;
+ String overallPercentage;
+ ImageView img_back;
+ QualitySaveResponse qualitySaveResponse;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -22,5 +33,44 @@ public class SummaryActivity extends AppCompatActivity {
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
+
+ initialization();
+
+ txtPercentage.setText(overallPercentage);
+ txtCutting.setText(qualitySaveResponse.getCutting());
+ txtStitching.setText(qualitySaveResponse.getStiching());
+ txtChecking.setText(qualitySaveResponse.getChecking());
+ txtPacking.setText(qualitySaveResponse.getPacking());
+ txtSubStore.setText(qualitySaveResponse.getSub_Store());
+
+ img_back.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ Intent intent = new Intent(SummaryActivity.this, HomeActivity.class);
+ startActivity(intent);
+ }
+ });
+
+ }
+
+ public void initialization() {
+ qualitySaveResponse = (QualitySaveResponse) getIntent().getSerializableExtra("Summary");
+ overallPercentage = getIntent().getStringExtra("Percentage");
+
+ /*Log.e("Cutting: ",""+qualitySaveResponse.getCutting());
+ Log.e("Stitching: ",""+qualitySaveResponse.getStiching());
+ Log.e("Checking: ",""+qualitySaveResponse.getChecking());
+ Log.e("Packing: ",""+qualitySaveResponse.getPacking());
+ Log.e("Substore: ",""+qualitySaveResponse.getSub_Store());
+ Log.e("Overall: ",""+qualitySaveResponse.getOverAllPercentage());*/
+
+ img_back = findViewById(R.id.img_back);
+ txtPercentage = findViewById(R.id.txt_percentage);
+ txtCutting = findViewById(R.id.txt_cutting_percentage);
+ txtStitching = findViewById(R.id.txt_stitching_percentage);
+ txtChecking = findViewById(R.id.txt_checking_percentage);
+ txtPacking = findViewById(R.id.txt_packing_percentage);
+ txtSubStore = findViewById(R.id.txt_substore_percentage);
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/apiservice/ApiService.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/apiservice/ApiService.java
index 392efc6..ea2751a 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/apiservice/ApiService.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/apiservice/ApiService.java
@@ -20,11 +20,18 @@ public interface ApiService {
);*/
@GET("rest/uic/quality-control/get-quality-control-data")
- Call isUserAuthenticated();
+ Call getQualityControlData();
@POST("rest/uic/quality-control/save-quality-control")
Call saveQualityControlReport(
@Body QualityControl request
);
+
+ @POST("rest/authentication/authenticate-user")
+ Call isUserAuthenticated(
+ @Query("username") String username,
+ @Query("password") String password,
+ @Query("roles") String[] roles
+ );
}
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 834a7e5..98abe08 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/CheckingFragment.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/CheckingFragment.java
@@ -73,7 +73,6 @@ public class CheckingFragment extends Fragment implements EasyPermissions.Permis
Button nextButton;
ImageButton imagePicker, deleteImage;
EditText etPercentage, etRemarks;
- QualityControlViewModel viewModel;
List itemModelList = new ArrayList<>();
ItemStepsAdapter adapter;
private int selectedPosition = -1;
@@ -85,7 +84,7 @@ public class CheckingFragment extends Fragment implements EasyPermissions.Permis
Uri selectedImage = result.getData().getData();
if (selectedPosition != -1 && selectedImage != null) {
//imageView.setImageURI(selectedImage);
- Log.e("Selected-Image: ", "" + selectedImage);
+ //Log.e("Selected-Image: ", "" + selectedImage);
uriToByteArrayAsync(
getContext(),
@@ -139,13 +138,13 @@ public class CheckingFragment extends Fragment implements EasyPermissions.Permis
}
);
- Log.e("contentUri: ", "" + contentUri);
+ //Log.e("contentUri: ", "" + contentUri);
if (result.getResultCode() == requireActivity().RESULT_OK && result.getData() != null) {
Uri selectedImage = result.getData().getData();
if (selectedImage != null) {
//imageView.setImageURI(selectedImage);
- Log.e("Selected-Image: ", "" + selectedImage);
+ //Log.e("Selected-Image: ", "" + selectedImage);
}
}
});
@@ -167,9 +166,9 @@ public class CheckingFragment extends Fragment implements EasyPermissions.Permis
itemList.add(new Item("Safety", 0));*/
//New Implemented------------------
- if (Helper.getArrayList("ListChecking", getActivity()) != null) {
+ if (Helper.getArrayList(Helper.listChecking, getActivity()) != null) {
itemModelList.clear();
- itemModelList.addAll(Helper.getArrayList("ListChecking", getActivity()));
+ itemModelList.addAll(Helper.getArrayList(Helper.listChecking, getActivity()));
Log.e("itemModelList-size: ",""+itemModelList.size());
if (itemModelList != null) {
@@ -206,7 +205,7 @@ public class CheckingFragment extends Fragment implements EasyPermissions.Permis
List updatedItemList = itemModelList; // Or adapter.getItemList()
- for (ItemModel item : updatedItemList) {
+ /*for (ItemModel item : updatedItemList) {
Log.e("AdapterData", "ProcessId: " + item.getProcessId() +
", StepId: " + item.getStepId() +
", SpinnerSelection: " + item.getSelectedOption() +
@@ -214,12 +213,11 @@ public class CheckingFragment extends Fragment implements EasyPermissions.Permis
", Percentage: " + item.getPercentage() +
", Remarks: " + item.getRemarks() +
", ImageList: " + item.getImageArrayList());
- }
+ }*/
- Helper.saveArrayList(itemModelList, "ListChecking",getActivity());
- viewModel.appendToQualityControlItemList(itemModelList);
+ Helper.saveArrayList(itemModelList, Helper.listChecking,getActivity());
- List updatedItemListP = new ArrayList<>(Helper.getArrayList("ListChecking", getActivity()));
+ //List updatedItemListP = new ArrayList<>(Helper.getArrayList("ListChecking", getActivity()));
/* if (etRemarks.getText().toString().isEmpty()) {
Toast.makeText(getActivity(), "Please enter remarks", Toast.LENGTH_SHORT).show();
@@ -258,8 +256,6 @@ public class CheckingFragment 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);
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 6d1641d..e7e2ab8 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/CuttingFragment.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/CuttingFragment.java
@@ -74,8 +74,6 @@ public class CuttingFragment extends Fragment implements EasyPermissions.Permiss
String filePath = "no_pic";
ArrayList imageList = new ArrayList<>();
ArrayList qualityControlProcessStepList = new ArrayList<>();
- QualityControlResponse qualityControlResponse;
- QualityControlViewModel viewModel;
EditText etPercentage, etRemarks;
List itemModelList = new ArrayList<>();
ItemStepsAdapter adapter;
@@ -88,7 +86,7 @@ public class CuttingFragment extends Fragment implements EasyPermissions.Permiss
Uri selectedImage = result.getData().getData();
if (selectedPosition != -1 && selectedImage != null) {
//imageView.setImageURI(selectedImage);
- Log.e("Selected-Image: ", "" + selectedImage);
+ //Log.e("Selected-Image: ", "" + selectedImage);
uriToByteArrayAsync(
getContext(),
@@ -142,13 +140,13 @@ public class CuttingFragment extends Fragment implements EasyPermissions.Permiss
}
);
- Log.e("contentUri: ", "" + contentUri);
+ // Log.e("contentUri: ", "" + contentUri);
if (result.getResultCode() == requireActivity().RESULT_OK && result.getData() != null) {
Uri selectedImage = result.getData().getData();
if (selectedImage != null) {
//imageView.setImageURI(selectedImage);
- Log.e("Selected-Image: ", "" + selectedImage);
+ //Log.e("Selected-Image: ", "" + selectedImage);
}
}
});
@@ -175,11 +173,11 @@ public class CuttingFragment extends Fragment implements EasyPermissions.Permiss
//New Implemented------------------
- Log.e("Check-Cut: ",""+Helper.getArrayList("ListCutting", getActivity()));
- if (Helper.getArrayList("ListCutting", getActivity()) != null) {
+ //Log.e("Check-Cut: ",""+Helper.getArrayList("ListCutting", getActivity()));
+ if (Helper.getArrayList(Helper.listCutting, getActivity()) != null) {
itemModelList.clear();
- itemModelList.addAll(Helper.getArrayList("ListCutting", getActivity()));
- Log.e("itemModelList-size: ", "" + itemModelList.size());
+ itemModelList.addAll(Helper.getArrayList(Helper.listCutting, getActivity()));
+ //Log.e("itemModelList-size: ", "" + itemModelList.size());
if (itemModelList != null) {
adapter = new ItemStepsAdapter(getActivity(), itemModelList, this);
@@ -213,7 +211,7 @@ public class CuttingFragment extends Fragment implements EasyPermissions.Permiss
List updatedItemList = itemModelList; // Or adapter.getItemList()
- for (ItemModel item : updatedItemList) {
+ /*for (ItemModel item : updatedItemList) {
Log.e("AdapterData", "ProcessId: " + item.getProcessId() +
", StepId: " + item.getStepId() +
", SpinnerSelection: " + item.getSelectedOption() +
@@ -221,10 +219,9 @@ public class CuttingFragment extends Fragment implements EasyPermissions.Permiss
", Percentage: " + item.getPercentage() +
", Remarks: " + item.getRemarks() +
", ImageList: " + item.getImageArrayList());
- }
+ }*/
- Helper.saveArrayList(itemModelList, "ListCutting", getActivity());
- viewModel.appendToQualityControlItemList(itemModelList);
+ Helper.saveArrayList(itemModelList, Helper.listCutting, getActivity());
/*Log.e("Cutting: ","----------------");
Log.e("Sort: ",""+sharedViewModel.getCuttingSort());
@@ -309,8 +306,6 @@ public class CuttingFragment 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);
@@ -563,4 +558,40 @@ public class CuttingFragment extends Fragment implements EasyPermissions.Permiss
.show();
}
+
+ public boolean isValidate(int rateCutting, int rateStitching, int rateChecking, int ratePacking, int rateSub) {
+ boolean returnValue = true;
+ String message = "";
+
+ if (rateSub == 0) {
+ message = "Please rate SubStore Process.";
+ returnValue = false;
+ }
+
+ if (ratePacking == 0) {
+ message = "Please rate Packing Process.";
+ returnValue = false;
+ }
+
+ if (rateChecking == 0) {
+ message = "Please rate Checking Process.";
+ returnValue = false;
+ }
+
+ if (rateStitching == 0) {
+ message = "Please rate Stitching Process.";
+ returnValue = false;
+ }
+
+ if (rateCutting == 0) {
+ message = "Please rate Cutting Process.";
+ returnValue = false;
+ }
+
+ if (!returnValue) {
+ Toast.makeText(getActivity(), message, Toast.LENGTH_SHORT).show();
+ }
+
+ return returnValue;
+ }
}
\ No newline at end of file
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 10631ae..5b90b14 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/HomeFragment.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/HomeFragment.java
@@ -34,9 +34,7 @@ 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.utils.ProgressDialogFragment;
-import com.utopiaindustries.qualitycontrol.utils.QualityControlViewModel;
import com.utopiaindustries.qualitycontrol.viewmodels.LoginViewModel;
import java.text.SimpleDateFormat;
@@ -47,7 +45,7 @@ import java.util.Locale;
import java.util.Objects;
import java.util.stream.Collectors;
-public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnItemClickListener{
+public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnItemClickListener {
AutoCompleteTextView locationSiteTextview, unitTextview, floorTextview;
TextView txtCurrentDate;
@@ -71,7 +69,7 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
RecyclerView recyclerView;
List filteredList;
private DepartmentItemAdapter departmentItemAdapter;
- QualityControlViewModel viewModel;
+ boolean isFromPrevious = false;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
@@ -90,9 +88,9 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
unitTextview.setText("Select Unit");
floorTextview.setText("Select Floor");
- viewModel.setLocation(String.valueOf(clickedItem.getId()));
- Preference.setMyStringPref(Helper.project_file,Helper.locationSiteId,getActivity(),String.valueOf(clickedItem.getId()));
- Preference.setMyStringPref(Helper.project_file,Helper.locationSiteName,getActivity(),String.valueOf(clickedItem.getTitle()));
+ //viewModel.setLocation(String.valueOf(clickedItem.getId()));
+ Preference.setMyStringPref(Helper.project_file, Helper.locationSiteId, getActivity(), String.valueOf(clickedItem.getId()));
+ Preference.setMyStringPref(Helper.project_file, Helper.locationSiteName, getActivity(), String.valueOf(clickedItem.getTitle()));
if (!locationUnitList.isEmpty()) {
List filteredUnitItems = locationUnitList.stream()
@@ -116,10 +114,10 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
public void onItemClick(AdapterView> parent, View view, int position, long id) {
LocationUnit clickedItem = locationUnitListFiltered.get(position);
- viewModel.setUnit(String.valueOf(clickedItem.getId()));
- Preference.setMyStringPref(Helper.project_file,Helper.unitId,getActivity(),String.valueOf(clickedItem.getId()));
- Preference.setMyStringPref(Helper.project_file,Helper.unitName,getActivity(),String.valueOf(clickedItem.getTitle()));
- int targetSiteId = Integer.parseInt(Preference.getMyStringPref(Helper.project_file,Helper.locationSiteId,getActivity()));
+ //viewModel.setUnit(String.valueOf(clickedItem.getId()));
+ Preference.setMyStringPref(Helper.project_file, Helper.unitId, getActivity(), String.valueOf(clickedItem.getId()));
+ Preference.setMyStringPref(Helper.project_file, Helper.unitName, getActivity(), String.valueOf(clickedItem.getTitle()));
+ int targetSiteId = Integer.parseInt(Preference.getMyStringPref(Helper.project_file, Helper.locationSiteId, getActivity()));
//Log.e("SiteId: ",""+targetSiteId);
//Log.e("UnitId: ",""+clickedItem.getId());
@@ -144,26 +142,25 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
@Override
public void onItemClick(AdapterView> adapterView, View view, int position, long l) {
LocationFloor clickedItem = locationFloorListFiltered.get(position);
- viewModel.setFloor(String.valueOf(clickedItem.getId()));
- Preference.setMyStringPref(Helper.project_file,Helper.floorId,getActivity(),String.valueOf(clickedItem.getId()));
- Preference.setMyStringPref(Helper.project_file,Helper.floorName,getActivity(),String.valueOf(clickedItem.getTitle()));
+ //viewModel.setFloor(String.valueOf(clickedItem.getId()));
+ Preference.setMyStringPref(Helper.project_file, Helper.floorId, getActivity(), String.valueOf(clickedItem.getId()));
+ Preference.setMyStringPref(Helper.project_file, Helper.floorName, getActivity(), String.valueOf(clickedItem.getTitle()));
}
});
nextButton.setOnClickListener(v -> {
if (getActivity() instanceof HomeActivity) {
- viewModel.setFromViewModel(true);
- String siteID = Preference.getMyStringPref(Helper.project_file,Helper.locationSiteId,getActivity());
- String unitId = Preference.getMyStringPref(Helper.project_file,Helper.unitId,getActivity());
- String departId = Preference.getMyStringPref(Helper.project_file,Helper.departmentId,getActivity());
- String floorId = Preference.getMyStringPref(Helper.project_file,Helper.floorId,getActivity());
- Log.e("AdapterData", "siteID: " + siteID +
- ", unitId: " + unitId +
- ", departId: " + departId +
- ", floorId: " + floorId );
+ //viewModel.setFromViewModel(true);
+ // Preference.setMyStringPref(Helper.project_file, Helper.InProcess, getActivity(), "true");
+ String siteID = Preference.getMyStringPref(Helper.project_file, Helper.locationSiteId, getActivity());
+ String unitId = Preference.getMyStringPref(Helper.project_file, Helper.unitId, getActivity());
+ String departId = Preference.getMyStringPref(Helper.project_file, Helper.departmentId, getActivity());
+ String floorId = Preference.getMyStringPref(Helper.project_file, Helper.floorId, getActivity());
+ Log.e("AdapterData", "siteID: " + siteID + ", unitId: " + unitId +
+ ", departId: " + departId + ", floorId: " + floorId);
- if (isValidate(departId,siteID,unitId,floorId)) {
+ if (isValidate(departId, siteID, unitId, floorId)) {
((HomeActivity) getActivity()).navigateToFragment(new CuttingFragment(), true);
}
@@ -174,27 +171,20 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// Do nothing
+ Log.e("beforeTextChanged: ","------");
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
+ Log.e("onTextChanged: ","------");
filterList(s.toString());
-
- if (s.length() > 0) {
- if (viewModel.isFromViewModel()) {
- recyclerView.setVisibility(View.GONE);
- }
- else {
- recyclerView.setVisibility(View.VISIBLE); // Show the list when typing
- }
- } else {
- recyclerView.setVisibility(View.GONE); // Hide when no text is entered
- }
}
@Override
public void afterTextChanged(Editable s) {
// Do nothing
+ Log.e("afterTextChanged: ","------");
+
}
});
@@ -208,7 +198,7 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
public void initializeLayout(View view) {
- viewModel = new ViewModelProvider(requireActivity()).get(QualityControlViewModel.class);
+ //viewModel = new ViewModelProvider(requireActivity()).get(QualityControlViewModel.class);
txtCurrentDate = view.findViewById(R.id.txt_current_date);
locationSiteTextview = view.findViewById(R.id.location_textview);
@@ -218,6 +208,7 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
nextButton = view.findViewById(R.id.btn_next);
searchEditText = view.findViewById(R.id.searchEditText);
+
recyclerView = view.findViewById(R.id.recyclerView);
recyclerView.setVisibility(View.GONE);
@@ -225,9 +216,12 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
loginViewModel = new ViewModelProvider(getActivity()).get(LoginViewModel.class);
loginViewModel.getLoadingState().observe(getActivity(), isLoading -> {
+ //Log.e("HomeFragment: ", "isLoading: ");
if (isLoading != null && isLoading) {
+ //Log.e("HomeFragment: ", "isLoading:show ");
showProgressDialog();
} else {
+ //Log.e("HomeFragment: ", "isLoading: dismiss");
dismissProgressDialog();
}
});
@@ -240,16 +234,11 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
if (qcResponse != null) {
Helper.setPreferenceObject(getActivity().getApplicationContext(), qcResponse, "qcResponse");
- if (!Preference.getMyStringPref(Helper.project_file, Helper.departmentName, getActivity()).equalsIgnoreCase("default")) {
- searchEditText.setText(Preference.getMyStringPref(Helper.project_file, Helper.departmentName, getActivity()));
- locationSiteTextview.setText(Preference.getMyStringPref(Helper.project_file, Helper.locationSiteName,getActivity()));
- unitTextview.setText(Preference.getMyStringPref(Helper.project_file, Helper.unitName, getActivity()));
- floorTextview.setText(Preference.getMyStringPref(Helper.project_file, Helper.floorName, getActivity()));
- }
if (!qcResponse.getLocationSites().isEmpty()) {
- viewModel.setLocationSiteList(qcResponse.getLocationSites());
+ //viewModel.setLocationSiteList(qcResponse.getLocationSites());
+ Helper.saveList(qcResponse.getLocationSites(), Helper.homeSite, getActivity());
locationSiteList.addAll(qcResponse.getLocationSites());
@@ -260,7 +249,9 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
if (!qcResponse.getDepartments().isEmpty()) {
- viewModel.setDepartmentList(qcResponse.getDepartments());
+ // viewModel.setDepartmentList(qcResponse.getDepartments());
+ Helper.saveList(qcResponse.getDepartments(), Helper.homeDepartment, getActivity());
+
departmentList.addAll(qcResponse.getDepartments());
filteredList = new ArrayList<>(departmentList);
@@ -271,35 +262,55 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
}
if (!qcResponse.getLocationFloors().isEmpty()) {
- viewModel.setFloorList(qcResponse.getLocationFloors());
+ // viewModel.setFloorList(qcResponse.getLocationFloors());
+ Helper.saveList(qcResponse.getLocationFloors(), Helper.homeFloor, getActivity());
locationFloorList.addAll(qcResponse.getLocationFloors());
}
if (!qcResponse.getLocationUnits().isEmpty()) {
- viewModel.setUnitList(qcResponse.getLocationUnits());
+ // viewModel.setUnitList(qcResponse.getLocationUnits());
+ Helper.saveList(qcResponse.getLocationUnits(), Helper.homeUnit, getActivity());
locationUnitList.addAll(qcResponse.getLocationUnits());
}
+
+ Preference.setMyStringPref(Helper.project_file, Helper.firstTimeApiCall, getActivity(), "true");
+
} else {
Toast.makeText(getActivity(), "Fetching Records Failed", Toast.LENGTH_SHORT).show();
}
});
- /*if (viewModel.getLocationSiteList().isEmpty()) {
+ if (Preference.getMyStringPref(Helper.project_file, Helper.firstTimeApiCall, getActivity()).equalsIgnoreCase("false") ||
+ Preference.getMyStringPref(Helper.project_file, Helper.firstTimeApiCall, getActivity()).equalsIgnoreCase("default")) {
+
loginViewModel.getQualityControlData();
- }
- else {
+ } else {
+ if (!Preference.getMyStringPref(Helper.project_file, Helper.departmentName, getActivity()).equalsIgnoreCase("default")) {
+ searchEditText.setText(Preference.getMyStringPref(Helper.project_file, Helper.departmentName, getActivity()));
+ isFromPrevious = true;
+ locationSiteTextview.setText(Preference.getMyStringPref(Helper.project_file, Helper.locationSiteName, getActivity()));
+ unitTextview.setText(Preference.getMyStringPref(Helper.project_file, Helper.unitName, getActivity()));
+ floorTextview.setText(Preference.getMyStringPref(Helper.project_file, Helper.floorName, getActivity()));
+ }
+
+ departmentList.clear();
+ locationSiteList.clear();
+ locationUnitList.clear();
+ locationFloorList.clear();
//location list
- locationSiteList.addAll(viewModel.getLocationSiteList());
- Log.e("locationSiteList-size: ",""+locationSiteList.size());
+ //locationSiteList.addAll(viewModel.getLocationSiteList());
+ locationSiteList.addAll(Helper.getList(Helper.homeSite, getActivity(), LocationSite.class));
+ Log.e("locationSiteList-size: ", "" + locationSiteList.size());
locationSitesAdapter = new LocationSitesAdapter(getActivity(), locationSiteList);
locationSiteTextview.setAdapter(locationSitesAdapter);
//department list
- departmentList.addAll(viewModel.getDepartmentList());
- Log.e("departmentList-size: ",""+departmentList.size());
+ //departmentList.addAll(viewModel.getDepartmentList());
+ departmentList.addAll(Helper.getList(Helper.homeDepartment, getActivity(), Department.class));
+ Log.e("departmentList-size: ", "" + departmentList.size());
- //filteredList = new ArrayList<>(departmentList);
+ filteredList = new ArrayList<>(departmentList);
// Set up RecyclerView
departmentItemAdapter = new DepartmentItemAdapter(filteredList, this, searchEditText, recyclerView);
@@ -307,40 +318,35 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
recyclerView.setAdapter(departmentItemAdapter);
//unit list
- locationUnitList.addAll(viewModel.getUnitList());
- Log.e("locationUnitList-size: ",""+locationUnitList.size());
+ //locationUnitList.addAll(viewModel.getUnitList());
+ locationUnitList.addAll(Helper.getList(Helper.homeUnit, getActivity(), LocationUnit.class));
+ Log.e("locationUnitList-size: ", "" + locationUnitList.size());
//floor list
- locationFloorList.addAll(viewModel.getFloorList());
- Log.e("locationFloorList-size: ",""+locationFloorList.size());
+ //locationFloorList.addAll(viewModel.getFloorList());
+ locationFloorList.addAll(Helper.getList(Helper.homeFloor, getActivity(), LocationFloor.class));
+ Log.e("locationFloorList-size: ", "" + locationFloorList.size());
recyclerView.setVisibility(View.GONE);
- }*/
-
+ }
}
@Override
public void onResume() {
super.onResume();
- Log.e("onResume: ","HomeFragment");
- departmentList.clear();
- locationSiteList.clear();
- locationUnitList.clear();
- locationFloorList.clear();
- loginViewModel.getQualityControlData();
}
public void showProgressDialog() {
ProgressDialogFragment progressDialog = new ProgressDialogFragment();
progressDialog.setCancelable(false);
- progressDialog.show(getActivity().getSupportFragmentManager(), "progressDialog");
+ progressDialog.show(requireActivity().getSupportFragmentManager(), "progressDialog");
}
public void dismissProgressDialog() {
ProgressDialogFragment progressDialog = (ProgressDialogFragment)
- getActivity().getSupportFragmentManager().findFragmentByTag("progressDialog");
+ requireActivity().getSupportFragmentManager().findFragmentByTag("progressDialog");
if (progressDialog != null) {
progressDialog.dismiss();
}
@@ -353,7 +359,7 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
// Hide the RecyclerView when there's no query
recyclerView.setVisibility(View.GONE);
} else {
- // Show RecyclerView when there's a query
+
recyclerView.setVisibility(View.VISIBLE);
for (Department item : departmentList) {
@@ -363,16 +369,21 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
}
}
departmentItemAdapter.notifyDataSetChanged();
- }
+ if (isFromPrevious) {
+ isFromPrevious = false;
+ recyclerView.setVisibility(View.GONE);
+ }
+
+ }
}
@Override
public void onItemClick(Department item) {
//Toast.makeText(getActivity(), "Selected: " + item.getTitle(), Toast.LENGTH_SHORT).show();
- viewModel.setDepartmentId(item.getId());
- Preference.setMyStringPref(Helper.project_file,Helper.departmentId,getActivity(),String.valueOf(item.getId()));
- Preference.setMyStringPref(Helper.project_file,Helper.departmentName,getActivity(),String.valueOf(item.getTitle()));
+ //viewModel.setDepartmentId(item.getId());
+ Preference.setMyStringPref(Helper.project_file, Helper.departmentId, getActivity(), String.valueOf(item.getId()));
+ Preference.setMyStringPref(Helper.project_file, Helper.departmentName, getActivity(), String.valueOf(item.getTitle()));
}
public boolean isValidate(String departId, String siteId, String unitId, String floorId) {
@@ -400,7 +411,7 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt
}
if (!returnValue) {
- Toast.makeText(getActivity(),message,Toast.LENGTH_SHORT).show();
+ Toast.makeText(getActivity(), message, Toast.LENGTH_SHORT).show();
}
return returnValue;
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 d8a0f17..0f3eda4 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/PackingFragment.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/PackingFragment.java
@@ -74,7 +74,6 @@ public class PackingFragment extends Fragment implements EasyPermissions.Permiss
ArrayList imageList = new ArrayList<>();
EditText etPercentage, etRemarks;
- QualityControlViewModel viewModel;
List itemModelList = new ArrayList<>();
ItemStepsAdapter adapter;
private int selectedPosition = -1;
@@ -86,7 +85,7 @@ public class PackingFragment extends Fragment implements EasyPermissions.Permiss
Uri selectedImage = result.getData().getData();
if (selectedPosition != -1 && selectedImage != null) {
//imageView.setImageURI(selectedImage);
- Log.e("Selected-Image: ", "" + selectedImage);
+ //Log.e("Selected-Image: ", "" + selectedImage);
uriToByteArrayAsync(
getContext(),
@@ -140,13 +139,13 @@ public class PackingFragment extends Fragment implements EasyPermissions.Permiss
}
);
- Log.e("contentUri: ", "" + contentUri);
+ //Log.e("contentUri: ", "" + contentUri);
if (result.getResultCode() == requireActivity().RESULT_OK && result.getData() != null) {
Uri selectedImage = result.getData().getData();
if (selectedImage != null) {
//imageView.setImageURI(selectedImage);
- Log.e("Selected-Image: ", "" + selectedImage);
+ //Log.e("Selected-Image: ", "" + selectedImage);
}
}
});
@@ -168,10 +167,10 @@ public class PackingFragment extends Fragment implements EasyPermissions.Permiss
itemList.add(new Item("Safety", 0));*/
//New Implemented------------------
- if (Helper.getArrayList("ListPacking", getActivity()) != null) {
+ if (Helper.getArrayList(Helper.listPacking, getActivity()) != null) {
itemModelList.clear();
- itemModelList.addAll(Helper.getArrayList("ListPacking", getActivity()));
- Log.e("itemModelList-size: ",""+itemModelList.size());
+ itemModelList.addAll(Helper.getArrayList(Helper.listPacking, getActivity()));
+ //Log.e("itemModelList-size: ",""+itemModelList.size());
if (itemModelList != null) {
adapter = new ItemStepsAdapter(getActivity(), itemModelList,this);
@@ -220,7 +219,7 @@ public class PackingFragment extends Fragment implements EasyPermissions.Permiss
List updatedItemList = itemModelList; // Or adapter.getItemList()
- for (ItemModel item : updatedItemList) {
+ /*for (ItemModel item : updatedItemList) {
Log.e("AdapterData", "ProcessId: " + item.getProcessId() +
", StepId: " + item.getStepId() +
", SpinnerSelection: " + item.getSelectedOption() +
@@ -228,12 +227,11 @@ public class PackingFragment extends Fragment implements EasyPermissions.Permiss
", Percentage: " + item.getPercentage() +
", Remarks: " + item.getRemarks() +
", ImageList: " + item.getImageArrayList());
- }
+ }*/
- Helper.saveArrayList(itemModelList, "ListPacking",getActivity());
- viewModel.appendToQualityControlItemList(itemModelList);
+ Helper.saveArrayList(itemModelList, Helper.listPacking,getActivity());
- List updatedItemListP = new ArrayList<>(Helper.getArrayList("ListPacking", getActivity()));
+ //List updatedItemListP = new ArrayList<>(Helper.getArrayList("ListPacking", getActivity()));
/*if (etRemarks.getText().toString().isEmpty()) {
Toast.makeText(getActivity(), "Please enter remarks", Toast.LENGTH_SHORT).show();
@@ -259,8 +257,6 @@ 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);
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 6071ff8..47a6665 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/StitchingFragment.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/StitchingFragment.java
@@ -76,7 +76,6 @@ public class StitchingFragment extends Fragment implements EasyPermissions.Permi
ArrayList imageList = new ArrayList<>();
EditText etPercentage, etRemarks;
- QualityControlViewModel viewModel;
List itemModelList = new ArrayList<>();
ItemStepsAdapter adapter;
private int selectedPosition = -1;
@@ -88,7 +87,7 @@ public class StitchingFragment extends Fragment implements EasyPermissions.Permi
Uri selectedImage = result.getData().getData();
if (selectedPosition != -1 && selectedImage != null) {
//imageView.setImageURI(selectedImage);
- Log.e("Selected-Image: ", "" + selectedImage);
+ //Log.e("Selected-Image: ", "" + selectedImage);
uriToByteArrayAsync(
getContext(),
@@ -142,13 +141,13 @@ public class StitchingFragment extends Fragment implements EasyPermissions.Permi
}
);
- Log.e("contentUri: ", "" + contentUri);
+ //Log.e("contentUri: ", "" + contentUri);
if (result.getResultCode() == requireActivity().RESULT_OK && result.getData() != null) {
Uri selectedImage = result.getData().getData();
if (selectedImage != null) {
//imageView.setImageURI(selectedImage);
- Log.e("Selected-Image: ", "" + selectedImage);
+ //Log.e("Selected-Image: ", "" + selectedImage);
}
}
});
@@ -167,10 +166,10 @@ public class StitchingFragment extends Fragment implements EasyPermissions.Permi
recyclerView.setAdapter(adapter);*/
//New Implemented------------------
- if (Helper.getArrayList("ListStitching", getActivity()) != null) {
+ if (Helper.getArrayList(Helper.listStitching, getActivity()) != null) {
itemModelList.clear();
- itemModelList.addAll(Helper.getArrayList("ListStitching", getActivity()));
- Log.e("itemModelList-size: ",""+itemModelList.size());
+ itemModelList.addAll(Helper.getArrayList(Helper.listStitching, getActivity()));
+ //Log.e("itemModelList-size: ",""+itemModelList.size());
if (itemModelList != null) {
adapter = new ItemStepsAdapter(getActivity(), itemModelList, this);
@@ -219,7 +218,7 @@ public class StitchingFragment extends Fragment implements EasyPermissions.Permi
List updatedItemList = itemModelList; // Or adapter.getItemList()
- for (ItemModel item : updatedItemList) {
+ /*for (ItemModel item : updatedItemList) {
Log.e("AdapterData", "ProcessId: " + item.getProcessId() +
", StepId: " + item.getStepId() +
", SpinnerSelection: " + item.getSelectedOption() +
@@ -227,12 +226,11 @@ public class StitchingFragment extends Fragment implements EasyPermissions.Permi
", Percentage: " + item.getPercentage() +
", Remarks: " + item.getRemarks() +
", ImageList: " + item.getImageArrayList());
- }
+ }*/
- Helper.saveArrayList(itemModelList, "ListStitching",getActivity());
- viewModel.appendToQualityControlItemList(itemModelList);
+ Helper.saveArrayList(itemModelList, Helper.listStitching,getActivity());
- List updatedItemListP = new ArrayList<>(Helper.getArrayList("ListStitching", getActivity()));
+ //List updatedItemListP = new ArrayList<>(Helper.getArrayList("ListStitching", getActivity()));
/*if (etRemarks.getText().toString().isEmpty()) {
@@ -259,7 +257,7 @@ public class StitchingFragment extends Fragment implements EasyPermissions.Permi
private void initializeLayout(View view) {
- viewModel = new ViewModelProvider(requireActivity()).get(QualityControlViewModel.class);
+ //viewModel = new ViewModelProvider(requireActivity()).get(QualityControlViewModel.class);
etPercentage = view.findViewById(R.id.et_percentage);
etRemarks = view.findViewById(R.id.et_remarks);
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 a10543c..aeb8564 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/SubStoreFragment.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/SubStoreFragment.java
@@ -43,10 +43,8 @@ import com.utopiaindustries.qualitycontrol.helper.Helper;
import com.utopiaindustries.qualitycontrol.helper.Preference;
import com.utopiaindustries.qualitycontrol.utils.ImageSelectionListener;
import com.utopiaindustries.qualitycontrol.utils.ProgressDialogFragment;
-import com.utopiaindustries.qualitycontrol.utils.QualityControlViewModel;
import com.utopiaindustries.qualitycontrol.viewmodels.HomeViewModel;
import com.utopiaindustries.qualitycontrol.viewmodels.ItemModel;
-import com.utopiaindustries.qualitycontrol.viewmodels.LoginViewModel;
import com.utopiaindustries.qualitycontrol.viewmodels.QualityControl;
import java.io.ByteArrayOutputStream;
@@ -55,7 +53,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -80,7 +77,7 @@ public class SubStoreFragment extends Fragment implements EasyPermissions.Permis
ArrayList imageList = new ArrayList<>();
EditText etPercentage, etRemarks;
- QualityControlViewModel viewModel;
+ //QualityControlViewModel viewModel;
List itemModelList = new ArrayList<>();
ItemStepsAdapter adapter;
private int selectedPosition = -1;
@@ -151,7 +148,7 @@ public class SubStoreFragment extends Fragment implements EasyPermissions.Permis
Uri selectedImage = result.getData().getData();
if (selectedImage != null) {
//imageView.setImageURI(selectedImage);
- Log.e("Selected-Image: ", "" + selectedImage);
+ // Log.e("Selected-Image: ", "" + selectedImage);
}
}
});
@@ -173,29 +170,27 @@ public class SubStoreFragment extends Fragment implements EasyPermissions.Permis
itemList.add(new Item("Safety", 0));*/
//New Implemented------------------
- if (Helper.getArrayList("ListSubStore", getActivity()) != null) {
+ if (Helper.getArrayList(Helper.listSubStore, getActivity()) != null) {
itemModelList.clear();
- itemModelList.addAll(Helper.getArrayList("ListSubStore", getActivity()));
- Log.e("itemModelList-size: ",""+itemModelList.size());
+ itemModelList.addAll(Helper.getArrayList(Helper.listSubStore, getActivity()));
+ //Log.e("itemModelList-size: ",""+itemModelList.size());
if (itemModelList != null) {
adapter = new ItemStepsAdapter(getActivity(), itemModelList, this);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setAdapter(adapter);
- }
- else {
+ } else {
for (int i = 1; i < 7; i++) {
- itemModelList.add(new ItemModel(5,i,0,"0","",0, null, null));
+ itemModelList.add(new ItemModel(5, i, 0, "0", "", 0, null, null));
}
adapter = new ItemStepsAdapter(getActivity(), itemModelList, this);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setAdapter(adapter);
}
- }
- else {
+ } else {
for (int i = 1; i < 7; i++) {
- itemModelList.add(new ItemModel(5,i,0,"0","",0, null, null));
+ itemModelList.add(new ItemModel(5, i, 0, "0", "", 0, null, null));
}
adapter = new ItemStepsAdapter(getActivity(), itemModelList, this);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
@@ -225,35 +220,6 @@ public class SubStoreFragment extends Fragment implements EasyPermissions.Permis
startActivity(intent);
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() +
- ", ImageList: " + item.getImageArrayList());
- }
-
- Helper.saveArrayList(itemModelList, "ListSubStore",getActivity());
- viewModel.appendToQualityControlItemList(itemModelList);
-
- int siteID = Integer.parseInt(Preference.getMyStringPref(Helper.project_file,Helper.locationSiteId,getActivity()));
- int unitId = Integer.parseInt(Preference.getMyStringPref(Helper.project_file,Helper.unitId,getActivity()));
- int departId = Integer.parseInt(Preference.getMyStringPref(Helper.project_file,Helper.departmentId,getActivity()));
- int floorId = Integer.parseInt(Preference.getMyStringPref(Helper.project_file,Helper.floorId,getActivity()));
-
- List tempList = new ArrayList<>();
- tempList.addAll(Helper.getArrayList("ListCutting",getActivity()));
- tempList.addAll(Helper.getArrayList("ListStitching",getActivity()));
- tempList.addAll(Helper.getArrayList("ListChecking",getActivity()));
- tempList.addAll(Helper.getArrayList("ListPacking",getActivity()));
- tempList.addAll(Helper.getArrayList("ListSubStore",getActivity()));
-
- QualityControl qualityControl = new QualityControl(siteID,unitId,departId,floorId,tempList);
-
/*Log.e("AdapterData", "siteID: " + siteID +
", unitId: " + unitId +
", departId: " + departId +
@@ -272,7 +238,47 @@ public class SubStoreFragment extends Fragment implements EasyPermissions.Permis
", Image: " + Arrays.toString(item.getImageUri()));
}*/
- homeViewModel.saveQualityControlData(qualityControl);
+ AlertDialog.Builder builder = new AlertDialog.Builder(requireContext());
+ builder.setTitle("Are you sure to save Report?")
+ .setItems(new String[]{"Yes", "Cancel"}, (dialog, which) -> {
+ if (which == 0) {
+
+ 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() +
+ ", ImageList: " + item.getImageArrayList());
+ }*/
+
+ Helper.saveArrayList(itemModelList, Helper.listSubStore, getActivity());
+ //viewModel.appendToQualityControlItemList(itemModelList);
+
+ int siteID = Integer.parseInt(Preference.getMyStringPref(Helper.project_file, Helper.locationSiteId, getActivity()));
+ int unitId = Integer.parseInt(Preference.getMyStringPref(Helper.project_file, Helper.unitId, getActivity()));
+ int departId = Integer.parseInt(Preference.getMyStringPref(Helper.project_file, Helper.departmentId, getActivity()));
+ int floorId = Integer.parseInt(Preference.getMyStringPref(Helper.project_file, Helper.floorId, getActivity()));
+
+ List tempList = new ArrayList<>();
+ tempList.addAll(Helper.getArrayList(Helper.listCutting, getActivity()));
+ tempList.addAll(Helper.getArrayList(Helper.listStitching, getActivity()));
+ tempList.addAll(Helper.getArrayList(Helper.listChecking, getActivity()));
+ tempList.addAll(Helper.getArrayList(Helper.listPacking, getActivity()));
+ tempList.addAll(Helper.getArrayList(Helper.listSubStore, getActivity()));
+ String generatedBy = Preference.getMyStringPref(Helper.project_file,Helper.logInUser,getActivity());
+
+ QualityControl qualityControl = new QualityControl(generatedBy, siteID, unitId, departId, floorId, tempList);
+
+ homeViewModel.saveQualityControlData(qualityControl);
+ } else {
+ dialog.dismiss();
+ }
+ })
+ .show();
});
@@ -286,7 +292,7 @@ public class SubStoreFragment extends Fragment implements EasyPermissions.Permis
private void initializeLayout(View view) {
- viewModel = new ViewModelProvider(requireActivity()).get(QualityControlViewModel.class);
+ //viewModel = new ViewModelProvider(requireActivity()).get(QualityControlViewModel.class);
homeViewModel = new ViewModelProvider(requireActivity()).get(HomeViewModel.class);
etPercentage = view.findViewById(R.id.et_percentage);
@@ -317,11 +323,35 @@ public class SubStoreFragment extends Fragment implements EasyPermissions.Permis
homeViewModel.getUserLiveData().observe(getActivity(), qcResponse -> {
if (qcResponse != null) {
- Log.e("qcResponse: ",""+qcResponse);
- Log.e("","Status: " + qcResponse.getStatus() + "Message: " + qcResponse.getMessage() + "Percentage: " + qcResponse.getOverAllPercentage());
- /*getActivity().finish();
+ /*Log.e("qcResponse: ", "" + qcResponse);
+ Log.e("","Status: " + qcResponse.getStatus() + " Message: " + qcResponse.getMessage() + " Percentage: " + qcResponse.getOverAllPercentage());
+ Log.e("","Cut: " + qcResponse.getCutting() + " Stitch: " + qcResponse.getStiching() + " Check: " + qcResponse.getChecking());
+ Log.e("","Pack: " + qcResponse.getPacking() + " Substore: " + qcResponse.getSub_Store());*/
+ Preference.remove(Helper.project_file, Helper.departmentId, getActivity());
+ Preference.remove(Helper.project_file, Helper.departmentName, getActivity());
+
+ Preference.remove(Helper.project_file, Helper.locationSiteId, getActivity());
+ Preference.remove(Helper.project_file, Helper.locationSiteName, getActivity());
+
+ Preference.remove(Helper.project_file, Helper.unitId, getActivity());
+ Preference.remove(Helper.project_file, Helper.unitName, getActivity());
+
+ Preference.remove(Helper.project_file, Helper.floorId, getActivity());
+ Preference.remove(Helper.project_file, Helper.floorName, getActivity());
+
+ Helper.RemoveArrayList(Helper.listCutting,getActivity());
+ Helper.RemoveArrayList(Helper.listStitching,getActivity());
+ Helper.RemoveArrayList(Helper.listChecking,getActivity());
+ Helper.RemoveArrayList(Helper.listPacking,getActivity());
+ Helper.RemoveArrayList(Helper.listSubStore,getActivity());
+
+ //Preference.setMyStringPref(Helper.project_file, Helper.InProcess, getActivity(), "false");
+
+ getActivity().finish();
Intent intent = new Intent(getActivity(), SummaryActivity.class);
- startActivity(intent);*/
+ intent.putExtra("Percentage", qcResponse.getOverAllPercentage());
+ intent.putExtra("Summary", qcResponse);
+ startActivity(intent);
}
});
}
@@ -560,11 +590,11 @@ public class SubStoreFragment extends Fragment implements EasyPermissions.Permis
public void showProgressDialog() {
ProgressDialogFragment progressDialog = new ProgressDialogFragment();
progressDialog.setCancelable(false);
- progressDialog.show(getActivity().getSupportFragmentManager(), "progressDialog");
+ progressDialog.show(requireActivity().getSupportFragmentManager(), "progressDialog");
}
public void dismissProgressDialog() {
- ProgressDialogFragment progressDialog = (ProgressDialogFragment) getActivity().getSupportFragmentManager().findFragmentByTag("progressDialog");
+ ProgressDialogFragment progressDialog = (ProgressDialogFragment) requireActivity().getSupportFragmentManager().findFragmentByTag("progressDialog");
if (progressDialog != null) {
progressDialog.dismiss();
}
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 ffca4ee..ddd46ef 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/helper/Helper.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/helper/Helper.java
@@ -6,6 +6,7 @@ import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import androidx.preference.PreferenceManager;
import android.text.TextUtils;
+import android.util.Log;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
@@ -29,6 +30,22 @@ public class Helper {
public static final String floorId = "floorId";
public static final String floorName = "floorName";
+ public static final String listCutting = "ListCutting";
+ public static final String listStitching = "ListStitching";
+ public static final String listChecking = "ListChecking";
+ public static final String listPacking = "ListPacking";
+ public static final String listSubStore = "ListSubStore";
+
+ public static final String homeSite = "Sites";
+ public static final String homeDepartment = "Departments";
+ public static final String homeUnit = "Units";
+ public static final String homeFloor = "Floors";
+
+ public static final String firstTimeApiCall = "isFirstTimeApiCall";
+ public static final String InProcess = "InProcess";
+
+ public static final String logInUser = "LogInUser";
+
public static boolean isValidEmail(CharSequence target) {
return !TextUtils.isEmpty(target) && android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches();
}
@@ -83,4 +100,40 @@ public class Helper {
Type type = new TypeToken>() {}.getType();
return gson.fromJson(json, type);
}
+
+ static public void RemoveArrayList(String key, Context context) {
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ if (prefs.contains(key)) { // Check if the key exists
+ SharedPreferences.Editor editor = prefs.edit();
+ editor.remove(key); // Remove the key-value pair
+ editor.apply(); // Apply changes
+ Log.e("SharedPreferences", "Key '" + key + "' removed successfully.");
+ } else {
+ Log.e("SharedPreferences", "Key '" + key + "' does not exist.");
+ }
+ }
+
+ //for department, site, unit, floor
+ public static void saveList(List list, String key, Context context) {
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ SharedPreferences.Editor editor = prefs.edit();
+ Gson gson = new Gson();
+ String json = gson.toJson(list); // Convert the list to JSON
+ editor.putString(key, json);
+ editor.apply(); // Save to SharedPreferences
+ }
+
+ public static List getList(String key, Context context, Class clazz) {
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+
+ // Check if the key exists
+ if (!prefs.contains(key)) {
+ return new ArrayList<>(); // Return an empty list if the key doesn't exist
+ }
+
+ Gson gson = new Gson();
+ String json = prefs.getString(key, null);
+ Type type = TypeToken.getParameterized(ArrayList.class, clazz).getType(); // Use the provided class type
+ return gson.fromJson(json, type); // Convert JSON back to the list
+ }
}
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/models/QualitySaveResponse.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/models/QualitySaveResponse.java
index 3527b80..af5efa9 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/models/QualitySaveResponse.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/models/QualitySaveResponse.java
@@ -3,9 +3,10 @@ package com.utopiaindustries.qualitycontrol.models;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
+import java.io.Serializable;
import java.util.List;
-public class QualitySaveResponse {
+public class QualitySaveResponse implements Serializable {
@SerializedName("overAllPercentage")
@Expose
@@ -19,6 +20,26 @@ public class QualitySaveResponse {
@Expose
private String message;
+ @SerializedName("Cutting")
+ @Expose
+ private String Cutting;
+
+ @SerializedName("Stiching")
+ @Expose
+ private String Stiching;
+
+ @SerializedName("Checking")
+ @Expose
+ private String Checking;
+
+ @SerializedName("Packing")
+ @Expose
+ private String Packing;
+
+ @SerializedName("Sub Store")
+ @Expose
+ private String Sub_Store;
+
public String getOverAllPercentage() {
return overAllPercentage;
}
@@ -42,4 +63,44 @@ public class QualitySaveResponse {
public void setMessage(String message) {
this.message = message;
}
+
+ public String getCutting() {
+ return Cutting;
+ }
+
+ public void setCutting(String cutting) {
+ Cutting = cutting;
+ }
+
+ public String getStiching() {
+ return Stiching;
+ }
+
+ public void setStiching(String stiching) {
+ Stiching = stiching;
+ }
+
+ public String getChecking() {
+ return Checking;
+ }
+
+ public void setChecking(String checking) {
+ Checking = checking;
+ }
+
+ public String getPacking() {
+ return Packing;
+ }
+
+ public void setPacking(String packing) {
+ Packing = packing;
+ }
+
+ public String getSub_Store() {
+ return Sub_Store;
+ }
+
+ public void setSub_Store(String sub_Store) {
+ Sub_Store = sub_Store;
+ }
}
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/HomeViewModel.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/HomeViewModel.java
index a676e68..30d5745 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/HomeViewModel.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/HomeViewModel.java
@@ -47,10 +47,10 @@ public class HomeViewModel extends ViewModel {
apiService.saveQualityControlReport(qualityControl).enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
- Log.e("onResponse: ",""+response);
+ //Log.e("onResponse: ",""+response);
isLoading.setValue(false);
if (response.isSuccessful() && response.body() != null) {
- Log.e("onResponse-success: ",""+response);
+ //Log.e("onResponse-success: ",""+response);
userLiveData.setValue(response.body());
} else {
errorLiveData.setValue(response.message());
@@ -59,7 +59,7 @@ public class HomeViewModel extends ViewModel {
@Override
public void onFailure(Call call, Throwable t) {
- Log.e("onResponse-fail: ",""+t.getMessage());
+ //Log.e("onResponse-fail: ",""+t.getMessage());
isLoading.setValue(false);
errorLiveData.setValue(t.getMessage());
}
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/LoginViewModel.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/LoginViewModel.java
index 6ca2e7f..3770586 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/LoginViewModel.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/LoginViewModel.java
@@ -1,5 +1,8 @@
package com.utopiaindustries.qualitycontrol.viewmodels;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
@@ -15,6 +18,7 @@ import retrofit2.Response;
public class LoginViewModel extends ViewModel {
private MutableLiveData userLiveData;
+ private MutableLiveData userLoginLiveData;
private MutableLiveData errorLiveData;
private MutableLiveData isLoading;
private ApiService apiService;
@@ -22,6 +26,7 @@ public class LoginViewModel extends ViewModel {
public LoginViewModel() {
apiService = ApiServiceFactory.getApiService();
userLiveData = new MutableLiveData<>();
+ userLoginLiveData = new MutableLiveData<>();
errorLiveData = new MutableLiveData<>();
isLoading = new MutableLiveData<>();
}
@@ -41,11 +46,13 @@ public class LoginViewModel extends ViewModel {
public void getQualityControlData() {
isLoading.setValue(true);
- apiService.isUserAuthenticated().enqueue(new Callback() {
+ apiService.getQualityControlData().enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
+
isLoading.setValue(false);
- if (response.isSuccessful() && response.body() != null) {
+ if (response.isSuccessful() && response.body() != null) {
+ Log.e("onResponse: ", "Successful");
userLiveData.setValue(response.body());
} else {
errorLiveData.setValue(response.message());
@@ -54,12 +61,41 @@ public class LoginViewModel extends ViewModel {
@Override
public void onFailure(Call call, Throwable t) {
+ Log.e("onResponse: ", "Fail");
isLoading.setValue(false);
errorLiveData.setValue(t.getMessage());
}
});
}
+ public void isUserAuthenticated(String username, String password, String[] roles) {
+ isLoading.setValue(true);
+ apiService.isUserAuthenticated(username, password, roles).enqueue(new Callback() {
+ @Override
+ public void onResponse(@NonNull Call call, @NonNull Response response) {
+ isLoading.setValue(false);
+ Log.e("onResponse-1: ", "Successful: "+response);
+ if (response.isSuccessful() && response.body() != null) {
+ Log.e("onResponse-2: ", "Successful: "+response);
+ userLoginLiveData.setValue(response.body());
+ } else {
+ userLoginLiveData.setValue(false);
+ }
+ }
+
+ @Override
+ public void onFailure(@NonNull Call call, @NonNull Throwable t) {
+ Log.e("onResponse-2: ", "failed"+t.getMessage());
+ isLoading.setValue(false);
+ errorLiveData.setValue(t.getMessage());
+ }
+ });
+ }
+
+ public LiveData getLoginUser() {
+ return userLoginLiveData;
+ }
+
public LiveData getUser() {
return userLiveData;
}
diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/QualityControl.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/QualityControl.java
index dd10ea6..bb7a9ed 100644
--- a/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/QualityControl.java
+++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/QualityControl.java
@@ -4,13 +4,15 @@ import java.util.List;
public class QualityControl {
+ private String generatedBy;
private int siteId;
private int unitId;
private int departmentId;
private int floorId;
private List qualityControlItemList;
- public QualityControl(int siteId, int floorId, int departmentId, int unitId, List qualityControlItemList) {
+ public QualityControl(String generatedBy, int siteId, int floorId, int departmentId, int unitId, List qualityControlItemList) {
+ this.generatedBy = generatedBy;
this.siteId = siteId;
this.qualityControlItemList = qualityControlItemList;
this.floorId = floorId;
@@ -21,6 +23,14 @@ public class QualityControl {
public QualityControl() {
}
+ public String getGeneratedBy() {
+ return generatedBy;
+ }
+
+ public void setGeneratedBy(String generatedBy) {
+ this.generatedBy = generatedBy;
+ }
+
public int getSiteId() {
return siteId;
}
diff --git a/app/src/main/res/drawable/ic_email.xml b/app/src/main/res/drawable/ic_email.xml
new file mode 100644
index 0000000..4c104e9
--- /dev/null
+++ b/app/src/main/res/drawable/ic_email.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_logout.xml b/app/src/main/res/drawable/ic_logout.xml
new file mode 100644
index 0000000..bf421c2
--- /dev/null
+++ b/app/src/main/res/drawable/ic_logout.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_password.xml b/app/src/main/res/drawable/ic_password.xml
new file mode 100644
index 0000000..1813549
--- /dev/null
+++ b/app/src/main/res/drawable/ic_password.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/rounded_white.xml b/app/src/main/res/drawable/rounded_white.xml
new file mode 100644
index 0000000..5820345
--- /dev/null
+++ b/app/src/main/res/drawable/rounded_white.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml
index b039eae..9e18a52 100644
--- a/app/src/main/res/layout/activity_home.xml
+++ b/app/src/main/res/layout/activity_home.xml
@@ -5,6 +5,7 @@
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:background="@color/white"
tools:context=".activities.HomeActivity">
-->
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
new file mode 100644
index 0000000..7b4526d
--- /dev/null
+++ b/app/src/main/res/layout/activity_login.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml
index 5494a0c..00c1ebc 100644
--- a/app/src/main/res/layout/activity_splash.xml
+++ b/app/src/main/res/layout/activity_splash.xml
@@ -5,6 +5,7 @@
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:background="@color/white"
tools:context=".activities.SplashActivity">
@@ -41,4 +42,158 @@
app:layout_constraintTop_toTopOf="@+id/toolbar"
app:srcCompat="@drawable/arrow_back" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/custom_layout.xml b/app/src/main/res/layout/custom_layout.xml
index e74782c..1e2d21f 100644
--- a/app/src/main/res/layout/custom_layout.xml
+++ b/app/src/main/res/layout/custom_layout.xml
@@ -2,7 +2,7 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_checking.xml b/app/src/main/res/layout/fragment_checking.xml
index 6df1333..bf56339 100644
--- a/app/src/main/res/layout/fragment_checking.xml
+++ b/app/src/main/res/layout/fragment_checking.xml
@@ -3,6 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:background="@color/white"
tools:context=".fragments.CheckingFragment">
diff --git a/app/src/main/res/layout/fragment_cutting.xml b/app/src/main/res/layout/fragment_cutting.xml
index c31b991..3f94af9 100644
--- a/app/src/main/res/layout/fragment_cutting.xml
+++ b/app/src/main/res/layout/fragment_cutting.xml
@@ -3,6 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:background="@color/white"
tools:context=".fragments.CuttingFragment">
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index 2c1f123..44128d9 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -4,6 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:background="@color/white"
tools:context=".fragments.HomeFragment">
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_packing.xml b/app/src/main/res/layout/fragment_packing.xml
index 6ec5723..8a8aeae 100644
--- a/app/src/main/res/layout/fragment_packing.xml
+++ b/app/src/main/res/layout/fragment_packing.xml
@@ -3,6 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:background="@color/white"
tools:context=".fragments.PackingFragment">
diff --git a/app/src/main/res/layout/fragment_stitching.xml b/app/src/main/res/layout/fragment_stitching.xml
index 612da43..c568bb5 100644
--- a/app/src/main/res/layout/fragment_stitching.xml
+++ b/app/src/main/res/layout/fragment_stitching.xml
@@ -3,6 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:background="@color/white"
tools:context=".fragments.StitchingFragment">
diff --git a/app/src/main/res/layout/fragment_sub_store.xml b/app/src/main/res/layout/fragment_sub_store.xml
index 1ca2679..7ae5c11 100644
--- a/app/src/main/res/layout/fragment_sub_store.xml
+++ b/app/src/main/res/layout/fragment_sub_store.xml
@@ -3,6 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:background="@color/white"
tools:context=".fragments.SubStoreFragment">
diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml
index e260611..75d63f0 100644
--- a/app/src/main/res/values-night/themes.xml
+++ b/app/src/main/res/values-night/themes.xml
@@ -1,7 +1,27 @@
-
+
+
\ 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 9e2481e..acd8eef 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,5 +1,5 @@
- QualityControl
+ 5S App
Version 1.0
Hello blank fragment
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 93c35ac..3dcb135 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -1,8 +1,25 @@
-