diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 8023753..ea59fd5 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -30,11 +30,7 @@
android:name=".caregiverdashboard.CaregiverDashActivity"
android:exported="true"
android:screenOrientation="portrait">
-
-
-
-
@@ -53,7 +49,11 @@
android:configChanges="orientation"
android:exported="true"
android:screenOrientation="portrait">
+
+
+
+
{
+ dialog.dismiss();
+ }, null, null);
+ }
+
+ @Override
+ public void onCheck(ReminderResult reminderResult, int position) {
+ // is user checking only today's check
+
+ if (reminderResult.reminder_marked == null){
+ /*
+ now, we don't want to allow checking of routine of other day
+ */
+ try {
+ int today_date = Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
+ int selected_date = Integer.parseInt(weekDayViewsList.get(reminderViewModel.selected_dow).date.getText().toString());
+
+ if (today_date == selected_date){
+ AppUtil.showAlert(requireContext(),
+ "Are you sure?",
+ "Do yuo want to check this routine?\nThis cannot be undone.",
+ getString(R.string.yes),
+ (dialog, which) -> {
+ dialog.dismiss();
+
+ updateRoutine(reminderResult, position);
+
+ }, getString(R.string.no),
+ (dialog, which) -> {
+ dialog.dismiss();
+ });
+ }else{
+ Toast.makeText(requireContext(), "Cannot done future routine.", Toast.LENGTH_SHORT).show();
+ }
+
+ }catch (Exception e){
+ Toast.makeText(requireContext(), "Couldn't be done.", Toast.LENGTH_SHORT).show();
+ }
+
+ }
+ }
+
+ private void updateRoutine(ReminderResult reminderResult, int position) {
+ progressDialog.setTitle("Please wait...");
+ progressDialog.setMessage("saving your reminder");
+ progressDialog.setCancelable(false);
+ progressDialog.show();
+
+ Calendar current = Calendar.getInstance();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
+
+ reminderResult.patientRemainderId = reminderResult.id;
+ reminderResult.reminder_marked = sdf.format(current.getTime());
+ reminderResult.is_update = "1";
+
+ // need to change date format as backend accepts dd-MM-yyyy
+ // and responds as yyyy-dd-MM
+ SimpleDateFormat date_f1 = new SimpleDateFormat("yyyy-dd-MM", Locale.getDefault());
+ SimpleDateFormat date_f2 = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault());
+
+ String refill_date;
+
+ try {
+ Date date = date_f1.parse(reminderResult.medication_refill_date);
+ refill_date = date_f2.format(date);
+ }catch (Exception e){
+ refill_date = date_f2.format(Calendar.getInstance().getTime());
+ }
+
+ reminderResult.medication_refill_date = refill_date;
+
+ reminderViewModel.addReminder(
+ AppUtil.getPatientUid(requireContext()),
+ reminderResult,
+ "Bearer " + AppUtil.getUserToken(requireContext()),
+ this
+ );
+ }
}
diff --git a/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/WeekDayViewHolder.java b/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/WeekDayViewHolder.java
index ff42d5b..37a6570 100644
--- a/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/WeekDayViewHolder.java
+++ b/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/WeekDayViewHolder.java
@@ -3,12 +3,17 @@ package com.ssb.simplitend.patientprofile.medreminder;
import android.widget.LinearLayout;
import android.widget.TextView;
+import java.util.Calendar;
+import java.util.Date;
+
public class WeekDayViewHolder {
public LinearLayout card;
public TextView day, date;
public int day_of_week;
+ public Date mDate;
+
public WeekDayViewHolder() {
}
diff --git a/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/mvvm/ReminderAdapter.java b/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/mvvm/ReminderAdapter.java
index ec9749a..3d1da1f 100644
--- a/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/mvvm/ReminderAdapter.java
+++ b/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/mvvm/ReminderAdapter.java
@@ -2,6 +2,7 @@ package com.ssb.simplitend.patientprofile.medreminder.mvvm;
import android.view.LayoutInflater;
import android.view.ViewGroup;
+import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.content.res.AppCompatResources;
@@ -11,10 +12,11 @@ import androidx.recyclerview.widget.RecyclerView;
import com.ssb.simplitend.R;
import com.ssb.simplitend.databinding.ReminderViewholderBinding;
-import com.ssb.simplitend.patientprofile.medreminder.mvvm.models.Reminder;
import com.ssb.simplitend.patientprofile.medreminder.mvvm.models.ReminderResult;
+import com.ssb.simplitend.patientprofile.setuproutine.mvvm.RoutineAdapter;
import java.text.SimpleDateFormat;
+import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
@@ -32,14 +34,30 @@ public class ReminderAdapter extends ListAdapter {
+ if (checkClickListener != null) checkClickListener.onCheck(getItem(position), position);
+ });
+
}
public static class ReminderViewHolder extends RecyclerView.ViewHolder{
@@ -91,22 +114,69 @@ public class ReminderAdapter extends ListAdapter {
- if (selection_state[position]){
- // item selected. un-selecting now
- binding.sideBar.setBackgroundTintList(null);
- binding.card.setCardBackgroundColor(AppCompatResources.getColorStateList(itemView.getContext(), R.color.white_bg));
- binding.done.setImageResource(R.drawable.ic_done_accent);
- }else{
- // item un-selected. selecting now
- binding.sideBar.setBackgroundTintList(AppCompatResources.getColorStateList(itemView.getContext(), R.color.color_primary));
- binding.card.setCardBackgroundColor(AppCompatResources.getColorStateList(itemView.getContext(), R.color.color_accent));
- binding.done.setImageResource(R.drawable.ic_done_accent_2);
- }
+// binding.done.setOnClickListener(v -> {
+// if (selection_state[position]){
+// // item selected. un-selecting now
+// binding.sideBar.setBackgroundTintList(null);
+// binding.card.setCardBackgroundColor(AppCompatResources.getColorStateList(itemView.getContext(), R.color.white_bg));
+// binding.done.setImageResource(R.drawable.ic_done_accent);
+// }else{
+// // item un-selected. selecting now
+// binding.sideBar.setBackgroundTintList(AppCompatResources.getColorStateList(itemView.getContext(), R.color.color_primary));
+// binding.card.setCardBackgroundColor(AppCompatResources.getColorStateList(itemView.getContext(), R.color.color_accent));
+// binding.done.setImageResource(R.drawable.ic_done_accent_2);
+// }
+//
+// selection_state[position] = !selection_state[position];
+// });
- selection_state[position] = !selection_state[position];
- });
+ if (reminder.reminder_marked != null){
+ /*
+ This routine is done for some day.
+ New, checking if this routine done is done today or day before it
+ */
+
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
+
+ try {
+ Date routine_date = sdf.parse(reminder.reminder_marked);
+ if (routine_date == null)
+ throw new Exception("Cannot parse routine marked date from Backend");
+
+ ReminderAdapter routineAdapter = (ReminderAdapter) getBindingAdapter();
+
+ if (routineAdapter == null) throw new Exception();
+
+ Date selected_date = routineAdapter.getSelected_date();
+ Calendar selected_calendar = Calendar.getInstance();
+ selected_calendar.setTime(selected_date);
+
+ Calendar routine_calendar = Calendar.getInstance();
+ routine_calendar.setTime(routine_date);
+
+ if (routine_calendar.get(Calendar.DAY_OF_MONTH) == selected_calendar.get(Calendar.DAY_OF_MONTH)){
+ // it is the same day on which routine is checked
+ // as routine done date is equal to selected_tab date
+ binding.sideBar.setBackgroundTintList(AppCompatResources.getColorStateList(itemView.getContext(), R.color.color_primary));
+ binding.card.setCardBackgroundColor(AppCompatResources.getColorStateList(itemView.getContext(), R.color.color_accent));
+ binding.done.setImageResource(R.drawable.ic_done_accent_2);
+ }else{
+ // item selected. un-selecting now
+ binding.sideBar.setBackgroundTintList(null);
+ binding.card.setCardBackgroundColor(AppCompatResources.getColorStateList(itemView.getContext(), R.color.white_bg));
+ binding.done.setImageResource(R.drawable.ic_done_accent);
+ }
+
+ } catch (Exception e) {
+ Toast.makeText(itemView.getContext(), "Couldn't mark it done.", Toast.LENGTH_SHORT).show();
+ }
+ }
}
}
+
+ public interface ReminderCheckClickListener{
+ void onCheck(ReminderResult reminderResult, int position);
+ }
+
}
diff --git a/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/mvvm/models/ReminderResult.java b/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/mvvm/models/ReminderResult.java
index b04a4ca..3c4699e 100644
--- a/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/mvvm/models/ReminderResult.java
+++ b/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/mvvm/models/ReminderResult.java
@@ -38,6 +38,8 @@ public class ReminderResult implements Serializable {
public ArrayList medication_type;
public ArrayList medication_frequency;
+ public String reminder_marked;
+
public String is_update;
public ReminderResult(){}
diff --git a/app/src/main/java/com/ssb/simplitend/patientprofile/setuproutine/RoutineFragment.java b/app/src/main/java/com/ssb/simplitend/patientprofile/setuproutine/RoutineFragment.java
index bd79dc9..725ac7e 100644
--- a/app/src/main/java/com/ssb/simplitend/patientprofile/setuproutine/RoutineFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/patientprofile/setuproutine/RoutineFragment.java
@@ -11,6 +11,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.annotation.RequiresApi;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
import androidx.navigation.Navigation;
@@ -25,15 +26,26 @@ import com.ssb.simplitend.patientprofile.setuproutine.mvvm.RoutineAdapter;
import com.ssb.simplitend.patientprofile.setuproutine.mvvm.RoutineDetails;
import com.ssb.simplitend.patientprofile.setuproutine.mvvm.RoutineViewModel;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
+import java.util.HashMap;
import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+import okhttp3.MediaType;
+import okhttp3.RequestBody;
public class RoutineFragment extends Fragment implements RoutineAdapter.ClickListener,
RoutineAdapter.DeleteClickListener,
+ RoutineAdapter.CheckClickListener,
ProfileContracts.GetRoutinesCallback,
- ProfileContracts.RoutineDeleteCallback {
+ ProfileContracts.RoutineDeleteCallback,
+ ProfileContracts.AddNUpdateRoutineCallback {
+ private static final String TAG = "RoutineFragment";
+
// view binding
protected RoutineFragmentBinding binding;
@@ -124,6 +136,7 @@ public class RoutineFragment extends Fragment implements RoutineAdapter.ClickLis
routineAdapter = new RoutineAdapter();
routineAdapter.setDeleteClickListener(this);
routineAdapter.setClickListener(this);
+ routineAdapter.setCheckClickListener(this);
binding.routineRv.setAdapter(routineAdapter);
Calendar calendar = Calendar.getInstance();
@@ -174,6 +187,7 @@ public class RoutineFragment extends Fragment implements RoutineAdapter.ClickLis
dayViewHolder.day_of_week = calendar.get(Calendar.DAY_OF_WEEK);
dayViewHolder.day.setText(routineViewModel.getDayOfWeek(dayViewHolder.day_of_week - 1));
dayViewHolder.date.setText(String.valueOf(calendar.get(Calendar.DAY_OF_MONTH)));
+ dayViewHolder.mDate = calendar.getTime();
calendar.add(Calendar.DAY_OF_WEEK, 1);
}
@@ -181,6 +195,9 @@ public class RoutineFragment extends Fragment implements RoutineAdapter.ClickLis
private void setDayOfWeek(int selection){
+ // setting selected date in adapter
+ routineAdapter.setSelected_date(weekDayViewsList.get(selection).mDate);
+
clearSelection();
switch (routineViewModel.selected_dow = selection){
@@ -362,4 +379,84 @@ public class RoutineFragment extends Fragment implements RoutineAdapter.ClickLis
Navigation.findNavController(binding.getRoot()).navigate(R.id.action_routineFragment_to_addRoutineFragment, bundle);
}
+
+ @Override
+ public void onCheckClick(RoutineDetails routineDetails, int position) {
+ // is user checking only today's check
+
+ if (routineDetails.routine_marked == null){
+ /*
+ now, we don't want to allow checking of routine of other day
+ */
+ try {
+ int today_date = Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
+ int selected_date = Integer.parseInt(weekDayViewsList.get(routineViewModel.selected_dow).date.getText().toString());
+
+ if (today_date == selected_date){
+ AppUtil.showAlert(requireContext(),
+ "Are you sure?",
+ "Do yuo want to check this routine?\nThis cannot be undone.",
+ getString(R.string.yes),
+ (dialog, which) -> {
+ dialog.dismiss();
+
+ updateRoutine(routineDetails, position);
+
+ }, getString(R.string.no),
+ (dialog, which) -> {
+ dialog.dismiss();
+ });
+ }else{
+ Toast.makeText(requireContext(), "Cannot done future routine.", Toast.LENGTH_SHORT).show();
+ }
+
+ }catch (Exception e){
+ Toast.makeText(requireContext(), "Couldn't be done.", Toast.LENGTH_SHORT).show();
+ }
+
+ }
+ }
+
+ private void updateRoutine(RoutineDetails routine, int position) {
+
+ progressDialog.setTitle("Please wait...");
+ progressDialog.setMessage("saving your routine");
+ progressDialog.setCancelable(false);
+ progressDialog.show();
+
+ Calendar current = Calendar.getInstance();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
+
+ routine.patientRoutineId = routine.id;
+ routine.routine_marked = sdf.format(current.getTime());
+ routine.is_update = 1;
+
+ routineViewModel.addNUpdateRoutine(
+ AppUtil.getPatientUid(requireContext()),
+ routine,
+ "Bearer " + AppUtil.getUserToken(requireContext()),
+ this
+ );
+
+ }
+
+ @Override
+ public void onRoutineAdded(RoutineDetails medicationInfo) {
+ progressDialog.dismiss();
+ loadRoutineList(weekDayViewsList.get(routineViewModel.selected_dow).day_of_week);
+ }
+
+ @Override
+ public void onRoutineAddFailed(Throwable t, String message) {
+ progressDialog.dismiss();
+
+ AppUtil.showAlert(requireContext(),
+ getString(R.string.something_went_wrong),
+ message,
+ getString(R.string.yes),
+ (dialog, which) -> {
+ dialog.dismiss();
+ }, null, null);
+
+ }
}
diff --git a/app/src/main/java/com/ssb/simplitend/patientprofile/setuproutine/mvvm/RoutineAdapter.java b/app/src/main/java/com/ssb/simplitend/patientprofile/setuproutine/mvvm/RoutineAdapter.java
index 63e84e0..849812c 100644
--- a/app/src/main/java/com/ssb/simplitend/patientprofile/setuproutine/mvvm/RoutineAdapter.java
+++ b/app/src/main/java/com/ssb/simplitend/patientprofile/setuproutine/mvvm/RoutineAdapter.java
@@ -1,22 +1,28 @@
package com.ssb.simplitend.patientprofile.setuproutine.mvvm;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.ViewGroup;
+import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.DiffUtil;
import androidx.recyclerview.widget.ListAdapter;
import androidx.recyclerview.widget.RecyclerView;
+import com.ssb.simplitend.R;
import com.ssb.simplitend.databinding.RoutineViewholderBinding;
import java.text.SimpleDateFormat;
+import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.Objects;
public class RoutineAdapter extends ListAdapter {
+ private static final String TAG = "RoutineAdapter";
+
private static final DiffUtil.ItemCallback DIFF_UTIL = new DiffUtil.ItemCallback() {
@Override
public boolean areItemsTheSame(@NonNull RoutineDetails oldItem, @NonNull RoutineDetails newItem) {
@@ -34,6 +40,10 @@ public class RoutineAdapter extends ListAdapter {
+ if (checkClickListener != null)
+ checkClickListener.onCheckClick(getItem(position), position);
+ });
+
}
public static class RoutineViewHolder extends RecyclerView.ViewHolder {
@@ -110,6 +137,46 @@ public class RoutineAdapter extends ListAdapter {
- ArrayList filteredList = new ArrayList<>();
-
- for (Contact contact: contactList){
- if (contact.first_name != null && contact.first_name.trim().toLowerCase().contains(searchInput)){
- filteredList.add(contact);
- }else if (contact.phone_number != null && contact.phone_number.trim().contains(searchInput)){
- filteredList.add(contact);
- }else if (contact.email_address != null && contact.email_address.trim().toLowerCase().contains(searchInput)){
- filteredList.add(contact);
- }else if (contact.relationship != null && contact.relationship.trim().toLowerCase().contains(searchInput)){
- filteredList.add(contact);
+ if(searchInput.isEmpty()) {
+ contactListAdapter.submitList(contactList);
+ return;
}
- }
- if (filteredList.isEmpty()) {
- Toast.makeText(requireContext(), "No match found", Toast.LENGTH_SHORT).show();
- }
+ ArrayList filteredList = new ArrayList<>();
- contactListAdapter.submitList(filteredList);
+ for (Contact contact: contactList){
+ if (contact.first_name != null && contact.first_name.trim().toLowerCase().contains(searchInput)){
+ filteredList.add(contact);
+ }else if (contact.phone_number != null && contact.phone_number.trim().contains(searchInput)){
+ filteredList.add(contact);
+ }else if (contact.email_address != null && contact.email_address.trim().toLowerCase().contains(searchInput)){
+ filteredList.add(contact);
+ }else if (contact.relationship != null && contact.relationship.trim().toLowerCase().contains(searchInput)){
+ filteredList.add(contact);
+ }
+ }
- binding.contactRv.smoothScrollToPosition(0);
+ if (filteredList.isEmpty()) {
+ new Handler(Looper.getMainLooper()).post(() -> {
+ Toast.makeText(requireContext(), "No match found", Toast.LENGTH_SHORT).show();
+ });
+ }
+
+ contactListAdapter.submitList(filteredList);
+
+ binding.contactRv.smoothScrollToPosition(0);
+
+ }).start();
}
diff --git a/app/src/main/java/com/ssb/simplitend/welcome/fragments/contacts/CreateContactFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/fragments/contacts/CreateContactFragment.java
index 8a6a957..5fb8fff 100644
--- a/app/src/main/java/com/ssb/simplitend/welcome/fragments/contacts/CreateContactFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/welcome/fragments/contacts/CreateContactFragment.java
@@ -179,11 +179,9 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
InputFilter phoneFilter = (charSequence, i, i1, spanned, i2, i3) -> {
String phone_number_str = charSequence.toString();
- String country_code;
+ String country_code = null;
- if (binding.countryCodes.getSelectedIndex() == -2){
- country_code = "+1";
- }else{
+ if (binding.countryCodes.getSelectedIndex() != -1){
country_code = countryCodeList.get(binding.countryCodes.getSelectedIndex());
}
@@ -197,11 +195,13 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
// nothing
}
- if (!countryCodeList.contains(country_code)){
+ if (country_code != null && !countryCodeList.contains(country_code)){
countryCodeList.add(country_code);
}
- binding.countryCodes.selectItemByIndex(countryCodeList.indexOf(country_code));
+ if (country_code != null){
+ binding.countryCodes.selectItemByIndex(countryCodeList.indexOf(country_code));
+ }
if (phone_number_str.length() > 10){
// pasted number length is greater than 10
@@ -324,11 +324,6 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
binding.name.setError("Required");
}
- if (binding.relationship.getText().toString().trim().isEmpty()) {
- allOkay = false;
- binding.relationship.setError("Required");
- }
-
if (binding.phoneNumber.getText().toString().trim().isEmpty()) {
allOkay = false;
binding.phoneNumber.setError("Required");
@@ -443,6 +438,7 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
}
private void setDetails() {
+
if (contactData.contact_photo != null)
{
Glide.with(requireContext())
@@ -461,11 +457,20 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
// there is a country code
int index = countryCodeList.indexOf(code_phone[0]);
- if (index >= 0) binding.countryCodes.selectItemByIndex(index);
- else binding.countryCodes.clearSelectedItem();
+ int i;
+
+ if (index >= 0) {
+ // country code exits
+ binding.countryCodes.selectItemByIndex(index);
+ i = 1;
+ } else {
+ // country code doesn't exits
+ i = 0;
+ binding.countryCodes.clearSelectedItem();
+ }
contactData.phone_number = "";
- for (int i = 1; i < code_phone.length; i++) {
+ for (; i < code_phone.length; i++) {
contactData.phone_number = contactData.phone_number.concat(code_phone[i]);
}
} else {
diff --git a/app/src/main/java/com/ssb/simplitend/welcome/fragments/forgotpin/ChangePinFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/fragments/forgotpin/ChangePinFragment.java
index 5d4a82e..34dc4f3 100644
--- a/app/src/main/java/com/ssb/simplitend/welcome/fragments/forgotpin/ChangePinFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/welcome/fragments/forgotpin/ChangePinFragment.java
@@ -4,6 +4,8 @@ import static com.ssb.simplitend.welcome.fragments.forgotpin.ForgotPinFragment.E
import android.app.ProgressDialog;
import android.os.Bundle;
+import android.text.Editable;
+import android.text.TextWatcher;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -85,6 +87,44 @@ public class ChangePinFragment extends Fragment implements WelcomeContracts.Upda
binding.pin,
binding.confirmPin
);
+
+ binding.pin.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void afterTextChanged(Editable editable) {
+ if (editable.toString().length() == 4){
+ binding.confirmPin.requestFocus();
+ }
+ }
+ });
+
+ binding.confirmPin.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void afterTextChanged(Editable editable) {
+ if (editable.toString().length() == 4){
+ AppUtil.closeKeyboard(requireActivity());
+ }
+ }
+ });
}
private void clickEvents() {
diff --git a/app/src/main/java/com/ssb/simplitend/welcome/fragments/register/CreatePinFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/fragments/register/CreatePinFragment.java
index c0b9bd7..3e6f271 100644
--- a/app/src/main/java/com/ssb/simplitend/welcome/fragments/register/CreatePinFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/welcome/fragments/register/CreatePinFragment.java
@@ -2,6 +2,8 @@ package com.ssb.simplitend.welcome.fragments.register;
import android.app.ProgressDialog;
import android.os.Bundle;
+import android.text.Editable;
+import android.text.TextWatcher;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -57,6 +59,44 @@ public class CreatePinFragment extends Fragment implements WelcomeContracts.Regi
loadPinsSavedState();
progressDialog = new ProgressDialog(requireContext());
+
+ binding.pin.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void afterTextChanged(Editable editable) {
+ if (editable.toString().length() == 4){
+ binding.confirmPin.requestFocus();
+ }
+ }
+ });
+
+ binding.confirmPin.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void afterTextChanged(Editable editable) {
+ if (editable.toString().length() == 4){
+ AppUtil.closeKeyboard(requireActivity());
+ }
+ }
+ });
}
private void loadPinsSavedState() {
diff --git a/app/src/main/java/com/ssb/simplitend/welcome/fragments/register/LocationFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/fragments/register/LocationFragment.java
index 5f31b74..77c792e 100644
--- a/app/src/main/java/com/ssb/simplitend/welcome/fragments/register/LocationFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/welcome/fragments/register/LocationFragment.java
@@ -105,8 +105,6 @@ public class LocationFragment extends Fragment implements OnMapReadyCallback,
viewModel = new ViewModelProvider(requireActivity()).get(WelcomeViewModel.class);
- Log.d(TAG, "onCreateView: " + viewModel.getPatientData());
-
initViews();
clickEvents();
@@ -181,7 +179,7 @@ public class LocationFragment extends Fragment implements OnMapReadyCallback,
currentLocation = new LatLng(lat, lng);
}else{
// default current location // washington DC
- currentLocation = new LatLng(0, 0);
+ currentLocation = new LatLng(40.75796541422796, -73.98557368665934);
}
if (patientData.address_line1 != null){
diff --git a/app/src/main/res/drawable/ic_check_green.xml b/app/src/main/res/drawable/ic_check_green.xml
new file mode 100644
index 0000000..b984256
--- /dev/null
+++ b/app/src/main/res/drawable/ic_check_green.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_progress_bg.xml b/app/src/main/res/drawable/ic_progress_bg.xml
new file mode 100644
index 0000000..33b03a1
--- /dev/null
+++ b/app/src/main/res/drawable/ic_progress_bg.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_setup_bg.xml b/app/src/main/res/drawable/ic_setup_bg.xml
index c0b02fc..13b9e6c 100644
--- a/app/src/main/res/drawable/ic_setup_bg.xml
+++ b/app/src/main/res/drawable/ic_setup_bg.xml
@@ -2,14 +2,14 @@
+ android:layout_marginVertical="@dimen/_20sdp"/>
@@ -151,7 +151,7 @@
android:contentDescription="@string/how_to_setup"
- android:layout_marginVertical="15dp"/>
+ android:layout_marginVertical="@dimen/_20sdp"/>
@@ -226,7 +226,7 @@
android:background="@color/color_accent"
android:contentDescription="@string/how_to_setup"
- android:layout_marginVertical="15dp"/>
+ android:layout_marginVertical="@dimen/_20sdp"/>
diff --git a/app/src/main/res/layout/profile_progress_fragment.xml b/app/src/main/res/layout/profile_progress_fragment.xml
index dafd1d6..9be5e7b 100644
--- a/app/src/main/res/layout/profile_progress_fragment.xml
+++ b/app/src/main/res/layout/profile_progress_fragment.xml
@@ -48,8 +48,8 @@
android:orientation="vertical">
@@ -73,10 +73,10 @@
android:text="@string/personal_information"
android:fontFamily="@font/nunito_semibold"
- android:textAppearance="@style/TextAppearance.Material3.TitleLarge"
+ android:textSize="@dimen/_16ssp"
android:textColor="@color/black"
- android:layout_marginVertical="15dp"
+ android:layout_marginVertical="17dp"
/>
@@ -100,8 +100,8 @@
android:orientation="vertical">
+ android:layout_marginVertical="@dimen/_5sdp"
+
+ />
@@ -124,10 +126,10 @@
android:text="@string/family_and_friends_contacts"
android:fontFamily="@font/nunito_semibold"
- android:textAppearance="@style/TextAppearance.Material3.TitleLarge"
+ android:textSize="@dimen/_16ssp"
android:textColor="@color/black"
- android:layout_marginVertical="15dp"
+ android:layout_marginVertical="17dp"
/>
@@ -152,26 +154,28 @@
+ android:layout_marginVertical="@dimen/_5sdp"
+
+ />
@@ -181,10 +185,10 @@
android:text="@string/medication_reminder"
android:fontFamily="@font/nunito_semibold"
- android:textAppearance="@style/TextAppearance.Material3.TitleLarge"
+ android:textSize="@dimen/_16ssp"
android:textColor="@color/black"
- android:layout_marginVertical="25dp"
+ android:layout_marginVertical="17dp"
/>
@@ -209,26 +213,28 @@
+ android:layout_marginVertical="@dimen/_5sdp"
+
+ />
@@ -238,10 +244,10 @@
android:text="@string/medical_information"
android:fontFamily="@font/nunito_semibold"
- android:textAppearance="@style/TextAppearance.Material3.TitleLarge"
+ android:textSize="@dimen/_16ssp"
android:textColor="@color/black"
- android:layout_marginVertical="25dp"
+ android:layout_marginVertical="17dp"
/>
@@ -266,26 +272,28 @@
+ android:layout_marginVertical="@dimen/_5sdp"
+
+ />
@@ -295,10 +303,10 @@
android:text="@string/setup_routine"
android:fontFamily="@font/nunito_semibold"
- android:textAppearance="@style/TextAppearance.Material3.TitleLarge"
+ android:textSize="@dimen/_16ssp"
android:textColor="@color/black"
- android:layout_marginVertical="25dp"
+ android:layout_marginVertical="17dp"
/>
@@ -322,17 +330,17 @@
@@ -344,10 +352,10 @@
android:text="@string/frequently_used_apps"
android:fontFamily="@font/nunito_semibold"
- android:textAppearance="@style/TextAppearance.Material3.TitleLarge"
+ android:textSize="@dimen/_16ssp"
android:textColor="@color/black"
- android:layout_marginVertical="25dp"
+ android:layout_marginVertical="17dp"
/>
diff --git a/app/src/main/res/layout/routine_viewholder.xml b/app/src/main/res/layout/routine_viewholder.xml
index 1a7853e..319b8c5 100644
--- a/app/src/main/res/layout/routine_viewholder.xml
+++ b/app/src/main/res/layout/routine_viewholder.xml
@@ -128,13 +128,13 @@
Save
Change photo
Add photo
- Relationship*
+ Relationship
Relationship
Make current contact as a caregiver
Make current contact as In Case Of Emergency Contact (SOS)
@@ -116,7 +116,7 @@
Take your time and finish your profile, add contacts, reminders and so on.
Lets complete\nthe rest of your profile
Personal information
- Family and friends contacts
+ Family & friends contacts
Medication Reminder
Medical Information
Setup routine