From f82d10ddea8289ea14b5a45d57d575824e252d5d Mon Sep 17 00:00:00 2001 From: "saad.siddiq" Date: Wed, 4 Dec 2024 18:06:54 +0500 Subject: [PATCH] Feedback implemented --- .../activities/HomeActivity.java | 14 +++++ .../adapters/ItemStepsAdapter.java | 16 ++++- .../fragments/CheckingFragment.java | 13 +++++ .../fragments/CuttingFragment.java | 14 +++++ .../fragments/HomeFragment.java | 58 ++++++++++++------- .../fragments/PackingFragment.java | 13 +++++ .../fragments/StitchingFragment.java | 13 +++++ .../fragments/SubStoreFragment.java | 28 ++++++++- .../qualitycontrol/helper/Helper.java | 4 +- .../utils/ImageSelectionListener.java | 2 + .../viewmodels/LoginViewModel.java | 4 +- .../viewmodels/QualityControl.java | 28 ++------- app/src/main/res/layout/activity_home.xml | 13 ++++- app/src/main/res/layout/activity_login.xml | 1 + app/src/main/res/layout/activity_splash.xml | 9 ++- app/src/main/res/layout/fragment_home.xml | 2 + .../main/res/layout/item_recycler_view.xml | 12 ++++ app/src/main/res/values/strings.xml | 2 +- 18 files changed, 190 insertions(+), 56 deletions(-) diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/activities/HomeActivity.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/activities/HomeActivity.java index d57753a..2f78628 100644 --- a/app/src/main/java/com/utopiaindustries/qualitycontrol/activities/HomeActivity.java +++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/activities/HomeActivity.java @@ -48,6 +48,7 @@ public class HomeActivity extends AppCompatActivity { private final List fragmentList = new ArrayList<>(); //Button btnNext; ImageView imgLogout; + ImageView img_back; @Override protected void onCreate(Bundle savedInstanceState) { @@ -64,6 +65,7 @@ public class HomeActivity extends AppCompatActivity { Toast.makeText( this, "No Internet Connection", Toast.LENGTH_LONG ).show(); } + img_back = findViewById(R.id.img_back); imgLogout = findViewById(R.id.img_logout); imgLogout.setOnClickListener(new View.OnClickListener() { @@ -72,6 +74,18 @@ public class HomeActivity extends AppCompatActivity { alertLogOut(HomeActivity.this); } }); + + img_back.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (getSupportFragmentManager().getBackStackEntryCount() > 0) { + getSupportFragmentManager().popBackStack(); // Go back to the previous fragment + } else { + finish(); + } + } + }); + //btnNext = findViewById(R.id.btn_next); // Initialize fragments diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemStepsAdapter.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemStepsAdapter.java index fb5b540..df4d3d0 100644 --- a/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemStepsAdapter.java +++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/adapters/ItemStepsAdapter.java @@ -18,6 +18,7 @@ import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AutoCompleteTextView; import android.widget.EditText; +import android.widget.ImageButton; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; @@ -86,6 +87,9 @@ public class ItemStepsAdapter extends RecyclerView.Adapter itemModelList = new ArrayList<>(); ItemStepsAdapter adapter; private int selectedPosition = -1; + private int deletePosition = -1; // Activity Result Launcher for Gallery private final ActivityResultLauncher imagePickerLauncher = @@ -496,4 +497,16 @@ public class CheckingFragment extends Fragment implements EasyPermissions.Permis }) .show(); } + + @Override + public void onDeleteImage(int position) { + deletePosition = position; + + if (itemModelList.get(deletePosition).getImageArrayList() != null && !itemModelList.get(deletePosition).getImageArrayList().isEmpty()) { + itemModelList.get(deletePosition).setImageArrayList(null); + itemModelList.get(deletePosition).setImageUri(null); + adapter.notifyItemChanged(deletePosition); + } + + } } \ No newline at end of file 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 e7e2ab8..c361111 100644 --- a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/CuttingFragment.java +++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/CuttingFragment.java @@ -78,6 +78,7 @@ public class CuttingFragment extends Fragment implements EasyPermissions.Permiss List itemModelList = new ArrayList<>(); ItemStepsAdapter adapter; private int selectedPosition = -1; + private int deletePosition = -1; // Activity Result Launcher for Gallery private final ActivityResultLauncher imagePickerLauncher = @@ -559,6 +560,19 @@ public class CuttingFragment extends Fragment implements EasyPermissions.Permiss } + @Override + public void onDeleteImage(int position) { + deletePosition = position; + Log.e("delete-position: ",""+deletePosition); + + if (itemModelList.get(deletePosition).getImageArrayList() != null && !itemModelList.get(deletePosition).getImageArrayList().isEmpty()) { + itemModelList.get(deletePosition).setImageArrayList(null); + itemModelList.get(deletePosition).setImageUri(null); + adapter.notifyItemChanged(deletePosition); + } + + } + public boolean isValidate(int rateCutting, int rateStitching, int rateChecking, int ratePacking, int rateSub) { boolean returnValue = true; String message = ""; 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 5b90b14..f697148 100644 --- a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/HomeFragment.java +++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/HomeFragment.java @@ -22,6 +22,7 @@ import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; +import com.google.android.material.textfield.TextInputLayout; import com.utopiaindustries.qualitycontrol.R; import com.utopiaindustries.qualitycontrol.activities.HomeActivity; import com.utopiaindustries.qualitycontrol.adapters.DepartmentItemAdapter; @@ -48,6 +49,7 @@ import java.util.stream.Collectors; public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnItemClickListener { AutoCompleteTextView locationSiteTextview, unitTextview, floorTextview; + TextInputLayout loc_input; TextView txtCurrentDate; LoginViewModel loginViewModel; Button nextButton; @@ -84,9 +86,10 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt locationSiteTextview.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView adapterView, View view, int position, long l) { + Log.e("locationSiteTextview: ","onItemClick: "); LocationSite clickedItem = locationSiteList.get(position); - unitTextview.setText("Select Unit"); - floorTextview.setText("Select Floor"); + //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())); @@ -152,7 +155,7 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt nextButton.setOnClickListener(v -> { if (getActivity() instanceof HomeActivity) { //viewModel.setFromViewModel(true); - // Preference.setMyStringPref(Helper.project_file, Helper.InProcess, getActivity(), "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()); @@ -171,19 +174,19 @@ 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: ","------"); + //Log.e("beforeTextChanged: ", "------"); } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { - Log.e("onTextChanged: ","------"); + //Log.e("onTextChanged: ", "------"); filterList(s.toString()); } @Override public void afterTextChanged(Editable s) { // Do nothing - Log.e("afterTextChanged: ","------"); + //Log.e("afterTextChanged: ", "------"); } }); @@ -203,6 +206,8 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt txtCurrentDate = view.findViewById(R.id.txt_current_date); locationSiteTextview = view.findViewById(R.id.location_textview); + loc_input = view.findViewById(R.id.loc_input); + unitTextview = view.findViewById(R.id.unit_textview); floorTextview = view.findViewById(R.id.floor_textview); nextButton = view.findViewById(R.id.btn_next); @@ -215,6 +220,9 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt loginViewModel = new ViewModelProvider(getActivity()).get(LoginViewModel.class); + locationSitesAdapter = new LocationSitesAdapter(getActivity(), locationSiteList); + locationSiteTextview.setAdapter(locationSitesAdapter); + loginViewModel.getLoadingState().observe(getActivity(), isLoading -> { //Log.e("HomeFragment: ", "isLoading: "); if (isLoading != null && isLoading) { @@ -272,6 +280,7 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt Helper.saveList(qcResponse.getLocationUnits(), Helper.homeUnit, getActivity()); locationUnitList.addAll(qcResponse.getLocationUnits()); } + Log.e("From-Service: ","****"); Preference.setMyStringPref(Helper.project_file, Helper.firstTimeApiCall, getActivity(), "true"); @@ -285,13 +294,15 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt loginViewModel.getQualityControlData(); } else { - if (!Preference.getMyStringPref(Helper.project_file, Helper.departmentName, getActivity()).equalsIgnoreCase("default")) { + Log.e("From-Preference: ","****"); + isFromPrevious = true; + /*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(); @@ -301,9 +312,7 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt //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); + locationSitesAdapter.notifyDataSetChanged(); //department list //departmentList.addAll(viewModel.getDepartmentList()); @@ -390,23 +399,30 @@ public class HomeFragment extends Fragment implements DepartmentItemAdapter.OnIt boolean returnValue = true; String message = ""; - if (departId.isEmpty() || departId.equalsIgnoreCase("default")) { - message = "Please select Department"; + if (floorId.isEmpty() || floorId.equalsIgnoreCase("default") + || floorTextview.getText().toString().equalsIgnoreCase("Select Floor") + || floorTextview.getText().toString().isEmpty()) { + message = "Please select Floor."; returnValue = false; } - if (siteId.isEmpty() || siteId.equalsIgnoreCase("default")) { - message = "Please select Location Site"; - returnValue = false; - } - - if (unitId.isEmpty() || unitId.equalsIgnoreCase("default")) { + if (unitId.isEmpty() || unitId.equalsIgnoreCase("default") + || unitTextview.getText().toString().equalsIgnoreCase("Select Unit") + || unitTextview.getText().toString().isEmpty()) { message = "Please select Unit."; returnValue = false; } - if (floorId.isEmpty() || floorId.equalsIgnoreCase("default")) { - message = "Please select Floor."; + if (siteId.isEmpty() || siteId.equalsIgnoreCase("default") + || locationSiteTextview.getText().toString().equalsIgnoreCase("") + || locationSiteTextview.getText().toString().isEmpty()) { + message = "Please select Location Site"; + returnValue = false; + } + + if (departId.isEmpty() || departId.equalsIgnoreCase("default") + || searchEditText.getText().toString().isEmpty()) { + message = "Please select Department"; returnValue = false; } 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 0f3eda4..02814f8 100644 --- a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/PackingFragment.java +++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/PackingFragment.java @@ -77,6 +77,7 @@ public class PackingFragment extends Fragment implements EasyPermissions.Permiss List itemModelList = new ArrayList<>(); ItemStepsAdapter adapter; private int selectedPosition = -1; + private int deletePosition = -1; // Activity Result Launcher for Gallery private final ActivityResultLauncher imagePickerLauncher = @@ -497,4 +498,16 @@ public class PackingFragment extends Fragment implements EasyPermissions.Permiss }) .show(); } + + @Override + public void onDeleteImage(int position) { + deletePosition = position; + + if (itemModelList.get(deletePosition).getImageArrayList() != null && !itemModelList.get(deletePosition).getImageArrayList().isEmpty()) { + itemModelList.get(deletePosition).setImageArrayList(null); + itemModelList.get(deletePosition).setImageUri(null); + adapter.notifyItemChanged(deletePosition); + } + + } } \ No newline at end of file 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 47a6665..b2d9bd1 100644 --- a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/StitchingFragment.java +++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/StitchingFragment.java @@ -79,6 +79,7 @@ public class StitchingFragment extends Fragment implements EasyPermissions.Permi List itemModelList = new ArrayList<>(); ItemStepsAdapter adapter; private int selectedPosition = -1; + private int deletePosition = -1; // Activity Result Launcher for Gallery private final ActivityResultLauncher imagePickerLauncher = @@ -499,4 +500,16 @@ public class StitchingFragment extends Fragment implements EasyPermissions.Permi }) .show(); } + + @Override + public void onDeleteImage(int position) { + deletePosition = position; + + if (itemModelList.get(deletePosition).getImageArrayList() != null && !itemModelList.get(deletePosition).getImageArrayList().isEmpty()) { + itemModelList.get(deletePosition).setImageArrayList(null); + itemModelList.get(deletePosition).setImageUri(null); + adapter.notifyItemChanged(deletePosition); + } + + } } \ No newline at end of file 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 aeb8564..6c7bec8 100644 --- a/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/SubStoreFragment.java +++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/fragments/SubStoreFragment.java @@ -82,6 +82,7 @@ public class SubStoreFragment extends Fragment implements EasyPermissions.Permis ItemStepsAdapter adapter; private int selectedPosition = -1; HomeViewModel homeViewModel; + private int deletePosition = -1; // Activity Result Launcher for Gallery private final ActivityResultLauncher imagePickerLauncher = @@ -271,7 +272,20 @@ public class SubStoreFragment extends Fragment implements EasyPermissions.Permis 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); + /*Log.e("AdapterData-1", "siteID: " + siteID + + ", unitId: " + unitId + + ", departId: " + departId + + ", floorId: " + floorId);*/ + + QualityControl qualityControl = new QualityControl(generatedBy,siteID,unitId,departId,floorId,tempList); + + /*Log.e("---------------","-----------------"); + + Log.e("AdapterData-2", "Generated-By: " + qualityControl.getGeneratedBy() + + ", siteID: " + qualityControl.getSiteId() + + ", unitId: " + qualityControl.getUnitId() + + ", departId: " + qualityControl.getDepartmentId() + + ", floorId: " + qualityControl.getFloorId());*/ homeViewModel.saveQualityControlData(qualityControl); } else { @@ -587,6 +601,18 @@ public class SubStoreFragment extends Fragment implements EasyPermissions.Permis .show(); } + @Override + public void onDeleteImage(int position) { + deletePosition = position; + + if (itemModelList.get(deletePosition).getImageArrayList() != null && !itemModelList.get(deletePosition).getImageArrayList().isEmpty()) { + itemModelList.get(deletePosition).setImageArrayList(null); + itemModelList.get(deletePosition).setImageUri(null); + adapter.notifyItemChanged(deletePosition); + } + + } + public void showProgressDialog() { ProgressDialogFragment progressDialog = new ProgressDialogFragment(); progressDialog.setCancelable(false); 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 ddd46ef..ebe11d8 100644 --- a/app/src/main/java/com/utopiaindustries/qualitycontrol/helper/Helper.java +++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/helper/Helper.java @@ -107,9 +107,9 @@ public class Helper { SharedPreferences.Editor editor = prefs.edit(); editor.remove(key); // Remove the key-value pair editor.apply(); // Apply changes - Log.e("SharedPreferences", "Key '" + key + "' removed successfully."); + ///Log.e("SharedPreferences", "Key '" + key + "' removed successfully."); } else { - Log.e("SharedPreferences", "Key '" + key + "' does not exist."); + //Log.e("SharedPreferences", "Key '" + key + "' does not exist."); } } diff --git a/app/src/main/java/com/utopiaindustries/qualitycontrol/utils/ImageSelectionListener.java b/app/src/main/java/com/utopiaindustries/qualitycontrol/utils/ImageSelectionListener.java index cd1ffe8..960ad6f 100644 --- a/app/src/main/java/com/utopiaindustries/qualitycontrol/utils/ImageSelectionListener.java +++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/utils/ImageSelectionListener.java @@ -3,4 +3,6 @@ package com.utopiaindustries.qualitycontrol.utils; public interface ImageSelectionListener { void onSelectImage(int position); + + void onDeleteImage(int position); } 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 3770586..d95ed60 100644 --- a/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/LoginViewModel.java +++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/LoginViewModel.java @@ -74,9 +74,9 @@ public class LoginViewModel extends ViewModel { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { isLoading.setValue(false); - Log.e("onResponse-1: ", "Successful: "+response); + //Log.e("onResponse-1: ", "Successful: "+response); if (response.isSuccessful() && response.body() != null) { - Log.e("onResponse-2: ", "Successful: "+response); + //Log.e("onResponse-2: ", "Successful: "+response); userLoginLiveData.setValue(response.body()); } else { userLoginLiveData.setValue(false); 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 bb7a9ed..1f4d945 100644 --- a/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/QualityControl.java +++ b/app/src/main/java/com/utopiaindustries/qualitycontrol/viewmodels/QualityControl.java @@ -11,16 +11,13 @@ public class QualityControl { private int floorId; private List qualityControlItemList; - public QualityControl(String generatedBy, int siteId, int floorId, int departmentId, int unitId, List qualityControlItemList) { + public QualityControl(String generatedBy, int siteId, int unitId, int departmentId, int floorId, List qualityControlItemList) { this.generatedBy = generatedBy; this.siteId = siteId; - this.qualityControlItemList = qualityControlItemList; - this.floorId = floorId; - this.departmentId = departmentId; this.unitId = unitId; - } - - public QualityControl() { + this.departmentId = departmentId; + this.floorId = floorId; + this.qualityControlItemList = qualityControlItemList; } public String getGeneratedBy() { @@ -70,21 +67,4 @@ public class QualityControl { public void setQualityControlItemList(List qualityControlItemList) { this.qualityControlItemList = qualityControlItemList; } - - public void appendToQualityControlItemList(List items) { - if (items != null) { - qualityControlItemList.addAll(items); - } - } - - @Override - public String toString() { - return "QualityControl{" + - "siteId=" + siteId + - ", unitId=" + unitId + - ", departmentId=" + departmentId + - ", floorId=" + floorId + - ", qualityControlItemList=" + qualityControlItemList + - '}'; - } } diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml index f2cbc58..ff3813d 100644 --- a/app/src/main/res/layout/activity_home.xml +++ b/app/src/main/res/layout/activity_home.xml @@ -23,7 +23,7 @@ android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="5S Application" + android:text="5S App" android:textColor="@color/white" android:textSize="@dimen/_15sdp" app:layout_constraintBottom_toBottomOf="@+id/toolbar" @@ -61,6 +61,17 @@ android:text="Next" />--> + + diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 44128d9..01079b7 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -39,6 +39,7 @@ android:hint="Search Department" android:padding="10dp" android:layout_margin="5dp" + android:imeOptions="actionDone" android:background="@drawable/et_border" android:inputType="text" /> @@ -80,6 +81,7 @@ android:textStyle="bold" /> @@ -91,6 +92,17 @@ android:layout_toEndOf="@+id/et_remarks" android:src="@drawable/image_picker" /> + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 65dd928..acd8eef 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,5 @@ - 5S Application + 5S App Version 1.0 Hello blank fragment