.
6
.idea/deploymentTargetDropDown.xml
generated
@@ -6,13 +6,13 @@
|
||||
<type value="RUNNING_DEVICE_TARGET" />
|
||||
<deviceKey>
|
||||
<Key>
|
||||
<type value="SERIAL_NUMBER" />
|
||||
<value value="RZCW41EJRPN" />
|
||||
<type value="VIRTUAL_DEVICE_PATH" />
|
||||
<value value="C:\Users\adity\.android\avd\Samsung_Z3_flip_API_34.avd" />
|
||||
</Key>
|
||||
</deviceKey>
|
||||
</Target>
|
||||
</runningDeviceTargetSelectedWithDropDown>
|
||||
<timeTargetWasSelectedWithDropDown value="2023-10-11T15:22:55.720575200Z" />
|
||||
<timeTargetWasSelectedWithDropDown value="2023-10-12T14:59:34.371632800Z" />
|
||||
<runningDeviceTargetsSelectedWithDialog>
|
||||
<Target>
|
||||
<type value="RUNNING_DEVICE_TARGET" />
|
||||
|
||||
1
.idea/misc.xml
generated
@@ -1,4 +1,3 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
|
||||
|
||||
@@ -99,7 +99,8 @@
|
||||
<activity
|
||||
android:name=".caregiverdashboard.activities.CgProfileProgressActivity"
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait" />
|
||||
android:screenOrientation="portrait"/>
|
||||
|
||||
<activity
|
||||
android:name=".cg_geofencing.CgGeoFencingActivity"
|
||||
android:exported="false"
|
||||
@@ -215,6 +216,7 @@
|
||||
</service>
|
||||
|
||||
<receiver android:name=".patientgeofencing.GeoFenceBroadcastReceiver" />
|
||||
<receiver android:name=".patientgeofencing.PatientLocationUpdatesReceiver"/>
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
|
||||
@@ -66,6 +66,8 @@ 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
|
||||
|
||||
@@ -103,6 +103,7 @@ public class ArticlesActivity extends AppCompatActivity
|
||||
}
|
||||
|
||||
binding.searchEt.setText("");
|
||||
AppUtil.closeKeyboard(this);
|
||||
});
|
||||
|
||||
binding.searchEt.setOnEditorActionListener((textView, i, keyEvent) -> {
|
||||
|
||||
@@ -13,6 +13,8 @@ public class GeoFenceDetails implements Serializable {
|
||||
public String created_at;
|
||||
public String updated_at;
|
||||
|
||||
public PatientCurrLocation patient_radius_location;
|
||||
|
||||
public GeoFenceDetails(){}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.app.simplitend.caregiverdashboard.mvvm.models;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class PatientCurrLocation implements Serializable {
|
||||
public int id;
|
||||
public String patient_xid;
|
||||
public String lat;
|
||||
public String lng;
|
||||
public String created_at;
|
||||
public String updated_at;
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.app.simplitend.cg_geofencing;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.PendingIntent;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
@@ -17,18 +18,6 @@ import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
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.CircleOptions;
|
||||
import com.google.android.gms.maps.model.LatLng;
|
||||
import com.google.android.gms.maps.model.MarkerOptions;
|
||||
import com.google.android.libraries.places.api.Places;
|
||||
import com.google.android.libraries.places.api.model.Place;
|
||||
import com.google.android.libraries.places.widget.Autocomplete;
|
||||
import com.google.android.libraries.places.widget.model.AutocompleteActivityMode;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
||||
import com.app.simplitend.R;
|
||||
import com.app.simplitend.apputils.AppUtil;
|
||||
import com.app.simplitend.apputils.CaregiverDataCache;
|
||||
@@ -39,6 +28,19 @@ import com.app.simplitend.databinding.ActivityCgGeofencingBinding;
|
||||
import com.app.simplitend.databinding.GeofenceBottomSheetBinding;
|
||||
import com.app.simplitend.welcome.welcomecg.mvvm.CareGiverData;
|
||||
import com.app.simplitend.welcome.welcomepatient.mvvm.models.PatientData;
|
||||
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.CircleOptions;
|
||||
import com.google.android.gms.maps.model.LatLng;
|
||||
import com.google.android.gms.maps.model.MarkerOptions;
|
||||
import com.google.android.libraries.places.api.Places;
|
||||
import com.google.android.libraries.places.api.model.Place;
|
||||
import com.google.android.libraries.places.widget.Autocomplete;
|
||||
import com.google.android.libraries.places.widget.model.AutocompleteActivityMode;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
@@ -72,7 +74,7 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead
|
||||
|
||||
private GoogleMap mMap;
|
||||
|
||||
private LatLng mLatLng;
|
||||
private LatLng mLatLng, pat_cur_latLng;
|
||||
|
||||
private ActivityResultLauncher<Intent> startAutocompleteMapSearch;
|
||||
|
||||
@@ -90,6 +92,13 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead
|
||||
try {
|
||||
geoFenceDetails = (GeoFenceDetails) intent.getSerializableExtra(GEOFENCE_DETAILS_KEY);
|
||||
if (geoFenceDetails == null) throw new Exception();
|
||||
|
||||
try {
|
||||
pat_cur_latLng = new LatLng(Double.parseDouble(geoFenceDetails.patient_radius_location.lat),
|
||||
Double.parseDouble(geoFenceDetails.patient_radius_location.lng));
|
||||
}catch (Exception e){
|
||||
pat_cur_latLng = null;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Toast.makeText(this, "Couldn't load Geofence.", Toast.LENGTH_SHORT).show();
|
||||
geoFenceDetails = new GeoFenceDetails();
|
||||
@@ -395,9 +404,22 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead
|
||||
|
||||
MarkerOptions markerOptions = new MarkerOptions()
|
||||
.position(latLng)
|
||||
.title(patientData.first_name + "");
|
||||
.draggable(false)
|
||||
.icon(BitmapDescriptorFactory.fromResource(R.drawable.img_home_marker))
|
||||
.title("Home location");
|
||||
|
||||
mMap.addMarker(markerOptions);
|
||||
|
||||
if (pat_cur_latLng != null){
|
||||
MarkerOptions pat_cur_marker = new MarkerOptions()
|
||||
.position(pat_cur_latLng)
|
||||
.draggable(false)
|
||||
.icon(BitmapDescriptorFactory.fromResource(R.drawable.img_pat_curr_location))
|
||||
.title(patientData.first_name + "");
|
||||
|
||||
mMap.addMarker(pat_cur_marker);
|
||||
}
|
||||
|
||||
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 13));
|
||||
}
|
||||
|
||||
|
||||
@@ -132,6 +132,10 @@ public class CgSubscriptionActivity extends AppCompatActivity
|
||||
}), true);
|
||||
});
|
||||
|
||||
binding.backBtn.setOnClickListener(view -> {
|
||||
onBackPressed();
|
||||
});
|
||||
|
||||
binding.contactAdmin.setOnClickListener(view -> {
|
||||
contactMail();
|
||||
});
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.app.simplitend.patient_dashboard;
|
||||
|
||||
import static com.app.simplitend.patientgeofencing.GeoFenceHelper.GEOFENCE_TAG;
|
||||
import static com.app.simplitend.patientgeofencing.PatientLocationUpdatesReceiver.LOCATION_REQUEST_TAG;
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.role.RoleManager;
|
||||
@@ -13,6 +14,7 @@ import android.util.Log;
|
||||
import androidx.activity.result.contract.ActivityResultContracts;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
import com.app.simplitend.R;
|
||||
@@ -25,6 +27,7 @@ public class DashBoardActivity extends AppCompatActivity implements CgHomeContra
|
||||
|
||||
protected PatientMainViewModel viewModel;
|
||||
public static final int LOCATION_REQUEST_CODE = 1001;
|
||||
public static final int LOCATION_REQUEST_CODE_2 = 2002;
|
||||
|
||||
private GeoFenceDetails geoFenceDetails;
|
||||
|
||||
@@ -43,13 +46,13 @@ public class DashBoardActivity extends AppCompatActivity implements CgHomeContra
|
||||
"", "Bearer " + AppUtil.getPatientToken(this),
|
||||
this);
|
||||
|
||||
if (result){
|
||||
if (result) {
|
||||
// permission granted
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) {
|
||||
RoleManager roleManager = getSystemService(RoleManager.class);
|
||||
Intent i = roleManager.createRequestRoleIntent(RoleManager.ROLE_CALL_SCREENING);
|
||||
startActivityForResult(i, 1214, null);
|
||||
}else{
|
||||
} else {
|
||||
Intent intent = new Intent(TelecomManager.ACTION_CHANGE_DEFAULT_DIALER);
|
||||
intent.putExtra(TelecomManager.EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME, getPackageName());
|
||||
startActivity(intent);
|
||||
@@ -59,20 +62,30 @@ public class DashBoardActivity extends AppCompatActivity implements CgHomeContra
|
||||
}
|
||||
|
||||
private void validateAndAddGeofence(GeoFenceDetails geoFenceDetails) {
|
||||
if (geoFenceDetails.radius != null && geoFenceDetails.type != null){
|
||||
if (geoFenceDetails.radius != null && geoFenceDetails.type != null) {
|
||||
PatientDataCache.getPatientData(this, (patientData -> {
|
||||
if (patientData != null){
|
||||
if (patientData != null) {
|
||||
if (AppUtil.shouldAddPatientGeofence(this,
|
||||
geoFenceDetails.radius, geoFenceDetails.type, patientData)){
|
||||
geoFenceDetails.radius, geoFenceDetails.type, patientData)) {
|
||||
// should add a geofence
|
||||
viewModel.setGeofence(this, geoFenceDetails, patientData);
|
||||
}else{
|
||||
} else {
|
||||
Log.d(GEOFENCE_TAG, "onGeofenceDetailsFetched: should not add patient geofence because GEOFENCE DETAILS: " + geoFenceDetails + " PATIENT DETAILS: " + patientData);
|
||||
}
|
||||
}
|
||||
}), false);
|
||||
}
|
||||
|
||||
if (geoFenceDetails.patient_radius_location != null) {
|
||||
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
|
||||
Log.d(LOCATION_REQUEST_TAG, "addLocationUpdates: REQUESTING FINE LOCATION PERMISSION");
|
||||
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, LOCATION_REQUEST_CODE_2);
|
||||
return;
|
||||
}
|
||||
|
||||
viewModel.addLocationUpdates(this);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -91,13 +104,23 @@ public class DashBoardActivity extends AppCompatActivity implements CgHomeContra
|
||||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||
if (requestCode == LOCATION_REQUEST_CODE){
|
||||
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
|
||||
if (requestCode == LOCATION_REQUEST_CODE) {
|
||||
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||
Log.d(GEOFENCE_TAG, "onRequestPermissionsResult: PERMISSION GRANTED");
|
||||
if (geoFenceDetails != null){
|
||||
if (geoFenceDetails != null) {
|
||||
validateAndAddGeofence(geoFenceDetails);
|
||||
}
|
||||
}
|
||||
} else if (requestCode == LOCATION_REQUEST_CODE_2) {
|
||||
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||
Log.d(LOCATION_REQUEST_TAG, "onRequestPermissionsResult: PERMISSION GRANTED");
|
||||
|
||||
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
|
||||
return;
|
||||
}
|
||||
|
||||
viewModel.addLocationUpdates(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,11 +3,12 @@ package com.app.simplitend.patient_dashboard;
|
||||
import static com.app.simplitend.patient_dashboard.DashBoardActivity.LOCATION_REQUEST_CODE;
|
||||
import static com.app.simplitend.patientgeofencing.GeoFenceHelper.GEOFENCE_ID;
|
||||
import static com.app.simplitend.patientgeofencing.GeoFenceHelper.GEOFENCE_TAG;
|
||||
import static com.app.simplitend.patientgeofencing.PatientLocationUpdatesReceiver.LOCATION_REQUEST_TAG;
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.Activity;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
@@ -29,15 +30,19 @@ import com.app.simplitend.caregiverdashboard.mvvm.CgHomeRepository;
|
||||
import com.app.simplitend.caregiverdashboard.mvvm.NotificationApiService;
|
||||
import com.app.simplitend.caregiverdashboard.mvvm.models.GeoFenceDetails;
|
||||
import com.app.simplitend.patientgeofencing.GeoFenceHelper;
|
||||
import com.app.simplitend.patientgeofencing.PatientLocationUpdatesReceiver;
|
||||
import com.app.simplitend.patientprofile.PatientProfileAPIService;
|
||||
import com.app.simplitend.patientprofile.medreminder.mvvm.models.NearestActivity;
|
||||
import com.app.simplitend.patientprofile.medreminder.mvvm.models.NearestReminder;
|
||||
import com.app.simplitend.patientprofile.medreminder.mvvm.models.ReminderResult;
|
||||
import com.app.simplitend.patientprofile.setuproutine.mvvm.RoutineDetails;
|
||||
import com.app.simplitend.welcome.welcomepatient.mvvm.models.CallResponse;
|
||||
import com.app.simplitend.welcome.welcomepatient.mvvm.models.PatientData;
|
||||
import com.google.android.gms.location.FusedLocationProviderClient;
|
||||
import com.google.android.gms.location.Geofence;
|
||||
import com.google.android.gms.location.GeofencingClient;
|
||||
import com.google.android.gms.location.GeofencingRequest;
|
||||
import com.google.android.gms.location.LocationRequest;
|
||||
import com.google.android.gms.location.LocationServices;
|
||||
import com.google.android.gms.maps.model.LatLng;
|
||||
|
||||
@@ -94,6 +99,35 @@ public class PatientMainViewModel extends ViewModel {
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresPermission(Manifest.permission.ACCESS_FINE_LOCATION)
|
||||
public void addLocationUpdates(Activity activity) {
|
||||
Log.d(LOCATION_REQUEST_TAG, "REQUESTING LOCATION UPDATES");
|
||||
FusedLocationProviderClient fusedLocationClient = LocationServices.getFusedLocationProviderClient(activity);
|
||||
|
||||
LocationRequest locationRequest = new LocationRequest();
|
||||
locationRequest.setInterval(10_000);
|
||||
locationRequest.setSmallestDisplacement(100);
|
||||
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
|
||||
|
||||
Intent intent = new Intent(activity, PatientLocationUpdatesReceiver.class);
|
||||
PendingIntent pendingIntent ;
|
||||
|
||||
if(Build.VERSION.SDK_INT > 30){
|
||||
pendingIntent = PendingIntent.getBroadcast(activity, LOCATION_REQUEST_CODE, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE);
|
||||
} else{
|
||||
pendingIntent = PendingIntent.getBroadcast(activity, LOCATION_REQUEST_CODE, intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
}
|
||||
|
||||
fusedLocationClient.requestLocationUpdates(locationRequest, pendingIntent)
|
||||
.addOnCompleteListener(task -> {
|
||||
if (task.isSuccessful() && task.getException() == null){
|
||||
Log.d(LOCATION_REQUEST_TAG, "LOCATION UPDATES ADDED");
|
||||
}else{
|
||||
Log.d(LOCATION_REQUEST_TAG, "CANNOT ADD LOCATION UPDATES " + task.getException());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void getGeoFenceDetails(String p_id,
|
||||
String cg_xid,
|
||||
@NonNull String token,
|
||||
@@ -405,7 +439,28 @@ public class PatientMainViewModel extends ViewModel {
|
||||
}
|
||||
}
|
||||
|
||||
public void contactWhiteList(Context context) {
|
||||
public void updatePatientCurrentLocation(@NonNull LatLng latLng,
|
||||
@NonNull String patient_id,
|
||||
@NonNull String token){
|
||||
PatientProfileAPIService apiService = RetrofitHelper.getRetrofit().create(PatientProfileAPIService.class);
|
||||
|
||||
Map<String, String> body = new HashMap<>();
|
||||
body.put("patient_id", patient_id);
|
||||
body.put("lat", latLng.latitude + "");
|
||||
body.put("lng", latLng.longitude + "");
|
||||
|
||||
apiService.updatePatientCurrLocation(body, token)
|
||||
.enqueue(new Callback<CallResponse<Object>>() {
|
||||
@Override
|
||||
public void onResponse(Call<CallResponse<Object>> call, Response<CallResponse<Object>> response) {
|
||||
Log.d(TAG, "PATIENT CURRENT LOCATION UPDATED");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<CallResponse<Object>> call, Throwable t) {
|
||||
Log.e(TAG, "onFailure: PATIENT CURRENT LOCATION UPDATE", t);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,15 +98,37 @@ public class ChatFragment extends Fragment implements SocketHelper.Callback<Mess
|
||||
return;
|
||||
}
|
||||
|
||||
SocketHelper.getInstance().sendMessage(binding.messageEt.getText().toString().trim(), nick_name, patient_id);
|
||||
binding.messageEt.setText("");
|
||||
enableDenButton(false);
|
||||
if (SocketHelper.getInstance().isConnected()) {
|
||||
SocketHelper.getInstance().sendMessage(binding.messageEt.getText().toString().trim(), nick_name, patient_id);
|
||||
binding.messageEt.setText("");
|
||||
enableDenButton(false);
|
||||
} else {
|
||||
Toast.makeText(requireContext(), "Check internet connection", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private void initViews() {
|
||||
|
||||
try {
|
||||
try {
|
||||
int res = Integer.parseInt(receiver_image);
|
||||
binding.receiverImage.setImageResource(res);
|
||||
}catch (Exception e){
|
||||
if (receiver_image != null){
|
||||
Glide.with(requireContext())
|
||||
.load(receiver_image)
|
||||
.placeholder(android.R.color.darker_gray)
|
||||
.error(R.drawable.ic_contact)
|
||||
.into(binding.receiverImage);
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
// do nothing
|
||||
binding.receiverImage.setImageResource(R.drawable.ic_contact);
|
||||
}
|
||||
|
||||
binding.chatTitle.setText(receiver_name);
|
||||
|
||||
MessagesListAdapter.HoldersConfig holdersConfig = new MessagesListAdapter.HoldersConfig();
|
||||
@@ -152,6 +174,7 @@ public class ChatFragment extends Fragment implements SocketHelper.Callback<Mess
|
||||
if (messageAdapter == null) return;
|
||||
|
||||
messageAdapter.addToStart(message, true);
|
||||
binding.noChats.setVisibility(View.GONE);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ public class ReceiverViewHolder extends MessagesListAdapter.OutcomingMessageView
|
||||
super.onBind(message);
|
||||
message_txt.setText(message.getText());
|
||||
message_txt.setTextColor(Color.BLACK);
|
||||
|
||||
try {
|
||||
try {
|
||||
int res = Integer.parseInt(message.getUser().getAvatar());
|
||||
|
||||
@@ -68,6 +68,10 @@ public class SocketHelper {
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isConnected(){
|
||||
return mSocket.connected();
|
||||
}
|
||||
|
||||
public void closeConnection() {
|
||||
if (mSocket.connected()) {
|
||||
mSocket.disconnect();
|
||||
|
||||
@@ -10,14 +10,11 @@ import static com.app.simplitend.patient_dashboard.NotificationsActivity.USER_TO
|
||||
import static com.app.simplitend.patient_dashboard.fragments.CallsActivity.CALL_CONTACT_LIST_KEY;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.role.RoleManager;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.telecom.TelecomManager;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -32,7 +29,6 @@ import androidx.navigation.Navigation;
|
||||
import com.app.simplitend.R;
|
||||
import com.app.simplitend.appblocking.FUAActivity;
|
||||
import com.app.simplitend.apputils.AppUtil;
|
||||
import com.app.simplitend.apputils.CaregiverDataCache;
|
||||
import com.app.simplitend.apputils.Constants;
|
||||
import com.app.simplitend.apputils.PatientDataCache;
|
||||
import com.app.simplitend.caregiverdashboard.mvvm.CaregiverMainViewModel;
|
||||
@@ -210,6 +206,8 @@ public class PatientDashboardFragment extends Fragment implements ProfileContrac
|
||||
sender_image = AppUtil.IMAGE_BASE_URL + patientData.profile_photo;
|
||||
}
|
||||
|
||||
patientData.caregiver_profile_photo = null;
|
||||
|
||||
String receiver_image;
|
||||
if (patientData.caregiver_profile_photo == null){
|
||||
receiver_image = String.valueOf(R.drawable.caregiver_img);
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.app.simplitend.patientgeofencing;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.location.Location;
|
||||
import android.location.LocationManager;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
|
||||
import com.google.maps.model.LatLng;
|
||||
|
||||
public class PatientLocationUpdatesReceiver extends BroadcastReceiver {
|
||||
|
||||
public static final String LOCATION_REQUEST_TAG = "LOCATION_REQUEST_TAG";
|
||||
private static final String LOCATION_EXTRA_KEY = "com.google.android.location.LOCATION";
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
Log.d(LOCATION_REQUEST_TAG, "LOCATION UPDATE RECEIVED");
|
||||
Location location = intent.getParcelableExtra(LOCATION_EXTRA_KEY);
|
||||
if (location != null) {
|
||||
Log.d(LOCATION_REQUEST_TAG, new LatLng(location.getLatitude(), location.getLongitude()).toString());
|
||||
}else{
|
||||
Log.e(LOCATION_REQUEST_TAG, "LOCATION RECEIVED IS NULL");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -75,4 +75,7 @@ public interface PatientProfileAPIService {
|
||||
@Header("patientRoutineId") int patient_routine_id,
|
||||
@Header("Authorization") String token);
|
||||
|
||||
@POST("api/patient-current-location-update")
|
||||
Call<CallResponse<Object>> updatePatientCurrLocation(@Body Map<String, String> body,
|
||||
@Header("Authorization") String token);
|
||||
}
|
||||
|
||||
@@ -122,6 +122,10 @@ public class AddReminderFragment extends Fragment implements CompoundButton.OnCh
|
||||
getDate();
|
||||
});
|
||||
|
||||
binding.removeDateBtn.setOnClickListener(v -> {
|
||||
binding.getDate.setText(null);
|
||||
});
|
||||
|
||||
binding.addReminder.setOnClickListener(v -> {
|
||||
AppUtil.closeKeyboard(requireActivity());
|
||||
|
||||
@@ -356,10 +360,10 @@ public class AddReminderFragment extends Fragment implements CompoundButton.OnCh
|
||||
binding.quantity.setError("Required");
|
||||
}
|
||||
|
||||
if (binding.getDate.getText().toString().trim().isEmpty()) {
|
||||
allOkay = false;
|
||||
binding.getDate.setError("Required");
|
||||
}
|
||||
// if (binding.getDate.getText().toString().trim().isEmpty()) {
|
||||
// allOkay = false;
|
||||
// binding.getDate.setError("Required");
|
||||
// }
|
||||
|
||||
if (allOkay) {
|
||||
boolean anyOneSelected = false;
|
||||
|
||||
@@ -258,11 +258,6 @@ public class AddRoutineFragment extends Fragment implements CompoundButton.OnChe
|
||||
binding.routineName.setError("Required");
|
||||
}
|
||||
|
||||
if (binding.routineDescription.getText().toString().trim().isEmpty()){
|
||||
allOkay = false;
|
||||
binding.routineDescription.setError("Required");
|
||||
}
|
||||
|
||||
if (binding.startTime.getText().toString().trim().isEmpty()){
|
||||
allOkay = false;
|
||||
binding.startTime.setError("Required");
|
||||
|
||||
@@ -110,20 +110,7 @@ public class CgAuthActivity extends AppCompatActivity {
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable editable) {
|
||||
if (editable.length() == 4) {
|
||||
AppUtil.closeKeyboard(CgAuthActivity.this);
|
||||
|
||||
if (editable.toString().equals("0000")) {
|
||||
gotoCgDash();
|
||||
} else {
|
||||
YoYo.with(Techniques.Wobble)
|
||||
.playOn(binding.pin);
|
||||
|
||||
binding.pin.setError("Invalid pin.");
|
||||
binding.pin.setText(null);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -184,7 +171,6 @@ public class CgAuthActivity extends AppCompatActivity {
|
||||
break;
|
||||
case BiometricManager.BIOMETRIC_SUCCESS:
|
||||
case BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED:
|
||||
binding.fingerprintOr.setVisibility(View.VISIBLE);
|
||||
binding.fingerprintView.setVisibility(View.VISIBLE);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -157,6 +157,7 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
|
||||
getString(R.string.yes), getString(R.string.no),
|
||||
v -> {
|
||||
}, v -> {
|
||||
binding.sosCheck.setChecked(true);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 109 KiB |
5
app/src/main/res/drawable/ic_fingerprint.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<vector android:height="24dp" android:tint="#000000"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="@android:color/white" android:pathData="M17.81,4.47c-0.08,0 -0.16,-0.02 -0.23,-0.06C15.66,3.42 14,3 12.01,3c-1.98,0 -3.86,0.47 -5.57,1.41 -0.24,0.13 -0.54,0.04 -0.68,-0.2 -0.13,-0.24 -0.04,-0.55 0.2,-0.68C7.82,2.52 9.86,2 12.01,2c2.13,0 3.99,0.47 6.03,1.52 0.25,0.13 0.34,0.43 0.21,0.67 -0.09,0.18 -0.26,0.28 -0.44,0.28zM3.5,9.72c-0.1,0 -0.2,-0.03 -0.29,-0.09 -0.23,-0.16 -0.28,-0.47 -0.12,-0.7 0.99,-1.4 2.25,-2.5 3.75,-3.27C9.98,4.04 14,4.03 17.15,5.65c1.5,0.77 2.76,1.86 3.75,3.25 0.16,0.22 0.11,0.54 -0.12,0.7 -0.23,0.16 -0.54,0.11 -0.7,-0.12 -0.9,-1.26 -2.04,-2.25 -3.39,-2.94 -2.87,-1.47 -6.54,-1.47 -9.4,0.01 -1.36,0.7 -2.5,1.7 -3.4,2.96 -0.08,0.14 -0.23,0.21 -0.39,0.21zM9.75,21.79c-0.13,0 -0.26,-0.05 -0.35,-0.15 -0.87,-0.87 -1.34,-1.43 -2.01,-2.64 -0.69,-1.23 -1.05,-2.73 -1.05,-4.34 0,-2.97 2.54,-5.39 5.66,-5.39s5.66,2.42 5.66,5.39c0,0.28 -0.22,0.5 -0.5,0.5s-0.5,-0.22 -0.5,-0.5c0,-2.42 -2.09,-4.39 -4.66,-4.39 -2.57,0 -4.66,1.97 -4.66,4.39 0,1.44 0.32,2.77 0.93,3.85 0.64,1.15 1.08,1.64 1.85,2.42 0.19,0.2 0.19,0.51 0,0.71 -0.11,0.1 -0.24,0.15 -0.37,0.15zM16.92,19.94c-1.19,0 -2.24,-0.3 -3.1,-0.89 -1.49,-1.01 -2.38,-2.65 -2.38,-4.39 0,-0.28 0.22,-0.5 0.5,-0.5s0.5,0.22 0.5,0.5c0,1.41 0.72,2.74 1.94,3.56 0.71,0.48 1.54,0.71 2.54,0.71 0.24,0 0.64,-0.03 1.04,-0.1 0.27,-0.05 0.53,0.13 0.58,0.41 0.05,0.27 -0.13,0.53 -0.41,0.58 -0.57,0.11 -1.07,0.12 -1.21,0.12zM14.91,22c-0.04,0 -0.09,-0.01 -0.13,-0.02 -1.59,-0.44 -2.63,-1.03 -3.72,-2.1 -1.4,-1.39 -2.17,-3.24 -2.17,-5.22 0,-1.62 1.38,-2.94 3.08,-2.94 1.7,0 3.08,1.32 3.08,2.94 0,1.07 0.93,1.94 2.08,1.94s2.08,-0.87 2.08,-1.94c0,-3.77 -3.25,-6.83 -7.25,-6.83 -2.84,0 -5.44,1.58 -6.61,4.03 -0.39,0.81 -0.59,1.76 -0.59,2.8 0,0.78 0.07,2.01 0.67,3.61 0.1,0.26 -0.03,0.55 -0.29,0.64 -0.26,0.1 -0.55,-0.04 -0.64,-0.29 -0.49,-1.31 -0.73,-2.61 -0.73,-3.96 0,-1.2 0.23,-2.29 0.68,-3.24 1.33,-2.79 4.28,-4.6 7.51,-4.6 4.55,0 8.25,3.51 8.25,7.83 0,1.62 -1.38,2.94 -3.08,2.94s-3.08,-1.32 -3.08,-2.94c0,-1.07 -0.93,-1.94 -2.08,-1.94s-2.08,0.87 -2.08,1.94c0,1.71 0.66,3.31 1.87,4.51 0.95,0.94 1.86,1.46 3.27,1.85 0.27,0.07 0.42,0.35 0.35,0.61 -0.05,0.23 -0.26,0.38 -0.47,0.38z"/>
|
||||
</vector>
|
||||
BIN
app/src/main/res/drawable/ic_no_articles.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
app/src/main/res/drawable/ic_no_chats.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
app/src/main/res/drawable/ic_no_faqs.png
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
BIN
app/src/main/res/drawable/img_home_marker.png
Normal file
|
After Width: | Height: | Size: 595 B |
BIN
app/src/main/res/drawable/img_lock.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
app/src/main/res/drawable/img_pat_curr_location.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
@@ -110,13 +110,19 @@
|
||||
<LinearLayout
|
||||
android:id="@+id/no_articles"
|
||||
android:visibility="gone"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="50dp"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/_60sdp"
|
||||
android:layout_height="@dimen/_60sdp"
|
||||
android:src="@drawable/ic_no_articles"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -125,6 +131,8 @@
|
||||
android:fontFamily="@font/nunito_medium"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/_14ssp"
|
||||
|
||||
android:layout_marginTop="5dp"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@@ -42,13 +42,19 @@
|
||||
<LinearLayout
|
||||
android:id="@+id/no_faqs"
|
||||
android:visibility="gone"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="50dp"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/_60sdp"
|
||||
android:layout_height="@dimen/_60sdp"
|
||||
android:src="@drawable/ic_no_faqs"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -706,29 +706,47 @@
|
||||
android:layout_marginTop="15dp"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/get_date"
|
||||
android:layout_width="match_parent"
|
||||
<RelativeLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:gravity="center_vertical"
|
||||
|
||||
android:background="@drawable/edit_text_bg_2"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginVertical="10dp"
|
||||
>
|
||||
|
||||
android:hint="@string/enter_refill_date"
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
android:textColor="@color/black"
|
||||
android:textColorHint="@android:color/darker_gray"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
<TextView
|
||||
android:id="@+id/get_date"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:paddingVertical="15dp"
|
||||
android:padding="10dp"
|
||||
android:gravity="center_vertical"
|
||||
|
||||
android:drawablePadding="10dp"
|
||||
android:background="@drawable/edit_text_bg_2"
|
||||
|
||||
app:drawableStartCompat="@drawable/ic_calender_2" />
|
||||
android:hint="@string/enter_refill_date"
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
android:textColor="@color/black"
|
||||
android:textColorHint="@android:color/darker_gray"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
|
||||
android:paddingVertical="15dp"
|
||||
android:padding="10dp"
|
||||
|
||||
android:drawablePadding="10dp"
|
||||
|
||||
app:drawableStartCompat="@drawable/ic_calender_2" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/remove_date_btn"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_close_outline"
|
||||
android:contentDescription="@string/close"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginEnd="15dp"
|
||||
app:tint="@android:color/darker_gray" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
|
||||
@@ -77,16 +77,36 @@
|
||||
|
||||
/>
|
||||
|
||||
<TextView
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="start"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:fontFamily="@font/nunito_medium"
|
||||
android:text="@string/routine_description"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
android:textColor="@color/black" />
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/nunito_medium"
|
||||
android:text="@string/routine_description"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
android:textColor="@color/black" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:text="@string/optional"
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
android:textColor="@android:color/darker_gray"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleSmall"
|
||||
|
||||
android:layout_marginStart="5dp"
|
||||
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/routine_description"
|
||||
|
||||
@@ -49,24 +49,27 @@
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title_txt"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:text="@string/to_enhance_the_security_of_your_account_please_add_biometric_authentication_using_either_face_id_or_fingerprint"
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/_16ssp"
|
||||
|
||||
android:layout_below="@id/security_title"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
|
||||
android:layout_margin="15dp"
|
||||
android:layout_marginBottom="15dp"
|
||||
|
||||
/>
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
android:text="@string/to_enhance_the_security_of_your_account_please_add_biometric_authentication_using_either_face_id_or_fingerprint"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/_16ssp" />
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/set_up_fingerprint"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
|
||||
@@ -90,7 +93,7 @@
|
||||
android:layout_width="@dimen/_60sdp"
|
||||
android:layout_height="@dimen/_60sdp"
|
||||
|
||||
app:srcCompat="@drawable/ic_fingerprint"
|
||||
app:srcCompat="@drawable/img_fingerprint"
|
||||
android:contentDescription="@string/unlock_with_fingerprint"
|
||||
/>
|
||||
|
||||
@@ -111,6 +114,71 @@
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<!-- <TextView-->
|
||||
<!-- android:id="@+id/set_up_or"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
|
||||
<!-- android:layout_below="@id/set_up_fingerprint"-->
|
||||
<!-- android:layout_centerHorizontal="true"-->
|
||||
|
||||
<!-- android:text="@string/or"-->
|
||||
<!-- android:fontFamily="@font/nunito_semibold"-->
|
||||
<!-- android:textColor="@color/black"-->
|
||||
<!-- android:textSize="@dimen/_18ssp"-->
|
||||
|
||||
<!-- android:layout_marginVertical="@dimen/_15sdp"-->
|
||||
|
||||
<!-- />-->
|
||||
|
||||
<!-- <com.google.android.material.card.MaterialCardView-->
|
||||
<!-- android:id="@+id/set_up_pin"-->
|
||||
<!-- android:layout_width="match_parent"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:layout_below="@id/set_up_or"-->
|
||||
<!-- android:layout_marginHorizontal="15dp"-->
|
||||
|
||||
<!-- app:cardElevation="5dp"-->
|
||||
<!-- app:strokeWidth="1dp"-->
|
||||
<!-- app:strokeColor="@color/color_accent"-->
|
||||
|
||||
<!-- app:cardCornerRadius="15dp"-->
|
||||
|
||||
<!-- >-->
|
||||
|
||||
<!-- <LinearLayout-->
|
||||
<!-- android:layout_width="match_parent"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:orientation="horizontal"-->
|
||||
<!-- android:padding="15dp"-->
|
||||
<!-- android:gravity="center_vertical"-->
|
||||
<!-- >-->
|
||||
|
||||
<!-- <ImageView-->
|
||||
<!-- android:layout_width="@dimen/_60sdp"-->
|
||||
<!-- android:layout_height="@dimen/_60sdp"-->
|
||||
|
||||
<!-- app:srcCompat="@drawable/img_lock"-->
|
||||
<!-- android:contentDescription="@string/unlock_with_fingerprint"-->
|
||||
<!-- />-->
|
||||
|
||||
<!-- <TextView-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
|
||||
<!-- android:text="@string/setup_a_4_digit_pin"-->
|
||||
<!-- android:fontFamily="@font/nunito_regular"-->
|
||||
<!-- android:textColor="@color/black"-->
|
||||
<!-- android:textSize="@dimen/_16ssp"-->
|
||||
|
||||
<!-- android:layout_marginHorizontal="20dp"-->
|
||||
|
||||
<!-- />-->
|
||||
|
||||
<!-- </LinearLayout>-->
|
||||
|
||||
<!-- </com.google.android.material.card.MaterialCardView>-->
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<ScrollView
|
||||
@@ -118,7 +186,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:overScrollMode="never"
|
||||
android:visibility="gone"
|
||||
android:visibility="visible"
|
||||
android:background="@color/white_bg">
|
||||
|
||||
<LinearLayout
|
||||
@@ -156,6 +224,7 @@
|
||||
|
||||
<EditText
|
||||
android:id="@+id/pin"
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -201,6 +270,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:layout_marginTop="50dp"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
|
||||
android:background="@drawable/edit_text_bg_3"
|
||||
@@ -216,7 +286,7 @@
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginVertical="15dp"
|
||||
|
||||
android:src="@drawable/ic_info"
|
||||
android:src="@drawable/ic_fingerprint"
|
||||
|
||||
/>
|
||||
|
||||
|
||||
@@ -7,6 +7,18 @@
|
||||
android:background="@color/white"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/back_btn"
|
||||
android:layout_width="35sp"
|
||||
android:layout_height="35sp"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:contentDescription="@string/back_button"
|
||||
android:padding="5dp"
|
||||
android:paddingStart="-15dp"
|
||||
android:paddingEnd="0dp"
|
||||
android:src="@drawable/arrow_back" />
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -16,27 +16,75 @@
|
||||
android:src="@drawable/arrow_back"
|
||||
android:layout_margin="15dp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/chat_title"
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:text="Akanksha surve"
|
||||
android:fontFamily="@font/nunito_medium"
|
||||
android:textSize="@dimen/_18ssp"
|
||||
android:textColor="@color/black"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
<de.hdodenhof.circleimageview.CircleImageView
|
||||
android:id="@+id/receiver_image"
|
||||
android:layout_width="@dimen/_30sdp"
|
||||
android:layout_height="@dimen/_30sdp"
|
||||
tools:src="@drawable/static_3"
|
||||
/>
|
||||
|
||||
android:maxEms="8"
|
||||
<TextView
|
||||
android:id="@+id/chat_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
/>
|
||||
tools:text="Akanksha surve"
|
||||
android:fontFamily="@font/nunito_medium"
|
||||
android:textSize="@dimen/_18ssp"
|
||||
android:textColor="@color/black"
|
||||
|
||||
android:layout_marginStart="15dp"
|
||||
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
|
||||
android:maxEms="8"
|
||||
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/no_chats"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@id/message_et"
|
||||
android:visibility="visible"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/_60sdp"
|
||||
android:layout_height="@dimen/_60sdp"
|
||||
android:src="@drawable/ic_no_chats"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:textAlignment="center"
|
||||
|
||||
android:text="@string/no_chats_found_start_chatting"
|
||||
android:fontFamily="@font/nunito_medium"
|
||||
android:textColor="@color/black"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<com.stfalcon.chatkit.messages.MessagesList
|
||||
android:id="@+id/messageList"
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -305,8 +305,8 @@
|
||||
<string name="retry"><u>Retry</u></string>
|
||||
<string name="a_temporary_pin_will_be_sent_to_the_registered_email_address">A temporary pin will be sent to the registered email address.</string>
|
||||
<string name="security">Security</string>
|
||||
<string name="to_enhance_the_security_of_your_account_please_add_biometric_authentication_using_either_face_id_or_fingerprint">To enhance the security of your account, please add biometric authentication using either Face ID or Fingerprint.</string>
|
||||
<string name="setup_with_fingerprint_or_faceid">Setup security</string>
|
||||
<string name="to_enhance_the_security_of_your_account_please_add_biometric_authentication_using_either_face_id_or_fingerprint">You can improve the privacy of this application by enabling a secondary security setting. Once enabled, secondary security must be entered each time the application is launched.</string>
|
||||
<string name="setup_with_fingerprint_or_faceid">Use phone biometrics</string>
|
||||
<string name="no_new_gadgets_monitor_your_loved_one_s_activity_using_his_or_her_smartphone">No new gadgets! monitor your loved one\'s activity using his or her smartphone</string>
|
||||
<string name="default_price">595</string>
|
||||
<string name="we_understand_your_privacy">We understand your privacy.</string>
|
||||
@@ -443,5 +443,7 @@
|
||||
<string name="testing_view">Testing View</string>
|
||||
<string name="this_app_is_blocked_by_simplitend">This app is blocked by SimpliTend</string>
|
||||
<string name="open_simplitend">open simplitend</string>
|
||||
<string name="no_chats_found_start_chatting">No chats found. Start chatting!</string>
|
||||
<string name="setup_a_4_digit_pin">Setup a 4-digit pin</string>
|
||||
|
||||
</resources>
|
||||