From 4271df589f6b35c81ec8b12f31bf654b9edc53b4 Mon Sep 17 00:00:00 2001 From: Aditya_WDI Date: Thu, 14 Sep 2023 21:19:04 +0530 Subject: [PATCH] . --- .idea/deploymentTargetDropDown.xml | 2 +- .../activities/EditProfileInfoActivity.java | 2 + .../medreminder/AddReminderFragment.java | 4 +- .../welcomecg/fragments/CgAuthActivity.java | 11 +++-- .../fragments/CgRegisterFragment.java | 2 + .../contacts/AddContactFragment.java | 17 +++++++ .../contacts/ContactInfoFragment.java | 6 +++ .../contacts/CreateContactFragment.java | 44 ++++++++++++++---- .../contacts/mvvm/AddContactAdapter.java | 12 +++++ .../contacts/mvvm/ContactViewModel.java | 3 +- .../contacts/mvvm/UserContactRepository.java | 7 ++- .../contacts/mvvm/models/ContactData.java | 2 + .../mvvm/models/ContactListResponse.java | 4 +- .../fragments/register/RegisterFragment.java | 2 + .../mvvm/models/PatientData.java | 2 + app/src/main/res/drawable/ic_doctor.png | Bin 0 -> 2253 bytes app/src/main/res/drawable/ic_sos.png | Bin 0 -> 9597 bytes .../res/layout/add_contact_viewholder.xml | 32 ++++++++++++- .../layout/create_edit_contact_fragment.xml | 28 +++++++++-- app/src/main/res/values/strings.xml | 3 +- 20 files changed, 156 insertions(+), 27 deletions(-) create mode 100644 app/src/main/res/drawable/ic_doctor.png create mode 100644 app/src/main/res/drawable/ic_sos.png diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index aca5899..c17a20f 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -12,7 +12,7 @@ - + diff --git a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/activities/EditProfileInfoActivity.java b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/activities/EditProfileInfoActivity.java index 893a6a9..f6fe199 100644 --- a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/activities/EditProfileInfoActivity.java +++ b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/activities/EditProfileInfoActivity.java @@ -228,6 +228,8 @@ public class EditProfileInfoActivity extends AppCompatActivity implements }, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)); datePickerDialog.getDatePicker().setMaxDate(calendar.getTimeInMillis()); + datePickerDialog.setTitle("Select a date"); + datePickerDialog.setMessage("Note: Click on the date, month or year to edit manually"); // creating this view model here as it contains the fetching code countryCodeList = AppUtil.loadCountryCodeDropDown(this); diff --git a/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/AddReminderFragment.java b/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/AddReminderFragment.java index df0387b..c0afffa 100644 --- a/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/AddReminderFragment.java +++ b/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/AddReminderFragment.java @@ -242,8 +242,8 @@ public class AddReminderFragment extends Fragment implements CompoundButton.OnCh }, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)); datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis()); - datePickerDialog.setTitle("Select a refill date"); - datePickerDialog.setMessage("click on the fields to enter date manually"); + datePickerDialog.setTitle("Select a date"); + datePickerDialog.setMessage("Note: Click on the date, month or year to edit manually"); frequencyList = new ArrayList<>(); medicationTypeList = new ArrayList<>(); diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgAuthActivity.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgAuthActivity.java index df01a1a..85ef03f 100644 --- a/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgAuthActivity.java +++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgAuthActivity.java @@ -37,12 +37,12 @@ public class CgAuthActivity extends AppCompatActivity { int cg_security = AppUtil.getWantSecurityFlag(this); - if (cg_security == AppUtil.NOT_ASKED_CG_SECURITY){ + if (cg_security == AppUtil.NOT_ASKED_CG_SECURITY) { // user has never been asked to setup security // thus, showing that ui binding.notAsked.setVisibility(View.VISIBLE); binding.askedView.setVisibility(View.GONE); - }else{ + } else { // user was asked already binding.notAsked.setVisibility(View.GONE); binding.askedView.setVisibility(View.VISIBLE); @@ -137,11 +137,12 @@ public class CgAuthActivity extends AppCompatActivity { if (biometric_status == BiometricManager.BIOMETRIC_SUCCESS) { // go ahead and do it. biometricPrompt.authenticate(new BiometricPrompt.PromptInfo.Builder() - .setTitle("Unlock Simplitend") + .setTitle("Scan your fingerprint to unlock SimpliTend") .setConfirmationRequired(false) + .setDescription("User your device's fingerprint sensor") .setNegativeButtonText("Cancel") .build()); - } else if (biometric_status == BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED){ + } else if (biometric_status == BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED) { // no fingerprints enrolled AppUtil.showAlert(this, @@ -154,7 +155,7 @@ public class CgAuthActivity extends AppCompatActivity { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) { enrollIntent = new Intent(Settings.ACTION_BIOMETRIC_ENROLL); enrollIntent.putExtra(Settings.EXTRA_BIOMETRIC_AUTHENTICATORS_ALLOWED, BIOMETRIC_STRONG); - }else{ + } else { enrollIntent = new Intent(Settings.ACTION_SECURITY_SETTINGS); } diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgRegisterFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgRegisterFragment.java index 450f1c1..c2a5617 100644 --- a/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgRegisterFragment.java +++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgRegisterFragment.java @@ -121,6 +121,8 @@ public class CgRegisterFragment extends Fragment implements WelcomeContracts.Reg } }, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)); datePickerDialog.getDatePicker().setMaxDate(calendar.getTimeInMillis()); + datePickerDialog.setTitle("Select a date"); + datePickerDialog.setMessage("Note: Click on the date, month or year to edit manually"); dob_selected = Calendar.getInstance(); diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/AddContactFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/AddContactFragment.java index 43a6aef..7daa9c0 100644 --- a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/AddContactFragment.java +++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/AddContactFragment.java @@ -45,6 +45,9 @@ public class AddContactFragment extends Fragment implements WelcomeContracts.Con private ContactViewModel contactViewModel; + private int contacts_count; + private boolean is_doctor_set; + public AddContactFragment(){ // required empty const. } @@ -111,10 +114,16 @@ public class AddContactFragment extends Fragment implements WelcomeContracts.Con @Override public void onResponse(List responseList) { + this.contacts_count = responseList.size(); + ArrayList contactList = new ArrayList<>(); for (ContactListResponse response : responseList){ response.contact_data.contact_id = response.id; + response.contact_data.is_doctor = response.is_doctor; + if (response.is_doctor != null){ + this.is_doctor_set = response.is_doctor.equals("1"); + } contactList.add(response.contact_data); } @@ -137,6 +146,14 @@ public class AddContactFragment extends Fragment implements WelcomeContracts.Con @Override public void onContactClick(ContactData contactData, int position) { + + if (contacts_count == 9 && !is_doctor_set){ + // last contact to be added + // and doctor not yet set + Toast.makeText(requireContext(), "Contact is reserved for doctor, Please add medical information.", Toast.LENGTH_SHORT).show(); + return; + } + if (contactData.id == -1){ // a new contact should be added diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/ContactInfoFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/ContactInfoFragment.java index 8d8c117..fb532e6 100644 --- a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/ContactInfoFragment.java +++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/ContactInfoFragment.java @@ -165,6 +165,12 @@ public class ContactInfoFragment extends Fragment implements WelcomeContracts.De return; } + if (contactData.is_doctor != null && contactData.is_doctor.equals("1")){ + // cannot delete doctor + Toast.makeText(requireContext(), "You cannot delete your primary doctor.", Toast.LENGTH_SHORT).show(); + return; + } + AppUtil.showSOSDecision(requireContext(), getString(R.string.sure_delete), getString(R.string.yes), diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/CreateContactFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/CreateContactFragment.java index a98e9e3..9c4cf05 100644 --- a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/CreateContactFragment.java +++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/CreateContactFragment.java @@ -139,7 +139,7 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts. if (bundle.getSerializable(CONTACT_KEY) != null) { contactData = (ContactData) bundle.getSerializable(CONTACT_KEY); setDetails(); - }else{ + } else { addContactView("", true); } } @@ -150,6 +150,14 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts. if (isChecked && !current_contact_sos) { contactViewModel.showSOSDecision(requireContext(), isSosSet, sos_contact_name, binding.name.getText().toString()); + }else if (!isChecked && current_contact_sos){ + // changing sos to 911 + AppUtil.showSOSDecision(requireContext(), + getString(R.string.you_are_about_to_change_emergency_number_from_this_contact_to_911_please_confirm), + getString(R.string.yes), getString(R.string.no), + v -> { + }, v -> { + }); } }); @@ -190,7 +198,7 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts. String[] phone_numbers = getAllPhoneNumbers(); - if (!phone_numbers[3].equals("0")){ + if (!phone_numbers[3].equals("0")) { Toast.makeText(requireContext(), "Please select a default contact.", Toast.LENGTH_SHORT).show(); return; } @@ -355,13 +363,14 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts. int sos_contact_id = -1; for (ContactListResponse contact : contactList) { - if (contact.is_sos_contact.equals("1")) { - isSosSet = true; - if (contact.contact_data != null){ + if (contact.contact_data != null) { + if (contact.contact_data.is_sos.equals("1")) { + isSosSet = true; + sos_contact_id = contact.contact_data.id; sos_contact_name = contact.contact_data.first_name; + break; } - break; } } @@ -493,8 +502,18 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts. binding.caregiverCheckView.setVisibility(View.GONE); } + // checking if this contact is doctor + if (contactData.is_doctor != null && contactData.is_doctor.equals("1")){ + // this contact is doctor + binding.name.setEnabled(false); + binding.relationship.setEnabled(false); + }else{ + binding.name.setEnabled(true); + binding.relationship.setEnabled(true); + } + boolean default_contact_set = false; - if (contactData.phone_number != null){ + if (contactData.phone_number != null) { addContactView(contactData.phone_number, default_contact_set = true); } @@ -571,20 +590,27 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts. }); contact_binding.delete.setOnClickListener(v -> { - if (binding.contactTable.getChildCount() == 1){ + if (binding.contactTable.getChildCount() == 1) { Toast.makeText(requireContext(), "Cannot be deleted", Toast.LENGTH_SHORT).show(); return; } try { binding.contactTable.removeView(contact_binding.getRoot()); - }catch (Exception e){ + } catch (Exception e) { Toast.makeText(requireContext(), "Couldn't delete contact.", Toast.LENGTH_SHORT).show(); } }); contact_binding.defaultCheck.setSelected(id_default); + // if contact is a doctor we wont allow the contact to be changes + if (contactData.is_doctor != null && contactData.is_doctor.equals("1")){ + contact_binding.createPhoneNumber.setEnabled(false); + contact_binding.createCountryCodes.setEnabled(false); + contact_binding.defaultCheck.setEnabled(false); + } + binding.contactTable.addView(contact_binding.getRoot()); } diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/mvvm/AddContactAdapter.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/mvvm/AddContactAdapter.java index 31f14d7..5c670bd 100644 --- a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/mvvm/AddContactAdapter.java +++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/mvvm/AddContactAdapter.java @@ -126,7 +126,19 @@ public class AddContactAdapter extends ListAdapter contactList; @@ -228,12 +232,13 @@ public class UserContactRepository { }; try (Cursor emailCursor = context.getContentResolver().query(emailUri, emailProjection, null, null, null)) { + if (emailCursor != null) { final int email_index = emailCursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.ADDRESS); final int c_id_index = emailCursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.CONTACT_ID); final int count = emailCursor.getCount(); - if (emailCursor.moveToNext()) + while (emailCursor.moveToNext()) { String email = emailCursor.getString(email_index); String c_id = emailCursor.getString(c_id_index); diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/mvvm/models/ContactData.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/mvvm/models/ContactData.java index 19c7f87..b5b5856 100644 --- a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/mvvm/models/ContactData.java +++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/mvvm/models/ContactData.java @@ -21,6 +21,8 @@ public class ContactData implements Serializable { public int contact_id; + public String is_doctor; + public ContactData() { } diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/mvvm/models/ContactListResponse.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/mvvm/models/ContactListResponse.java index 22e77fa..2fd0a5b 100644 --- a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/mvvm/models/ContactListResponse.java +++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/mvvm/models/ContactListResponse.java @@ -6,9 +6,10 @@ public class ContactListResponse{ public int id; public String patient_xid; public String contact_xid; - public String is_sos_contact; public ContactData contact_data; + public String is_doctor; + public ContactListResponse() { } @@ -19,7 +20,6 @@ public class ContactListResponse{ "id=" + id + ", patient_xid='" + patient_xid + '\'' + ", contact_xid='" + contact_xid + '\'' + - ", is_sos_contact='" + is_sos_contact + '\'' + ", contact_data=" + contact_data + '}'; } diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/register/RegisterFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/register/RegisterFragment.java index bde553d..0ad7462 100644 --- a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/register/RegisterFragment.java +++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/register/RegisterFragment.java @@ -96,6 +96,8 @@ public class RegisterFragment extends Fragment implements WelcomeContracts.Verif } }, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)); datePickerDialog.getDatePicker().setMaxDate(calendar.getTimeInMillis()); + datePickerDialog.setTitle("Select a date"); + datePickerDialog.setMessage("Note: Click on the date, month or year to edit manually"); countryCodeList = viewModel.loadCountryCodeDropDown(requireContext()); diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/mvvm/models/PatientData.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/mvvm/models/PatientData.java index 1089d05..0d0ab6b 100644 --- a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/mvvm/models/PatientData.java +++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/mvvm/models/PatientData.java @@ -26,6 +26,8 @@ public class PatientData { public String profile_photo; + public String caregiver_status; + // progress flags public int isCareGiverLink , isPatientReminderData diff --git a/app/src/main/res/drawable/ic_doctor.png b/app/src/main/res/drawable/ic_doctor.png new file mode 100644 index 0000000000000000000000000000000000000000..12c6c6a8f760c71755719e77e0dc72aeb04b7d74 GIT binary patch literal 2253 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_sos.png b/app/src/main/res/drawable/ic_sos.png new file mode 100644 index 0000000000000000000000000000000000000000..b9267a32be76b992e9b553153e7ad63d2445f696 GIT binary patch literal 9597 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 z + + + + - + > + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index be3b46e..67468ce 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -89,7 +89,7 @@ *SOS is set to E911 default Enter your relationship - Are you sure you want to change the contact to SOS ? + You are about to change your emergency number from 911 to this contact. Please confirm Are you sure you want to save the changes ? Yes No @@ -395,5 +395,6 @@ Your credit card will be charged 24 hours before your subscription period expires. The subscription will automatically renew at the same price. You can cancel your subscription 7 days before the renewal date by sending an email to contact.us@simplitent.com contact.us@simplitent.com Instructions: + You are about to change emergency number from this contact to 911. Please confirm \ No newline at end of file