This commit is contained in:
2023-08-29 21:14:42 +05:30
parent 3086f64fe3
commit 31a6918d35
8 changed files with 332 additions and 122 deletions

View File

@@ -470,7 +470,27 @@ public class ReminderFragment extends Fragment implements RecyclerTouchListener.
if (today_date == selected_date) {
if (reminderResult.reminder_marked != null){
// already marked
return;
// now checking if it is today user has marked it done
// if not, we shall allow them to mark it done for today
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
try {
Date routine_date = sdf.parse(reminderResult.reminder_marked);
if (routine_date == null) {
throw new Exception("Cannot parse routine marked date from Backend");
}
if (today_date == routine_date.getDate()){
// It is today when user has marked it done
// Thus, not allowing them to mark it done again
Toast.makeText(requireContext(), "Cannot be undone.", Toast.LENGTH_SHORT).show();
return;
}
}catch (Exception e){
// do nothing
}
}
AppUtil.showAlert(requireContext(),

View File

@@ -20,7 +20,6 @@ import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
import com.ssb.simplitend.databinding.RoutineFragmentBinding;
import com.ssb.simplitend.patientprofile.ProfileContracts;
import com.ssb.simplitend.patientprofile.medreminder.AddReminderFragment;
import com.ssb.simplitend.patientprofile.medreminder.WeekDayViewHolder;
import com.ssb.simplitend.patientprofile.setuproutine.mvvm.RoutineAdapter;
import com.ssb.simplitend.patientprofile.setuproutine.mvvm.RoutineDetails;
@@ -29,6 +28,7 @@ import com.ssb.simplitend.patientprofile.setuproutine.mvvm.RoutineViewModel;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;
@@ -428,7 +428,27 @@ public class RoutineFragment extends Fragment implements RoutineAdapter.ClickLis
if (today_date == selected_date) {
if (routineDetails.routine_marked != null){
// already marked
return;
// now checking if it is today user has marked it done
// if not, we shall allow them to mark it done for today
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
try {
Date routine_date = sdf.parse(routineDetails.routine_marked);
if (routine_date == null) {
throw new Exception("Cannot parse routine marked date from Backend");
}
if (today_date == routine_date.getDate()){
// It is today when user has marked it done
// Thus, not allowing them to mark it done again
Toast.makeText(requireContext(), "Cannot be undone.", Toast.LENGTH_SHORT).show();
return;
}
}catch (Exception e){
// do nothing
}
}
AppUtil.showAlert(requireContext(),

View File

@@ -140,7 +140,6 @@ public class AddContactFragment extends Fragment implements WelcomeContracts.Con
if (contactData.id == -1){
// a new contact should be added
AppUtil.showAlert(requireContext(),
"Select contact",
"Add from contacts or manually?",

View File

@@ -20,6 +20,7 @@ import androidx.lifecycle.ViewModelProvider;
import androidx.navigation.Navigation;
import com.bumptech.glide.Glide;
import com.skydoves.powerspinner.OnSpinnerItemSelectedListener;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
import com.ssb.simplitend.databinding.ContactInfoFragmentBinding;
@@ -27,11 +28,22 @@ import com.ssb.simplitend.welcome.welcomepatient.fragments.contacts.mvvm.Contact
import com.ssb.simplitend.welcome.welcomepatient.fragments.contacts.mvvm.models.ContactData;
import com.ssb.simplitend.welcome.welcomepatient.mvvm.WelcomeContracts;
import java.util.ArrayList;
import java.util.Arrays;
public class ContactInfoFragment extends Fragment implements WelcomeContracts.DeleteContactInterface {
// view binding
protected ContactInfoFragmentBinding binding;
/*
This flag defines weather user want to connect with selected phone number
by CALLING OR MESSAGING THEM
0 : CALLING
1 : MESSAGING
*/
private int CONTACT_BY = 0;
public static final String CONTACT_DATA_KEY = "contact_key";
private ContactData contactData;
@@ -40,6 +52,8 @@ public class ContactInfoFragment extends Fragment implements WelcomeContracts.De
private ProgressDialog progressDialog;
private ArrayList<String> contactLIst;
public ContactInfoFragment() {
// required empty const.
}
@@ -72,17 +86,34 @@ public class ContactInfoFragment extends Fragment implements WelcomeContracts.De
}
progressDialog = new ProgressDialog(requireContext());
contactLIst = new ArrayList<>();
binding.phoneSpinner.setIsFocusable(true);
binding.phoneSpinner.setDismissWhenNotifiedItemSelected(true);
binding.phoneSpinner.setLifecycleOwner(this);
binding.phoneSpinner.setOnSpinnerItemSelectedListener((OnSpinnerItemSelectedListener<String>) (i, s, i1, t1) -> {
if (t1 == null) return;
if (CONTACT_BY == 0){
callNumber(t1);
}else{
messageNumber(t1);
}
});
loadUserData();
}
private void loadUserData() {
Glide.with(requireContext())
.load(AppUtil.IMAGE_BASE_URL + contactData.contact_photo)
.placeholder(android.R.color.darker_gray)
.error(R.drawable.ic_contact)
.fitCenter().into(binding.image);
if (contactData.contact_photo != null){
Glide.with(requireContext())
.load(AppUtil.IMAGE_BASE_URL + contactData.contact_photo)
.placeholder(android.R.color.darker_gray)
.error(R.drawable.ic_contact)
.fitCenter().into(binding.image);
}
binding.name.setText(contactData.first_name);
binding.phoneNumber.setText(contactData.phone_number);
@@ -105,6 +136,15 @@ public class ContactInfoFragment extends Fragment implements WelcomeContracts.De
binding.relationship.setText(contactData.relationship);
}
contactLIst.add(contactData.phone_number);
if (contactData.extra_phone_numbers != null){
String[] extra_numbers = contactData.extra_phone_numbers.split(",");
contactLIst.addAll(Arrays.asList(extra_numbers));
}
// configuring contact spinner
binding.phoneSpinner.setItems(contactLIst);
}
@@ -163,21 +203,45 @@ public class ContactInfoFragment extends Fragment implements WelcomeContracts.De
});
binding.callBtn.setOnClickListener(v -> {
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.fromParts("tel",
contactData.phone_number.replace(" ", ""),
null));
startActivity(intent);
CONTACT_BY = 0;
if (contactLIst != null){
if (contactLIst.size() == 1){
callNumber(contactData.phone_number);
}else{
binding.phoneSpinner.show();
}
}
});
binding.messageBtn.setOnClickListener(v -> {
Uri uri = Uri.parse("smsto:"+contactData.phone_number.replace(" ", ""));
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
// intent.putExtra("sms_body", "The SMS text");
startActivity(intent);
CONTACT_BY = 1;
if (contactLIst != null){
if (contactLIst.size() == 1){
messageNumber(contactData.phone_number);
}else{
binding.phoneSpinner.show();
}
}
});
}
private void callNumber(String phone_number){
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.fromParts("tel",
phone_number,
null));
startActivity(intent);
}
private void messageNumber(String phone_number){
Uri uri = Uri.parse("smsto:" + phone_number);
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
// intent.putExtra("sms_body", "The SMS text");
startActivity(intent);
}
@Override
public void onContactDelete() {
progressDialog.dismiss();

View File

@@ -3,7 +3,9 @@ package com.ssb.simplitend.welcome.welcomepatient.fragments.contacts;
import static com.ssb.simplitend.apputils.RetrofitHelper.CREATE_CONTACT;
import static com.ssb.simplitend.apputils.RetrofitHelper.UPDATE_CONTACT;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Intent;
import android.net.Uri;
@@ -12,6 +14,7 @@ import android.os.Handler;
import android.text.InputFilter;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
@@ -32,6 +35,7 @@ import com.github.dhaval2404.imagepicker.ImagePicker;
import com.google.android.material.bottomsheet.BottomSheetDialog;
import com.google.i18n.phonenumbers.PhoneNumberUtil;
import com.google.i18n.phonenumbers.Phonenumber;
import com.skydoves.powerspinner.PowerSpinnerView;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
import com.ssb.simplitend.databinding.CreateContactViewHolderBinding;
@@ -128,9 +132,7 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
to_edit = bundle.getBoolean(TO_EDIT_KEY, false);
if (to_edit) {
setLayoutDetails(getString(R.string.edit_contact), getString(R.string.change_photo), getString(R.string.save));
} else {
setLayoutDetails(getString(R.string.create_contact), getString(R.string.add_photo), getString(R.string.create_contact));
}
@@ -138,6 +140,8 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
if (bundle.getSerializable(CONTACT_KEY) != null) {
contactData = (ContactData) bundle.getSerializable(CONTACT_KEY);
setDetails();
}else{
addContactView("", true);
}
}
@@ -177,35 +181,40 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
private void clickEvents() {
binding.backBtn.setOnClickListener(v -> {
if (getActivity() != null){
if (getActivity() != null) {
getActivity().onBackPressed();
}
});
binding.nextBtn.setOnClickListener(v -> {
String[] phone_numbers = getAllPhoneNumbers();
Log.d(TAG, "clickEvents: ");
if (!phone_numbers[3].equals("0")){
Toast.makeText(requireContext(), "Please select a default contact.", Toast.LENGTH_SHORT).show();
return;
}
// if (allOkay()) {
// if (to_edit) {
// // editing existing contact
//
// AppUtil.showSOSDecision(requireContext(),
// getString(R.string.make_changes),
// getString(R.string.yes),
// getString(R.string.no),
// yes -> {
// createEditContact("While we update your contact details.", true, UPDATE_CONTACT + contactData.contact_id);
// }, no -> {
//
// });
//
// } else {
// createEditContact("While we save the contact details.", false, CREATE_CONTACT);
// }
// }
if (allOkay() && phone_numbers[2].equals("0")) {
if (to_edit) {
// editing existing contact
AppUtil.showSOSDecision(requireContext(),
getString(R.string.make_changes),
getString(R.string.yes),
getString(R.string.no),
yes -> {
createEditContact("While we update your contact details.", true,
UPDATE_CONTACT + contactData.contact_id, phone_numbers);
}, no -> {
});
} else {
createEditContact("While we save the contact details.", false,
CREATE_CONTACT, phone_numbers);
}
}
});
@@ -225,7 +234,7 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
}
private void createEditContact(String progressMsg, boolean edit_contact,
String URL) {
String URL, String[] phoneNumbers) {
progressDialog.setTitle("Please wait");
progressDialog.setMessage(progressMsg);
@@ -236,10 +245,12 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
RequestBody user_first_name = RequestBody.create(binding.name.getText().toString().trim(), MediaType.parse("text/plain;charset=utf-8"));
body.put("full_name", user_first_name);
RequestBody contact_number_part = RequestBody.create("contact_number", MediaType.parse("text/plain;charset=utf-8"));
RequestBody contact_number_part = RequestBody.create(phoneNumbers[0], MediaType.parse("text/plain;charset=utf-8"));
body.put("contact_number", contact_number_part);
RequestBody extra_contact_number_part = RequestBody.create(phoneNumbers[1], MediaType.parse("text/plain;charset=utf-8"));
body.put("extra_phone_numbers", extra_contact_number_part);
RequestBody email_ = RequestBody.create(binding.email.getText().toString().trim(), MediaType.parse("text/plain;charset=utf-8"));
body.put("email_address", email_);
@@ -280,30 +291,6 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
binding.name.setError("Required");
}
// if (binding.phoneNumber.getText().toString().trim().isEmpty() ||
// binding.phoneNumber.getText().toString().trim().length() < 10) {
// allOkay = false;
// binding.phoneNumber.setError("Invalid");
// }else if (binding.countryCodes.getSelectedIndex() == -1||
// binding.countryCodes.getSelectedIndex() >= countryCodeList.size()){
// allOkay = false;
// Toast.makeText(requireContext(), "Select a coutnry code.", Toast.LENGTH_SHORT).show();
// }
// else{
// // validating phone number
// try {
// Phonenumber.PhoneNumber phone_number = PhoneNumberUtil.getInstance().parse(countryCodeList.get(binding.countryCodes.getSelectedIndex())+
// binding.phoneNumber.getText().toString(), "US");
//
// if (!PhoneNumberUtil.getInstance().isValidNumber(phone_number)) {
// binding.phoneNumber.setError("Invalid phone number");
// allOkay = false;
// }
// } catch (NumberParseException e) {
// // do nothing as we couldn't validate phone number
// }
// }
if (mustBeeCaregiver && binding.email.getText().toString().trim().isEmpty()) {
allOkay = false;
binding.email.setError("Required");
@@ -325,11 +312,11 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
Toast.makeText(requireActivity(), "Contact updated successFully.", Toast.LENGTH_SHORT).show();
try {
Navigation.findNavController(binding.getRoot()).popBackStack(R.id.addContactFragment, false);
}catch (Exception e){
} catch (Exception e) {
// this fragment is not only opened by the welcome_nav_graph
try {
getParentFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}catch (Exception e2){
} catch (Exception e2) {
// user may be out of context
}
}
@@ -398,7 +385,7 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
progressDialog.dismiss();
Activity activity = getActivity();
if (activity != null){
if (activity != null) {
activity.onBackPressed();
}
@@ -413,7 +400,7 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
try {
Navigation.findNavController(binding.getRoot()).navigate(R.id.action_createContactFragment_to_addContactFragment);
}catch (Exception e){
} catch (Exception e) {
// this fragment is opened from outside of welcome_nav_graph
try {
getParentFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
@@ -461,7 +448,7 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
}
private void setDetails() {
if (contactData == null){
if (contactData == null) {
return;
}
@@ -473,8 +460,7 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
.fitCenter().into(binding.image);
}
if (contactData.first_name != null)
{
if (contactData.first_name != null) {
binding.name.setText(contactData.first_name);
}
@@ -500,23 +486,27 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
binding.caregiverCheckView.setVisibility(View.GONE);
}
if (contactData.phone_number != null){
addContactView(contactData.phone_number, true);
}
// adding contacts to Contact_rv
if (contactData.extra_phone_numbers != null && !contactData.extra_phone_numbers.isEmpty()){
if (contactData.extra_phone_numbers != null && !contactData.extra_phone_numbers.isEmpty()) {
String[] phone_numbers = contactData.extra_phone_numbers.split(",");
for (String phone_number: phone_numbers){
addContactView(phone_number);
for (String phone_number : phone_numbers) {
addContactView(phone_number, phone_numbers.length == 1);
}
}
}
private void addContactView(String contact_number){
private void addContactView(String contact_number, boolean id_default) {
CreateContactViewHolderBinding contact_binding = CreateContactViewHolderBinding.inflate(getLayoutInflater());
contact_binding.countryCodes.setItems(countryCodeList);
contact_binding.countryCodes.setIsFocusable(true);
contact_binding.countryCodes.setDismissWhenNotifiedItemSelected(true);
contact_binding.createCountryCodes.setItems(countryCodeList);
contact_binding.createCountryCodes.setIsFocusable(true);
contact_binding.createCountryCodes.setDismissWhenNotifiedItemSelected(true);
// phone number formatting
// to deal with input pasting in the edit text
@@ -525,10 +515,10 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
String country_code;
if (contact_binding.countryCodes.getSelectedIndex() == -1) {
if (contact_binding.createCountryCodes.getSelectedIndex() == -1) {
country_code = "+1";
} else {
country_code = countryCodeList.get(contact_binding.countryCodes.getSelectedIndex());
country_code = countryCodeList.get(contact_binding.createCountryCodes.getSelectedIndex());
}
try {
@@ -545,7 +535,7 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
countryCodeList.add(country_code);
}
contact_binding.countryCodes.selectItemByIndex(countryCodeList.indexOf(country_code));
contact_binding.createCountryCodes.selectItemByIndex(countryCodeList.indexOf(country_code));
if (phone_number_str.length() > 10) {
// pasted number length is greater than 10
@@ -565,29 +555,44 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
contact_binding.createPhoneNumber.setFilters(new InputFilter[]{phoneFilter});
contact_binding.createPhoneNumber.setText(contact_number);
contact_binding.defaultCheck.setOnClickListener(v -> {
if (!contact_binding.defaultCheck.isSelected()){
if (!contact_binding.defaultCheck.isSelected()) {
selectDefaultContact(binding.contactTable.indexOfChild(contact_binding.getRoot()));
}
});
contact_binding.delete.setOnClickListener(v -> {
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){
Toast.makeText(requireContext(), "Couldn't delete contact.", Toast.LENGTH_SHORT).show();
}
});
contact_binding.defaultCheck.setSelected(id_default);
binding.contactTable.addView(contact_binding.getRoot());
}
private void selectDefaultContact(int index){
private void selectDefaultContact(int index) {
int count = binding.contactTable.getChildCount();
if (index >= 0 && index < count){
if (index >= 0 && index < count) {
// unselecting all other editBoxes
for (int i = 0; i < count; i++) {
View view = binding.contactTable.getChildAt(i);
if (view != null){
if (view != null) {
ImageButton default_check = view.findViewById(R.id.default_check);
if (default_check != null){
if (default_check != null) {
if (i == index){
if (i == index) {
default_check.setSelected(true);
}else{
} else {
default_check.setSelected(false);
}
@@ -601,23 +606,56 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
returns a string array of size 2
index 0: default phone number
index 1: extra phone number separated by ','
index 2: error code
index 3: if default number is selected or not 0 = default number selected and vice versa
*/
public String[] getAllPhoneNumbers(){
String[] phone_numbers = {"", ""};
public String[] getAllPhoneNumbers() {
String[] phone_numbers = {"", "", "0", "1"};
int count = binding.contactTable.getChildCount();
for (int i = 0; i < count; i++) {
View view = binding.contactTable.getChildAt(i);
if (view != null){
if (view != null) {
ImageButton default_check = view.findViewById(R.id.default_check);
EditText phone_input = view.findViewById(R.id.create_phone_number);
if (default_check != null && phone_input != null){
// getting country code
PowerSpinnerView countryCodeView = view.findViewById(R.id.create_country_codes);
String countryCode = "+1";
if (default_check.isSelected()){
phone_numbers[0] = phone_input.getText().toString();
}else{
phone_numbers[1] += (phone_input.getText().toString() + ",");
if (countryCodeView != null) {
int selected_cc_index = countryCodeView.getSelectedIndex();
if (selected_cc_index > -1 && selected_cc_index < countryCodeList.size()) {
countryCode = countryCodeList.get(selected_cc_index);
}
}
if (default_check != null && phone_input != null) {
phone_input.setError(null);
if (phone_input.getText().toString().trim().isEmpty()) {
phone_input.setError("Cannot be empty");
phone_numbers[2] = "1";
}
if (default_check.isSelected()) {
phone_numbers[0] = (countryCode + phone_input.getText().toString());
phone_numbers[3] = "0";
// validating phone number
try {
Phonenumber.PhoneNumber phone_number = PhoneNumberUtil.getInstance().parse(phone_numbers[0], "US");
if (!PhoneNumberUtil.getInstance().isValidNumber(phone_number)) {
phone_input.setError("Invalid number");
phone_numbers[2] = "1";
}
} catch (Exception e) {
// do nothing as we couldn't validate phone number
}
} else {
phone_numbers[1] += (countryCode + phone_input.getText().toString() + ",");
}
}
@@ -628,6 +666,7 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
int last_index = Math.max(phone_numbers[1].length() - 1, 0);
phone_numbers[1] = phone_numbers[1].substring(0, last_index);
return phone_numbers;
}

View File

@@ -84,7 +84,7 @@
android:layout_width="@dimen/_100sdp"
android:layout_height="@dimen/_100sdp"
android:contentDescription="@string/onboard_image"
tools:src="@drawable/ic_contact" />
android:src="@drawable/ic_contact" />
</com.google.android.material.card.MaterialCardView>
@@ -109,15 +109,69 @@
android:orientation="horizontal"
android:weightSum="5">
<TextView
android:id="@+id/phone_number"
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:fontFamily="@font/nunito_medium"
android:textAppearance="@style/TextAppearance.Material3.TitleLarge"
android:textColor="@color/black"
tools:text="@string/_918208401763" />
android:orientation="vertical">
<TextView
android:id="@+id/phone_number"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:enabled="false"
android:fontFamily="@font/nunito_medium"
android:textSize="@dimen/_18ssp"
android:textColor="@color/black"
android:maxLines="1"
android:ellipsize="end"
tools:text="@string/_918208401763"
/>
<com.skydoves.powerspinner.PowerSpinnerView
android:id="@+id/phone_spinner"
android:enabled="false"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@color/white_bg"
android:gravity="center_vertical"
android:padding="10dp"
android:textColor="@color/black"
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
android:hint="@string/enter_your_country"
android:textColorHint="#A1A1A1"
app:spinner_arrow_drawable="@drawable/ic_down"
app:drawableTint="@color/white"
app:spinner_popup_max_height="200dp"
app:spinner_arrow_animate="true"
app:fontFamily="@font/nunito_regular"
android:layout_marginVertical="5dp"
android:layout_marginEnd="5dp"
app:spinner_arrow_gravity="end"
app:spinner_arrow_padding="8dp"
app:spinner_arrow_tint="@color/black"
app:spinner_divider_show="true"
app:spinner_divider_size="0.4dp"
app:spinner_divider_color="@color/black"
app:spinner_item_height="46dp"
app:spinner_popup_animation="dropdown"
app:spinner_popup_background="@drawable/edit_text_bg_2"
app:spinner_popup_elevation="14dp"
/>
</LinearLayout>
<ImageView
android:id="@+id/call_btn"

View File

@@ -3,13 +3,14 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:background="@color/white">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp"
android:layout_marginBottom="10dp"
android:background="@drawable/edit_text_bg_2">
@@ -28,7 +29,7 @@
app:layout_constraintTop_toTopOf="parent" />
<com.skydoves.powerspinner.PowerSpinnerView
android:id="@+id/country_codes"
android:id="@+id/create_country_codes"
android:layout_width="0dp"
android:layout_height="wrap_content"
@@ -82,19 +83,31 @@
android:textColorHint="@android:color/darker_gray"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/default_check"
app:layout_constraintStart_toEndOf="@+id/country_codes"
app:layout_constraintStart_toEndOf="@+id/create_country_codes"
app:layout_constraintTop_toTopOf="parent" />
<ImageButton
android:id="@+id/default_check"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_marginEnd="10dp"
android:layout_marginEnd="15dp"
android:src="@drawable/sub_check_drawable"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintEnd_toStartOf="@id/delete"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/delete"
android:contentDescription="@string/delete"
android:layout_width="@dimen/_15sdp"
android:layout_height="25dp"
android:layout_marginEnd="10dp"
android:src="@drawable/ic_delete_outline"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:tint="@android:color/holo_red_light" />
</androidx.constraintlayout.widget.ConstraintLayout>
</RelativeLayout>

View File

@@ -130,7 +130,7 @@
<string name="continue_and_complete_profile">You can continue and complete the profile.</string>
<string name="you_don_t_have_any_medication_reminder">You don\'t have any medication reminder.</string>
<string name="please_click_on_add_button_to_add_medication_reminder">Please click on add button to add medication reminder</string>
<string name="please_click_on_add_button_to_add_routine_reminder">Please click on add button to add routines reminder</string>
<string name="please_click_on_add_button_to_add_routine_reminder">Please click on add button to add activities reminder</string>
<string name="todo">TODO</string>
<string name="march_16">March, 16</string>
@@ -173,10 +173,11 @@
<string name="done">done</string>
<string name="edit">Edit</string>
<string name="delete">Delete</string>
<string name="delete_ul"><u>Delete</u></string>
<string name="delete_med_reminder">Are you sure you want to delete the medication reminder?</string>
<string name="edit_reminder">Edit reminder</string>
<string name="edit_routine">Edit routine</string>
<string name="edit_routine">Edit Activity</string>
<string name="done_btn">Done</string>
<string name="you_don_t_have_any_medical_information">You don\'t have any medical information</string>
<string name="please_click_on_add_button_to_add">Please click on add button to add medical information</string>
@@ -200,17 +201,17 @@
<string name="enter_allergies">Enter allergies</string>
<string name="enter_diet_restriction">Enter diet restriction</string>
<string name="add">Add</string>
<string name="routine">Routine</string>
<string name="you_don_t_have_any_routines_reminder">You don\'t have any routines reminder.</string>
<string name="add_routine">Add routine</string>
<string name="name_of_the_routine">Name of the Routine</string>
<string name="enter_routine_name">Enter routine name</string>
<string name="routine_description">Routine description</string>
<string name="routine">Patient Activities</string>
<string name="you_don_t_have_any_routines_reminder">You don\'t have any activities reminder.</string>
<string name="add_routine">Add Activity</string>
<string name="name_of_the_routine">Name of the Activity</string>
<string name="enter_routine_name">Enter Activity name</string>
<string name="routine_description">Activity description</string>
<string name="enter_description">Enter description</string>
<string name="enter_start_time">Enter start time</string>
<string name="enter_end_time">Enter end time</string>
<string name="bar">bar</string>
<string name="delete_med_routine">Are you sure you want to delete the Medication routine?</string>
<string name="delete_med_routine">Are you sure you want to delete the Medication Activity?</string>
<string name="notification">notification</string>
<string name="close">close</string>
<string name="calls">Calls</string>