.
This commit is contained in:
12
.idea/deploymentTargetDropDown.xml
generated
12
.idea/deploymentTargetDropDown.xml
generated
@@ -1,6 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="deploymentTargetDropDown">
|
||||
<runningDeviceTargetSelectedWithDropDown>
|
||||
<Target>
|
||||
<type value="RUNNING_DEVICE_TARGET" />
|
||||
<deviceKey>
|
||||
<Key>
|
||||
<type value="VIRTUAL_DEVICE_PATH" />
|
||||
<value value="$USER_HOME$/.android/avd/Pixel_7_Pro_API_33.avd" />
|
||||
</Key>
|
||||
</deviceKey>
|
||||
</Target>
|
||||
</runningDeviceTargetSelectedWithDropDown>
|
||||
<timeTargetWasSelectedWithDropDown value="2023-11-02T14:29:04.061917Z" />
|
||||
<targetsSelectedWithDialog>
|
||||
<Target>
|
||||
<type value="QUICK_BOOT_TARGET" />
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
<application
|
||||
android:name=".apputils.SimpliTendApp"
|
||||
android:allowBackup="true"
|
||||
android:allowBackup="false"
|
||||
android:dataExtractionRules="@xml/data_extraction_rules"
|
||||
android:fullBackupContent="@xml/backup_rules"
|
||||
android:usesCleartextTraffic="true"
|
||||
@@ -133,7 +133,8 @@
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
|
||||
<data android:scheme="tel" />
|
||||
<!-- cannot handle DIAL_ACTION-->
|
||||
<data android:scheme="no_scheme" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.DIAL" />
|
||||
@@ -161,7 +162,8 @@
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
|
||||
<data android:scheme="tel" />
|
||||
<!-- cannot handle DIAL_ACTION-->
|
||||
<data android:scheme="no_scheme" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.DIAL" />
|
||||
|
||||
@@ -44,7 +44,7 @@ public class FUAActivity extends AppCompatActivity {
|
||||
TextView all_apps_title;
|
||||
|
||||
LinearLayout no_fua;
|
||||
TextView no_fua_txt;
|
||||
TextView no_fua_txt, fua_sub_title;
|
||||
|
||||
List<AppList> installed_app_list;
|
||||
|
||||
@@ -65,6 +65,7 @@ public class FUAActivity extends AppCompatActivity {
|
||||
no_fua = findViewById(R.id.no_fua);
|
||||
no_fua_txt = findViewById(R.id.no_fua_text);
|
||||
all_apps_title = findViewById(R.id.all_app_tile);
|
||||
fua_sub_title = findViewById(R.id.fua_sub_title);
|
||||
|
||||
if (!isAccessibilityAppBlockingEnabled()) {
|
||||
openAccessibilityDialog();
|
||||
@@ -102,6 +103,8 @@ public class FUAActivity extends AppCompatActivity {
|
||||
if (!isFromDashboard) {
|
||||
// from settings page
|
||||
no_fua_txt.setText(R.string.no_frequently_used_apps);
|
||||
fua_sub_title.setVisibility(View.GONE);
|
||||
|
||||
rvApps.setVisibility(View.VISIBLE);
|
||||
all_apps_title.setVisibility(View.VISIBLE);
|
||||
findViewById(R.id.done_btn).setVisibility(View.VISIBLE);
|
||||
@@ -130,6 +133,7 @@ public class FUAActivity extends AppCompatActivity {
|
||||
} else {
|
||||
// from dashboard
|
||||
no_fua_txt.setText(R.string.no_frequently_used_apps_set_up);
|
||||
fua_sub_title.setVisibility(View.VISIBLE);
|
||||
|
||||
rvApps.setVisibility(View.GONE);
|
||||
all_apps_title.setVisibility(View.GONE);
|
||||
@@ -344,13 +348,13 @@ public class FUAActivity extends AppCompatActivity {
|
||||
private void openAccessibilityDialog() {
|
||||
|
||||
AppUtil.showAlert(this,
|
||||
"Accessibility Permission Dialog",
|
||||
"Please allow app blocking accessibility.",
|
||||
"Yes", (dialog, id) -> {
|
||||
"Accessibility Permission",
|
||||
"Frequently used apps enables you to select your top apps, ensuring quick access and avoid distraction..\nChosen apps will be granted access, while all remaining apps will be restricted.\n\nTo activate, click on Go to settings -> Installed/Downloaded apps -> SimpliTend -> Turn on the permission.",
|
||||
"Go to settings", (dialog, id) -> {
|
||||
Intent accessibilityIntent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
|
||||
startActivity(accessibilityIntent);
|
||||
},
|
||||
"No",(dialog, id) -> {
|
||||
"Cancel",(dialog, id) -> {
|
||||
// Action for 'NO' Button
|
||||
dialog.cancel();
|
||||
});
|
||||
|
||||
@@ -179,13 +179,13 @@ public class MyAppsAdapter extends RecyclerView.Adapter<MyAppsAdapter.ViewHolder
|
||||
private void openAccessibilityDialog() {
|
||||
|
||||
AppUtil.showAlert(context,
|
||||
"Accessibility Permission Dialog",
|
||||
"Please allow app blocking accessibility.",
|
||||
"Yes", (dialog, id) -> {
|
||||
"Accessibility Permission",
|
||||
"Frequently used apps enables you to select your top apps, ensuring quick access and avoid distraction..\nChosen apps will be granted access, while all remaining apps will be restricted.\n\nTo activate, click on Go to settings -> Installed/Downloaded apps -> SimpliTend -> Turn on the permission.",
|
||||
"Go to settings", (dialog, id) -> {
|
||||
Intent accessibilityIntent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
|
||||
context.startActivity(accessibilityIntent);
|
||||
},
|
||||
"No",(dialog, id) -> {
|
||||
"Cancel",(dialog, id) -> {
|
||||
// Action for 'NO' Button
|
||||
dialog.cancel();
|
||||
});
|
||||
|
||||
@@ -16,14 +16,14 @@ import java.util.List;
|
||||
|
||||
public class TopAppDetectionService extends AccessibilityService {
|
||||
public static final String BLOCKED_APP_NAME = "BLOCKED_APP_NAME";
|
||||
|
||||
public static final String STOP_ACCESSIBILITY_SERVICE = "stop_accessibility_service";
|
||||
|
||||
MySharedPref sharedPref;
|
||||
List<String> appsList = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
public void onAccessibilityEvent(AccessibilityEvent event) {
|
||||
|
||||
Log.d("aditya", "onAccessibilityEvent: " + event);
|
||||
|
||||
sharedPref = new MySharedPref(getApplication());
|
||||
appsList.addAll(sharedPref.getArrayList("APP_LIST"));
|
||||
|
||||
@@ -73,6 +73,15 @@ public class TopAppDetectionService extends AccessibilityService {
|
||||
// This method is required but not used in this example
|
||||
}
|
||||
|
||||
@Override
|
||||
public int onStartCommand(Intent intent, int flags, int startId) {
|
||||
if (intent != null && STOP_ACCESSIBILITY_SERVICE.equals(intent.getAction())){
|
||||
// stop the service
|
||||
disableSelf();
|
||||
}
|
||||
return super.onStartCommand(intent, flags, startId);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onServiceConnected() {
|
||||
super.onServiceConnected();
|
||||
|
||||
@@ -6,8 +6,6 @@ import static com.app.simplitend.apputils.Constants.REMINDER_EXTRA_KEY;
|
||||
import static com.app.simplitend.articles.ArticleShowerActivity.ARTICLE_TITLE;
|
||||
import static com.app.simplitend.articles.ArticleShowerActivity.ARTICLE_URL_KEY;
|
||||
import static com.app.simplitend.callwhitelisting.CallService.CONTACT_WHITE_LISTING_TAG;
|
||||
import static com.app.simplitend.locationupdates.LocationService.LOCATION_INTERVAL_BASE_TIME;
|
||||
import static com.app.simplitend.locationupdates.LocationService.LOCATION_UPDATE_MIN_INTERVAL;
|
||||
import static com.app.simplitend.patientgeofencing.GeoFenceHelper.GEOFENCE_ID;
|
||||
import static com.app.simplitend.patientgeofencing.GeoFenceHelper.GEOFENCE_TAG;
|
||||
|
||||
@@ -31,21 +29,21 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.RawRes;
|
||||
|
||||
import com.app.simplitend.locationupdates.LocationService;
|
||||
import com.app.simplitend.welcome.welcomepatient.fragments.contacts.mvvm.models.ContactData;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.google.android.gms.location.GeofencingClient;
|
||||
import com.google.android.gms.location.LocationServices;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
||||
import com.app.simplitend.R;
|
||||
import com.app.simplitend.appblocking.MySharedPref;
|
||||
import com.app.simplitend.appblocking.TopAppDetectionService;
|
||||
import com.app.simplitend.articles.ArticleShowerActivity;
|
||||
import com.app.simplitend.databinding.BottomSheetAlertBinding;
|
||||
import com.app.simplitend.databinding.DecisionBottomsheetBinding;
|
||||
import com.app.simplitend.databinding.DoneBottomsheetBinding;
|
||||
import com.app.simplitend.locationupdates.LocationService;
|
||||
import com.app.simplitend.patientprofile.medreminder.mvvm.models.ReminderResult;
|
||||
import com.app.simplitend.patientprofile.setuproutine.mvvm.RoutineDetails;
|
||||
import com.app.simplitend.welcome.welcomepatient.fragments.contacts.mvvm.models.ContactData;
|
||||
import com.app.simplitend.welcome.welcomepatient.mvvm.models.PatientData;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.google.android.gms.location.GeofencingClient;
|
||||
import com.google.android.gms.location.LocationServices;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
@@ -57,6 +55,7 @@ import java.io.InputStreamReader;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
@@ -64,14 +63,13 @@ import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.TimeZone;
|
||||
|
||||
public abstract class AppUtil {
|
||||
|
||||
public static final String IMAGE_BASE_URL = "https://simplitend.betadelivery.com/storage/upload/";
|
||||
private static final String TAG = "AppUtil";
|
||||
|
||||
public static final int LOCATION_REQUEST_CODE = 12;
|
||||
|
||||
public static final String NOTIFICATION_ACTION = "com.simplitend.NOTIFICATION_ACTION";
|
||||
|
||||
// fields
|
||||
@@ -87,6 +85,8 @@ public abstract class AppUtil {
|
||||
public static final int CG_NO_SECURITY_NEEDED = 3;
|
||||
public static final int CG_SECURITY_NEEDED = 4;
|
||||
|
||||
public static final String CG_REGISTRATION_COMPLETE = "cg_registration_complete";
|
||||
|
||||
public static final String PATIENT_UID = "patient_uid";
|
||||
public static final String IS_PATIENT_LOGGED_IN = "patient_logged_in";
|
||||
|
||||
@@ -256,6 +256,18 @@ public abstract class AppUtil {
|
||||
}
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static String getTimeZone(){
|
||||
TimeZone timeZone = TimeZone.getDefault();
|
||||
// Getting the GMT offset in milliseconds
|
||||
int gmtOffsetMillis = timeZone.getOffset(Calendar.getInstance().getTimeInMillis());
|
||||
// Converting milliseconds to hours and minutes
|
||||
int hours = gmtOffsetMillis / 3600000;
|
||||
int minutes = (gmtOffsetMillis % 3600000) / 60000;
|
||||
|
||||
return "GMT" + (gmtOffsetMillis >= 0 ? "+" : "") + hours + ":" + String.format(Locale.getDefault(), "%02d", minutes);
|
||||
}
|
||||
|
||||
public static void callPhone(Activity activity, String phone_number){
|
||||
if (activity.checkSelfPermission(Manifest.permission.CALL_PHONE) == PackageManager.PERMISSION_GRANTED){
|
||||
Intent intent = new Intent(Intent.ACTION_CALL, Uri.fromParts("tel",
|
||||
@@ -281,7 +293,8 @@ public abstract class AppUtil {
|
||||
|
||||
public static void showBottomAlert(Context context,
|
||||
String patient_name,
|
||||
@Nullable String content_type, Intent intent) throws Exception {
|
||||
@Nullable String content_type, Intent intent,
|
||||
@NonNull View.OnClickListener text_senior_click) throws Exception {
|
||||
|
||||
if (content_type == null) return;
|
||||
|
||||
@@ -360,16 +373,9 @@ public abstract class AppUtil {
|
||||
setupBottomSheet(binding,
|
||||
R.drawable.img_activity_time,
|
||||
title, body,
|
||||
routine_description, "Text patient",
|
||||
v -> {
|
||||
CaregiverDataCache.getCaregiverData(context, (careGiverData -> {
|
||||
if (careGiverData == null || careGiverData.patientDetails == null) {
|
||||
Toast.makeText(context, "Couldn't load data", Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
}
|
||||
|
||||
AppUtil.messageNumber(context, careGiverData.patientDetails.phone_number);
|
||||
}), true);
|
||||
routine_description, "Text senior", view -> {
|
||||
bsd.dismiss();
|
||||
text_senior_click.onClick(null);
|
||||
});
|
||||
|
||||
bsd.show();
|
||||
@@ -406,16 +412,9 @@ public abstract class AppUtil {
|
||||
setupBottomSheet(binding,
|
||||
R.drawable.img_medication_time,
|
||||
title, body,
|
||||
description, "Text patient",
|
||||
v -> {
|
||||
CaregiverDataCache.getCaregiverData(context, (careGiverData -> {
|
||||
if (careGiverData == null || careGiverData.patientDetails == null) {
|
||||
Toast.makeText(context, "Couldn't load data", Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
}
|
||||
|
||||
AppUtil.messageNumber(context, careGiverData.patientDetails.phone_number);
|
||||
}), true);
|
||||
description, "Text senior", view -> {
|
||||
bsd.dismiss();
|
||||
text_senior_click.onClick(null);
|
||||
});
|
||||
|
||||
bsd.show();
|
||||
@@ -499,16 +498,9 @@ public abstract class AppUtil {
|
||||
setupBottomSheet(binding,
|
||||
R.drawable.img_med_refill,
|
||||
title, body,
|
||||
refill_description, "Text patient",
|
||||
v -> {
|
||||
CaregiverDataCache.getCaregiverData(context, (careGiverData -> {
|
||||
if (careGiverData == null || careGiverData.patientDetails == null) {
|
||||
Toast.makeText(context, "Couldn't load data", Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
}
|
||||
|
||||
AppUtil.messageNumber(context, careGiverData.patientDetails.phone_number);
|
||||
}), true);
|
||||
refill_description, "Text senior", view -> {
|
||||
bsd.dismiss();
|
||||
text_senior_click.onClick(null);
|
||||
});
|
||||
|
||||
bsd.show();
|
||||
@@ -578,9 +570,10 @@ public abstract class AppUtil {
|
||||
public static void patientSignOut(Context context) {
|
||||
AppUtil.savePatientData(null, -1, context, false);
|
||||
|
||||
// app block list clear
|
||||
MySharedPref mySharedPref = new MySharedPref(context);
|
||||
mySharedPref.removeKey("APP_LIST");
|
||||
// turning off app_blocking accessibility permission
|
||||
Intent stop_accessibility_intent = new Intent(context, TopAppDetectionService.class);
|
||||
stop_accessibility_intent.setAction(TopAppDetectionService.STOP_ACCESSIBILITY_SERVICE);
|
||||
context.startService(stop_accessibility_intent);
|
||||
|
||||
// removing contact listing
|
||||
setWhiteListedContacts(context, null);
|
||||
@@ -642,6 +635,20 @@ public abstract class AppUtil {
|
||||
return sp.getInt(CG_APP_SECURITY, NOT_ASKED_CG_SECURITY);
|
||||
}
|
||||
|
||||
public static boolean isRegistrationComplete(Context context){
|
||||
SharedPreferences sp = context.getSharedPreferences(CAREGIVER_DETAILS, Context.MODE_PRIVATE);
|
||||
return sp.getBoolean(CG_REGISTRATION_COMPLETE, false);
|
||||
}
|
||||
|
||||
public static void setCgRegistrationComplete(Context context, boolean registrationComplete){
|
||||
SharedPreferences sp = context.getSharedPreferences(CAREGIVER_DETAILS, Context.MODE_PRIVATE);
|
||||
SharedPreferences.Editor editor = sp.edit();
|
||||
|
||||
editor.putBoolean(CG_REGISTRATION_COMPLETE, registrationComplete);
|
||||
|
||||
editor.apply();
|
||||
}
|
||||
|
||||
public static void cgSignOut(Context context) {
|
||||
saveCgData(null, -1, context);
|
||||
setWantSecurityFlag(context, NOT_ASKED_CG_SECURITY);
|
||||
|
||||
@@ -5,6 +5,8 @@ import static com.app.simplitend.articles.ArticleShowerActivity.ARTICLE_URL_KEY;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
@@ -29,7 +31,7 @@ public class ArticlesActivity extends AppCompatActivity
|
||||
|
||||
private ArticlesAdapter articlesAdapter;
|
||||
|
||||
private boolean isLoadingArticles, lastPageHit;
|
||||
private boolean isLoadingArticles, lastPageHit, areSearchedArticleShown;
|
||||
|
||||
private int page_no;
|
||||
|
||||
@@ -46,6 +48,7 @@ public class ArticlesActivity extends AppCompatActivity
|
||||
clickEvents();
|
||||
|
||||
page_no = 1;
|
||||
areSearchedArticleShown = false;
|
||||
getArticles(binding.searchEt.getText().toString().trim(), PER_PAGE_COUNT, page_no, false);
|
||||
|
||||
}
|
||||
@@ -89,6 +92,28 @@ public class ArticlesActivity extends AppCompatActivity
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
binding.searchEt.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.length() == 0 && areSearchedArticleShown){
|
||||
// loading all articles
|
||||
page_no = 1;
|
||||
areSearchedArticleShown = false;
|
||||
getArticles(binding.searchEt.getText().toString().trim(), PER_PAGE_COUNT, page_no, false);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void clickEvents() {
|
||||
@@ -97,8 +122,9 @@ public class ArticlesActivity extends AppCompatActivity
|
||||
});
|
||||
|
||||
binding.closeBtn.setOnClickListener(v -> {
|
||||
if (!binding.searchEt.getText().toString().trim().isEmpty()){
|
||||
if (!binding.searchEt.getText().toString().trim().isEmpty() && areSearchedArticleShown){
|
||||
page_no = 1;
|
||||
areSearchedArticleShown = false;
|
||||
getArticles("", PER_PAGE_COUNT, page_no, false);
|
||||
}
|
||||
|
||||
@@ -113,6 +139,7 @@ public class ArticlesActivity extends AppCompatActivity
|
||||
|
||||
AppUtil.closeKeyboard(this);
|
||||
page_no = 1;
|
||||
areSearchedArticleShown = true;
|
||||
getArticles(binding.searchEt.getText().toString().trim(), PER_PAGE_COUNT, page_no, false);
|
||||
return true;
|
||||
});
|
||||
|
||||
@@ -105,7 +105,12 @@ public class CaregiverDashActivity extends AppCompatActivity implements
|
||||
AppUtil.showBottomAlert(CaregiverDashActivity.this,
|
||||
patient_name,
|
||||
content_type,
|
||||
intent);
|
||||
intent,
|
||||
v -> {
|
||||
// here v is null
|
||||
binding.bottomNav.selectMenuItem(MenuItem.CHATS);
|
||||
onBottomNavItemSelected(MenuItem.CHATS);
|
||||
});
|
||||
}catch (Exception e){
|
||||
// do nothing
|
||||
}
|
||||
|
||||
@@ -54,6 +54,7 @@ import com.google.android.gms.maps.CameraUpdateFactory;
|
||||
import com.google.android.gms.maps.GoogleMap;
|
||||
import com.google.android.gms.maps.OnMapReadyCallback;
|
||||
import com.google.android.gms.maps.SupportMapFragment;
|
||||
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
|
||||
import com.google.android.gms.maps.model.LatLng;
|
||||
import com.google.android.gms.maps.model.MarkerOptions;
|
||||
|
||||
@@ -230,6 +231,7 @@ public class CgDashBoardFragment extends Fragment implements
|
||||
|
||||
loadReminders();
|
||||
loadActivities();
|
||||
loadArticles();
|
||||
});
|
||||
|
||||
binding.notifications.setOnClickListener(view -> {
|
||||
@@ -373,6 +375,7 @@ public class CgDashBoardFragment extends Fragment implements
|
||||
|
||||
MarkerOptions markerOptions = new MarkerOptions()
|
||||
.position(latLng)
|
||||
.icon(BitmapDescriptorFactory.fromResource(R.drawable.img_home_marker))
|
||||
.title(patient_name);
|
||||
|
||||
mGoogleMap.clear();
|
||||
|
||||
@@ -325,7 +325,6 @@ public class CgSubscriptionActivity extends AppCompatActivity
|
||||
Toast.makeText(this, "Payment failed.", Toast.LENGTH_SHORT).show();
|
||||
} else if (paymentSheetResult instanceof PaymentSheetResult.Completed) {
|
||||
// Display for example, an order confirmation screen
|
||||
Toast.makeText(this, "Payment successful.", Toast.LENGTH_SHORT).show();
|
||||
|
||||
this.careGiverData.isCaregiverTakeSubscription = 1;
|
||||
CaregiverDataCache.setCareGiverData(this.careGiverData);
|
||||
|
||||
@@ -26,6 +26,10 @@ public interface PatientProfileAPIService {
|
||||
@GET("api/auth-user-data")
|
||||
Call<CallResponse<PatientData>> getUsrProfileProgress(@Header("Authorization") String token);
|
||||
|
||||
@GET("api/auth-user-data")
|
||||
Call<CallResponse<PatientData>> getUsrProfileProgress(@Header("Authorization") String token,
|
||||
@Header("timezone") String timezone);
|
||||
|
||||
@GET("api/patient-reminder-list/{id}")
|
||||
Call<CallResponse<List<ReminderResult>>> getRemindersList(@Path("id") int patient_id,
|
||||
@Query("weekday") int week_day,
|
||||
|
||||
@@ -177,10 +177,8 @@ public class ProfileProgressFragment extends Fragment implements ProfileContract
|
||||
// no subscription alert
|
||||
try {
|
||||
AppUtil.showAlert(requireContext(),
|
||||
"Kindly ask Caregiver to complete SimpliTend subscription.",
|
||||
"Once your caregiver has completed the " +
|
||||
"subscription, you will be able to use the " +
|
||||
"application.",
|
||||
"Caregiver registration",
|
||||
"You can set up this feature after caregiver registration is complete",
|
||||
"OK",
|
||||
((dialogInterface, i) -> {
|
||||
|
||||
|
||||
@@ -177,7 +177,7 @@ public class RegisterCompleteFragment extends Fragment implements ProfileContrac
|
||||
gotoPatientDashBoard();
|
||||
}else{
|
||||
AppUtil.showAlert(requireContext(),
|
||||
"Kindly ask Caregiver to complete SimpliTend subscription.",
|
||||
"Kindly ask Caregiver to buy SimpliTend subscription.",
|
||||
"Once your caregiver has completed the " +
|
||||
"subscription, you will be able to use the " +
|
||||
"application.",
|
||||
|
||||
@@ -193,18 +193,6 @@ public class AddReminderFragment extends Fragment implements CompoundButton.OnCh
|
||||
reminderResult.time3 = null;
|
||||
}
|
||||
|
||||
// Sending time zone
|
||||
TimeZone timeZone = TimeZone.getDefault();
|
||||
// Getting the GMT offset in milliseconds
|
||||
int gmtOffsetMillis = timeZone.getOffset(Calendar.getInstance().getTimeInMillis());
|
||||
// Converting milliseconds to hours and minutes
|
||||
int hours = gmtOffsetMillis / 3600000;
|
||||
int minutes = (gmtOffsetMillis % 3600000) / 60000;
|
||||
|
||||
String gmtStandard = "GMT" + (gmtOffsetMillis >= 0 ? "+" : "") + hours + ":" + String.format(Locale.getDefault(), "%02d", minutes);
|
||||
Toast.makeText(requireContext(), "" + gmtStandard, Toast.LENGTH_SHORT).show();
|
||||
reminderResult.timezone = gmtStandard;
|
||||
|
||||
reminderResult.medication_quantity = binding.quantity.getText().toString();
|
||||
reminderResult.medication_refill_date = binding.getDate.getText().toString();
|
||||
reminderResult.medication_instruction = binding.instructions.getText().toString().trim();
|
||||
|
||||
@@ -130,16 +130,24 @@ public class ReminderAdapter extends RecyclerView.Adapter<ReminderAdapter.Remind
|
||||
binding.medImg.setImageResource(R.drawable.ic_capsules);
|
||||
quantity = reminder.medication_quantity + " capsules";
|
||||
break;
|
||||
case "Pill":
|
||||
case "Tablet":
|
||||
binding.medImg.setImageResource(R.drawable.ic_pills);
|
||||
quantity = reminder.medication_quantity + " pills";
|
||||
break;
|
||||
case "Drops":
|
||||
case "Drop":
|
||||
binding.medImg.setImageResource(R.drawable.ic_drops);
|
||||
quantity = reminder.medication_quantity + " drops";
|
||||
break;
|
||||
case "Solution(Liquid)":
|
||||
binding.medImg.setImageResource(R.drawable.ic_solution);
|
||||
case "Spoon":
|
||||
binding.medImg.setImageResource(R.drawable.ic_med_spoon);
|
||||
quantity = reminder.medication_quantity + " units";
|
||||
break;
|
||||
case "Cup":
|
||||
binding.medImg.setImageResource(R.drawable.ic_cup);
|
||||
quantity = reminder.medication_quantity + " units";
|
||||
break;
|
||||
case "Syringe":
|
||||
binding.medImg.setImageResource(R.drawable.ic_syringe);
|
||||
quantity = reminder.medication_quantity + " units";
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -43,7 +43,6 @@ public class ReminderResult implements Serializable {
|
||||
public String reminder_marked;
|
||||
|
||||
public String is_update;
|
||||
public String timezone;
|
||||
|
||||
public ReminderResult(){}
|
||||
|
||||
|
||||
@@ -234,18 +234,6 @@ public class AddRoutineFragment extends Fragment implements CompoundButton.OnChe
|
||||
routineDetails.routine_start_time = binding.startTime.getHint().toString();
|
||||
routineDetails.routine_end_time = binding.endTime.getHint().toString();
|
||||
|
||||
// Sending time zone
|
||||
TimeZone timeZone = TimeZone.getDefault();
|
||||
// Getting the GMT offset in milliseconds
|
||||
int gmtOffsetMillis = timeZone.getOffset(Calendar.getInstance().getTimeInMillis());
|
||||
// Converting milliseconds to hours and minutes
|
||||
int hours = gmtOffsetMillis / 3600000;
|
||||
int minutes = (gmtOffsetMillis % 3600000) / 60000;
|
||||
|
||||
String gmtStandard = "GMT" + (gmtOffsetMillis >= 0 ? "+" : "") + hours + ":" + String.format(Locale.getDefault(), "%02d", minutes);
|
||||
Toast.makeText(requireContext(), "" + gmtStandard, Toast.LENGTH_SHORT).show();
|
||||
routineDetails.timezone = gmtStandard;
|
||||
|
||||
routineDetails.sun = week_state[0] ? "1" : "0";
|
||||
routineDetails.mon = week_state[1] ? "1" : "0";
|
||||
routineDetails.tue = week_state[2] ? "1" : "0";
|
||||
@@ -488,7 +476,7 @@ public class AddRoutineFragment extends Fragment implements CompoundButton.OnChe
|
||||
progressDialog.dismiss();
|
||||
|
||||
if (this.routine == null) {
|
||||
Toast.makeText(requireContext(), "Routine added successfully.", Toast.LENGTH_SHORT).show();
|
||||
Toast.makeText(requireContext(), "Activity saved successfully.", Toast.LENGTH_SHORT).show();
|
||||
|
||||
Activity activity = getActivity();
|
||||
if (activity != null){
|
||||
|
||||
@@ -30,7 +30,6 @@ public class RoutineDetails implements Serializable {
|
||||
public String updated_at;
|
||||
|
||||
public String routine_marked;
|
||||
public String timezone;
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
|
||||
@@ -16,6 +16,13 @@ import androidx.biometric.BiometricManager;
|
||||
import androidx.biometric.BiometricPrompt;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.app.simplitend.R;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.DataSource;
|
||||
import com.bumptech.glide.load.engine.GlideException;
|
||||
import com.bumptech.glide.load.resource.gif.GifDrawable;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.daimajia.androidanimations.library.Techniques;
|
||||
import com.daimajia.androidanimations.library.YoYo;
|
||||
import com.app.simplitend.apputils.AppUtil;
|
||||
@@ -65,11 +72,46 @@ public class CgAuthActivity extends AppCompatActivity {
|
||||
|
||||
binding.skip.setOnClickListener(v -> {
|
||||
AppUtil.setWantSecurityFlag(this, AppUtil.CG_NO_SECURITY_NEEDED);
|
||||
if (!AppUtil.isRegistrationComplete(CgAuthActivity.this)){
|
||||
// USER IS IN THE REGISTRATION PROCESS
|
||||
// show thank you page
|
||||
showThankYouScreen();
|
||||
}else {
|
||||
gotoCgDash();
|
||||
}
|
||||
});
|
||||
|
||||
binding.proceed.setOnClickListener(v -> {
|
||||
gotoCgDash();
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private void showThankYouScreen() {
|
||||
AppUtil.setCgRegistrationComplete(this, true);
|
||||
|
||||
binding.connectCompleteView.setVisibility(View.VISIBLE);
|
||||
binding.askedView.setVisibility(View.GONE);
|
||||
binding.fingerprintView.setVisibility(View.GONE);
|
||||
|
||||
Glide.with(this)
|
||||
.asGif()
|
||||
.load(R.raw.done_anim_primary)
|
||||
.listener(new RequestListener<GifDrawable>() {
|
||||
@Override
|
||||
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<GifDrawable> target, boolean isFirstResource) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onResourceReady(GifDrawable resource, Object model, Target<GifDrawable> target, DataSource dataSource, boolean isFirstResource) {
|
||||
resource.setLoopCount(1);
|
||||
return false;
|
||||
}
|
||||
})
|
||||
.into(binding.animIv);
|
||||
}
|
||||
|
||||
private void initViews() {
|
||||
|
||||
biometricManager = BiometricManager.from(this);
|
||||
@@ -85,7 +127,13 @@ public class CgAuthActivity extends AppCompatActivity {
|
||||
public void onAuthenticationSucceeded(@NonNull BiometricPrompt.AuthenticationResult result) {
|
||||
super.onAuthenticationSucceeded(result);
|
||||
AppUtil.setWantSecurityFlag(CgAuthActivity.this, AppUtil.CG_SECURITY_NEEDED);
|
||||
gotoCgDash();
|
||||
if (!AppUtil.isRegistrationComplete(CgAuthActivity.this)){
|
||||
// USER IS IN THE REGISTRATION PROCESS
|
||||
// show thank you page
|
||||
showThankYouScreen();
|
||||
}else {
|
||||
gotoCgDash();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -94,13 +94,6 @@ public class CgConnectFragment extends Fragment implements
|
||||
viewModel.resendCgCode(body, token, this);
|
||||
});
|
||||
|
||||
binding.proceed.setOnClickListener(v -> {
|
||||
// go to cg dash board
|
||||
Intent intent = new Intent(requireActivity(), CgAuthActivity.class);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
startActivity(intent);
|
||||
requireActivity().finish();
|
||||
});
|
||||
}
|
||||
|
||||
private void connectCG() {
|
||||
@@ -177,25 +170,13 @@ public class CgConnectFragment extends Fragment implements
|
||||
public void onCgConnected(ConnectCgResult result) {
|
||||
progressDialog.dismiss();
|
||||
|
||||
binding.connectView.setVisibility(View.GONE);
|
||||
binding.connectCompleteView.setVisibility(View.VISIBLE);
|
||||
AppUtil.setCgRegistrationComplete(requireContext(), false);
|
||||
|
||||
Glide.with(this)
|
||||
.asGif()
|
||||
.load(R.raw.done_anim_primary)
|
||||
.listener(new RequestListener<GifDrawable>() {
|
||||
@Override
|
||||
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<GifDrawable> target, boolean isFirstResource) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onResourceReady(GifDrawable resource, Object model, Target<GifDrawable> target, DataSource dataSource, boolean isFirstResource) {
|
||||
resource.setLoopCount(1);
|
||||
return false;
|
||||
}
|
||||
})
|
||||
.into(binding.animIv);
|
||||
// go to cg dash board
|
||||
Intent intent = new Intent(requireActivity(), CgAuthActivity.class);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
startActivity(intent);
|
||||
requireActivity().finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -138,6 +138,7 @@ public class CgSignInFragment extends Fragment implements WelcomeContracts.CgLog
|
||||
|
||||
}else{
|
||||
// caregiver user has asked to for security
|
||||
AppUtil.setCgRegistrationComplete(requireContext(), true);
|
||||
intent = new Intent(requireActivity(), CgAuthActivity.class);
|
||||
}
|
||||
|
||||
|
||||
@@ -131,6 +131,9 @@ public class SignInFragment extends Fragment implements WelcomeContracts.Registe
|
||||
RequestBody pin_body = RequestBody.create(Objects.requireNonNull(binding.pin.getText()).toString().trim(), MediaType.parse("text/plain"));
|
||||
body.put("pin", pin_body);
|
||||
|
||||
RequestBody timezone_body = RequestBody.create(AppUtil.getTimeZone(), MediaType.parse("text/plain;charset=utf-8"));
|
||||
body.put("timezone", timezone_body);
|
||||
|
||||
String sub_id = OneSignal.getUser().getPushSubscription().getId();
|
||||
|
||||
if (sub_id != null){
|
||||
|
||||
@@ -567,6 +567,11 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
|
||||
contact_binding.createCountryCodes.setIsFocusable(true);
|
||||
contact_binding.createCountryCodes.setDismissWhenNotifiedItemSelected(true);
|
||||
|
||||
contact_binding.createCountryCodes.setOnClickListener(v -> {
|
||||
AppUtil.closeKeyboard(requireActivity());
|
||||
contact_binding.createCountryCodes.showOrDismiss();
|
||||
});
|
||||
|
||||
// phone number formatting
|
||||
// to deal with input pasting in the edit text
|
||||
InputFilter phoneFilter = (charSequence, i, i1, spanned, i2, i3) -> {
|
||||
|
||||
@@ -140,6 +140,8 @@ public class CreatePinFragment extends Fragment implements WelcomeContracts.Regi
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
private boolean allOkay() {
|
||||
|
||||
@@ -81,7 +81,7 @@ public class SplashFragment extends Fragment
|
||||
|
||||
PatientProfileAPIService apiService = RetrofitHelper.getRetrofit().create(PatientProfileAPIService.class);
|
||||
|
||||
apiService.getUsrProfileProgress("Bearer " + patient_token)
|
||||
apiService.getUsrProfileProgress("Bearer " + patient_token, AppUtil.getTimeZone())
|
||||
.enqueue(new Callback<CallResponse<PatientData>>() {
|
||||
@Override
|
||||
public void onResponse(Call<CallResponse<PatientData>> call, Response<CallResponse<PatientData>> response) {
|
||||
|
||||
@@ -7,6 +7,7 @@ import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.ViewModel;
|
||||
|
||||
import com.app.simplitend.R;
|
||||
import com.app.simplitend.apputils.AppUtil;
|
||||
import com.app.simplitend.welcome.welcomepatient.mvvm.models.PatientData;
|
||||
|
||||
import org.json.JSONArray;
|
||||
@@ -81,6 +82,9 @@ public class WelcomeViewModel extends ViewModel {
|
||||
RequestBody one_signal_player_id_body = RequestBody.create(patientData.one_signal_player_id, MediaType.parse("text/plain;charset=utf-8") );
|
||||
body.put("one_signal_player_id", one_signal_player_id_body);
|
||||
|
||||
RequestBody timezone_body = RequestBody.create(AppUtil.getTimeZone(), MediaType.parse("text/plain;charset=utf-8"));
|
||||
body.put("timezone", timezone_body);
|
||||
|
||||
welcomeRepository.registerPatient(body, registerPatientContract);
|
||||
|
||||
}
|
||||
|
||||
BIN
app/src/main/res/drawable/ic_cup.png
Normal file
BIN
app/src/main/res/drawable/ic_cup.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
BIN
app/src/main/res/drawable/ic_med_spoon.png
Normal file
BIN
app/src/main/res/drawable/ic_med_spoon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 21 KiB |
BIN
app/src/main/res/drawable/ic_syringe.png
Normal file
BIN
app/src/main/res/drawable/ic_syringe.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.6 KiB |
@@ -25,7 +25,7 @@
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:fontFamily="@font/nunito_medium"
|
||||
android:text="@string/faq"
|
||||
android:text="@string/faqs"
|
||||
android:textSize="@dimen/_18ssp"
|
||||
android:textColor="@color/black" />
|
||||
|
||||
|
||||
@@ -33,10 +33,22 @@
|
||||
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/fua_sub_title"
|
||||
android:visibility="gone"
|
||||
android:layout_below="@id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginVertical="10dp"
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
android:text="@string/add_frequently_used_apps_by_visiting_profile_frequently_used_apps"
|
||||
android:textColor="@color/black" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@id/title"
|
||||
android:layout_below="@id/fua_sub_title"
|
||||
android:layout_above="@id/done_btn"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
android:hint="@string/enter_dosage"
|
||||
|
||||
android:inputType="numberDecimal"
|
||||
android:maxLength="6"
|
||||
android:maxLength="5"
|
||||
|
||||
android:padding="10dp"
|
||||
android:paddingVertical="15dp"
|
||||
@@ -675,8 +675,8 @@
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
android:hint="@string/enter_quantity"
|
||||
|
||||
android:inputType="number"
|
||||
android:maxLength="3"
|
||||
android:inputType="numberDecimal"
|
||||
android:maxLength="5"
|
||||
|
||||
android:padding="10dp"
|
||||
android:paddingVertical="15dp"
|
||||
|
||||
@@ -305,4 +305,78 @@
|
||||
|
||||
</ScrollView>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/connect_complete_view"
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/white_bg"
|
||||
android:overScrollMode="never">
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@id/proceed"
|
||||
|
||||
app:cardElevation="3dp"
|
||||
app:cardCornerRadius="15dp"
|
||||
|
||||
android:layout_margin="15dp"
|
||||
|
||||
>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/anim_iv"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/_250sdp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginTop="@dimen/_15sdp"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:contentDescription="@string/thank_you" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/nunito_bold"
|
||||
android:text="@string/thank_you_for_creating_account_with_simplitend"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginTop="25dp"
|
||||
android:textAlignment="center"
|
||||
android:textSize="@dimen/_18ssp"
|
||||
android:textColor="@color/black" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/proceed"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginVertical="15dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:text="@string/proceed_with_subscription"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
android:textAllCaps="false"
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
android:textColor="@color/white_bg"
|
||||
android:paddingVertical="15dp"
|
||||
app:backgroundTint="@color/color_primary"
|
||||
app:cornerRadius="25dp"
|
||||
|
||||
android:drawableEnd="@drawable/ic_forward_error"
|
||||
android:drawablePadding="15dp"
|
||||
/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -168,78 +168,4 @@
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/connect_complete_view"
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/white_bg"
|
||||
android:overScrollMode="never">
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@id/proceed"
|
||||
|
||||
app:cardElevation="3dp"
|
||||
app:cardCornerRadius="15dp"
|
||||
|
||||
android:layout_margin="15dp"
|
||||
|
||||
>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/anim_iv"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/_250sdp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginTop="@dimen/_15sdp"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:contentDescription="@string/thank_you" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/nunito_bold"
|
||||
android:text="@string/thank_you_for_creating_account_with_simplitend"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginTop="25dp"
|
||||
android:textAlignment="center"
|
||||
android:textSize="@dimen/_18ssp"
|
||||
android:textColor="@color/black" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/proceed"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginVertical="15dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:text="@string/proceed_with_subscription"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
android:textAllCaps="false"
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
android:textColor="@color/white_bg"
|
||||
android:paddingVertical="15dp"
|
||||
app:backgroundTint="@color/color_primary"
|
||||
app:cornerRadius="25dp"
|
||||
|
||||
android:drawableEnd="@drawable/ic_forward_error"
|
||||
android:drawablePadding="15dp"
|
||||
/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -65,6 +65,7 @@
|
||||
android:textSize="@dimen/_11ssp"
|
||||
|
||||
android:maxLines="1"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"
|
||||
|
||||
/>
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@id/done"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
@@ -527,22 +526,27 @@
|
||||
android:layout_height="match_parent"
|
||||
|
||||
android:layout_below="@id/divider"
|
||||
android:layout_marginTop="25dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:overScrollMode="never"
|
||||
android:visibility="gone"
|
||||
|
||||
android:paddingBottom="120dp"
|
||||
android:paddingTop="0dp"
|
||||
android:clipToPadding="false"
|
||||
/>
|
||||
|
||||
<com.google.android.material.imageview.ShapeableImageView
|
||||
android:id="@+id/add_reminder"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginHorizontal="25dp"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
|
||||
android:layout_marginBottom="30dp"
|
||||
android:layout_above="@id/done"
|
||||
|
||||
android:layout_marginBottom="5dp"
|
||||
android:background="@drawable/round_corners"
|
||||
|
||||
android:backgroundTint="@color/color_primary"
|
||||
@@ -555,30 +559,30 @@
|
||||
|
||||
/>
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/done"
|
||||
android:visibility="visible"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:text="@string/done_btn"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
android:textAllCaps="false"
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
android:textColor="@color/white_bg"
|
||||
|
||||
android:paddingVertical="15dp"
|
||||
|
||||
app:backgroundTint="@color/color_primary"
|
||||
app:cornerRadius="15dp"
|
||||
|
||||
android:drawableEnd="@drawable/ic_forward_error"
|
||||
android:drawableTint="@color/white"
|
||||
|
||||
android:layout_alignParentBottom="true"
|
||||
/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/done"
|
||||
android:visibility="visible"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:text="@string/done_btn"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
android:textAllCaps="false"
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
android:textColor="@color/white_bg"
|
||||
|
||||
android:paddingVertical="15dp"
|
||||
|
||||
app:backgroundTint="@color/color_primary"
|
||||
app:cornerRadius="15dp"
|
||||
|
||||
android:drawableEnd="@drawable/ic_forward_error"
|
||||
android:drawableTint="@color/white"
|
||||
|
||||
android:layout_alignParentBottom="true"
|
||||
/>
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -10,7 +10,6 @@
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@id/done"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
@@ -526,22 +525,27 @@
|
||||
android:layout_height="match_parent"
|
||||
|
||||
android:layout_below="@id/divider"
|
||||
android:layout_marginTop="25dp"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:overScrollMode="never"
|
||||
android:visibility="gone"
|
||||
|
||||
android:layout_marginBottom="15dp"
|
||||
|
||||
android:paddingBottom="120dp"
|
||||
android:paddingTop="0dp"
|
||||
|
||||
android:clipToPadding="false"
|
||||
/>
|
||||
|
||||
<com.google.android.material.imageview.ShapeableImageView
|
||||
android:id="@+id/add_routine"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginHorizontal="25dp"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
|
||||
android:layout_marginBottom="30dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:background="@drawable/round_corners"
|
||||
|
||||
android:backgroundTint="@color/color_primary"
|
||||
@@ -552,32 +556,34 @@
|
||||
|
||||
app:tint="@color/white_bg"
|
||||
|
||||
android:layout_above="@id/done"
|
||||
|
||||
/>
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/done"
|
||||
android:visibility="visible"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:text="@string/done_btn"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
android:textAllCaps="false"
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
android:textColor="@color/white_bg"
|
||||
|
||||
android:paddingVertical="15dp"
|
||||
|
||||
app:backgroundTint="@color/color_primary"
|
||||
app:cornerRadius="10dp"
|
||||
|
||||
android:drawableEnd="@drawable/ic_forward_error"
|
||||
android:drawableTint="@color/white"
|
||||
|
||||
android:layout_alignParentBottom="true"
|
||||
/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/done"
|
||||
android:visibility="visible"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:text="@string/done_btn"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
android:textAllCaps="false"
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
android:textColor="@color/white_bg"
|
||||
|
||||
android:paddingVertical="15dp"
|
||||
|
||||
app:backgroundTint="@color/color_primary"
|
||||
app:cornerRadius="15dp"
|
||||
|
||||
android:drawableEnd="@drawable/ic_forward_error"
|
||||
android:drawableTint="@color/white"
|
||||
|
||||
android:layout_alignParentBottom="true"
|
||||
/>
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
tools:text="7 AM"
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleSmall"
|
||||
android:textColor="#131313"
|
||||
|
||||
android:layout_marginStart="15dp"
|
||||
@@ -28,8 +28,8 @@
|
||||
|
||||
android:layout_toEndOf="@id/start_time_static"
|
||||
|
||||
android:layout_marginVertical="15dp"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginVertical="5dp"
|
||||
android:layout_marginHorizontal="10dp"
|
||||
|
||||
app:cardCornerRadius="15dp"
|
||||
app:cardElevation="5dp"
|
||||
@@ -48,7 +48,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginVertical="15dp"
|
||||
android:layout_marginVertical="5dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:weightSum="10">
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
tools:text="Doctors appointment bla bla bla blaaa blabla lbal bla"
|
||||
android:fontFamily="@font/nunito_bold"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleLarge"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
android:textColor="@color/black"
|
||||
|
||||
android:maxLines="2"
|
||||
@@ -91,7 +91,7 @@
|
||||
|
||||
tools:text="Meet your heart specialist Abraham at 4:00 pm"
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleSmall"
|
||||
android:textColor="@color/black"
|
||||
|
||||
android:layout_below="@id/ll"
|
||||
@@ -104,10 +104,11 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginVertical="15dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_below="@id/description"
|
||||
android:gravity="bottom"
|
||||
android:gravity="center_vertical"
|
||||
android:weightSum="10">
|
||||
|
||||
<TextView
|
||||
@@ -118,7 +119,7 @@
|
||||
|
||||
tools:text="7 : 00 AM - 9 : 00 AM"
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleSmall"
|
||||
android:textColor="@color/black"
|
||||
|
||||
android:maxLines="1"
|
||||
@@ -128,8 +129,8 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/check"
|
||||
android:layout_width="@dimen/_30sdp"
|
||||
android:layout_height="@dimen/_30sdp"
|
||||
android:layout_width="@dimen/_20sdp"
|
||||
android:layout_height="@dimen/_20sdp"
|
||||
android:layout_weight="1"
|
||||
android:contentDescription="@string/delete"
|
||||
|
||||
@@ -153,13 +154,13 @@
|
||||
|
||||
tools:text="7 AM"
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleSmall"
|
||||
android:textColor="#131313"
|
||||
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_below="@+id/card"
|
||||
|
||||
android:layout_marginTop="-35dp"
|
||||
android:layout_marginTop="-30dp"
|
||||
|
||||
/>
|
||||
|
||||
|
||||
@@ -201,7 +201,7 @@
|
||||
<string name="enter_allergies">Enter allergies</string>
|
||||
<string name="enter_diet_restriction">Enter diet restriction</string>
|
||||
<string name="add">Add</string>
|
||||
<string name="routine">Patient Activities</string>
|
||||
<string name="routine">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>
|
||||
@@ -239,7 +239,7 @@
|
||||
<string name="something_went_wrong">Something went wrong</string>
|
||||
<string name="at">at</string>
|
||||
<string name="caring_for_loved_one">Caring for a loved one may be\noverwhelming....\nLet our app assist you!</string>
|
||||
<string name="my_patient">My Patient</string>
|
||||
<string name="my_patient">Senior</string>
|
||||
<string name="dashboard">Dashboard</string>
|
||||
<string name="chat">Chat</string>
|
||||
<string name="articles">Articles</string>
|
||||
@@ -470,5 +470,6 @@
|
||||
<string name="close_">Close</string>
|
||||
<string name="subscribe_cancelled_description">Your subscription has been canceled. You will be able to use your application until the end of your current subscription. Your app will stop working at that point.</string>
|
||||
<string name="allowed_alphanumeric_space_special"><![CDATA[abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~!@#$%^&*()-_+=[]{}|:;\'\"<>,.?/]]></string>
|
||||
<string name="add_frequently_used_apps_by_visiting_profile_frequently_used_apps"><![CDATA[Add frequently used apps by visiting Profile -> Frequently used apps]]></string>
|
||||
|
||||
</resources>
|
||||
Reference in New Issue
Block a user