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 0000000..12c6c6a
Binary files /dev/null and b/app/src/main/res/drawable/ic_doctor.png differ
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 0000000..b9267a3
Binary files /dev/null and b/app/src/main/res/drawable/ic_sos.png differ
diff --git a/app/src/main/res/layout/add_contact_viewholder.xml b/app/src/main/res/layout/add_contact_viewholder.xml
index 7f92068..4d6553a 100644
--- a/app/src/main/res/layout/add_contact_viewholder.xml
+++ b/app/src/main/res/layout/add_contact_viewholder.xml
@@ -25,7 +25,7 @@
>
+
+
+
+
-
+ >
+
+
+
+
+
+
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