.
This commit is contained in:
@@ -32,9 +32,13 @@
|
||||
android:theme="@style/Theme.SimpliTend"
|
||||
tools:targetApi="31">
|
||||
<activity
|
||||
android:name=".patient_dashboard.PatSettingsActivity"
|
||||
android:name=".patient_dashboard.NotificationsActivity"
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait"/>
|
||||
<activity
|
||||
android:name=".patient_dashboard.PatSettingsActivity"
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".patient_dashboard.fragments.CallsActivity"
|
||||
android:exported="false"
|
||||
@@ -142,7 +146,6 @@
|
||||
android:name=".cg_subscription.CgSubscriptionActivity"
|
||||
android:exported="true"
|
||||
android:screenOrientation="portrait">
|
||||
|
||||
<meta-data
|
||||
android:name="android.app.lib_name"
|
||||
android:value="" />
|
||||
|
||||
@@ -4,6 +4,8 @@ import static com.app.simplitend.apputils.NotificationService.CONTENT_TYPE_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.cg_geofencing.CgGeoFencingActivity.GEOFENCE_DETAILS_KEY;
|
||||
import static com.app.simplitend.patient_dashboard.NotificationsActivity.USER_ID;
|
||||
import static com.app.simplitend.patient_dashboard.NotificationsActivity.USER_TOKEN;
|
||||
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.BroadcastReceiver;
|
||||
@@ -22,13 +24,6 @@ import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
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.LatLng;
|
||||
import com.google.android.gms.maps.model.MarkerOptions;
|
||||
import com.app.simplitend.R;
|
||||
import com.app.simplitend.apputils.AppUtil;
|
||||
import com.app.simplitend.apputils.CaregiverDataCache;
|
||||
@@ -42,6 +37,7 @@ import com.app.simplitend.caregiverdashboard.mvvm.CgHomeContracts;
|
||||
import com.app.simplitend.caregiverdashboard.mvvm.models.GeoFenceDetails;
|
||||
import com.app.simplitend.cg_geofencing.CgGeoFencingActivity;
|
||||
import com.app.simplitend.databinding.CaregiverDashFragmentBinding;
|
||||
import com.app.simplitend.patient_dashboard.NotificationsActivity;
|
||||
import com.app.simplitend.patientprofile.ProfileContracts;
|
||||
import com.app.simplitend.patientprofile.medreminder.mvvm.ReminderViewModel;
|
||||
import com.app.simplitend.patientprofile.medreminder.mvvm.models.NearestActivity;
|
||||
@@ -51,6 +47,13 @@ import com.app.simplitend.patientprofile.setuproutine.mvvm.RoutineDetails;
|
||||
import com.app.simplitend.patientprofile.setuproutine.mvvm.RoutineViewModel;
|
||||
import com.app.simplitend.welcome.welcomecg.mvvm.CareGiverData;
|
||||
import com.app.simplitend.welcome.welcomepatient.mvvm.models.PatientData;
|
||||
import com.bumptech.glide.Glide;
|
||||
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.LatLng;
|
||||
import com.google.android.gms.maps.model.MarkerOptions;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
@@ -226,6 +229,17 @@ public class CgDashBoardFragment extends Fragment implements
|
||||
loadReminders();
|
||||
loadActivities();
|
||||
});
|
||||
|
||||
binding.notifications.setOnClickListener(view -> {
|
||||
CaregiverDataCache.getCaregiverData(requireActivity(), (careGiverData1 -> {
|
||||
this.careGiverData = careGiverData1;
|
||||
|
||||
Intent intent = new Intent(requireActivity(), NotificationsActivity.class);
|
||||
intent.putExtra(USER_ID, careGiverData.caregiver_xid + "");
|
||||
intent.putExtra(USER_TOKEN, AppUtil.getCgToken(requireContext()));
|
||||
startActivity(intent);
|
||||
}), true);
|
||||
});
|
||||
}
|
||||
|
||||
public void setArticleDetails(ArticleResult articleResult){
|
||||
|
||||
@@ -0,0 +1,167 @@
|
||||
package com.app.simplitend.patient_dashboard;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.recyclerview.widget.DiffUtil;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.ListAdapter;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.app.simplitend.R;
|
||||
import com.app.simplitend.apputils.RetrofitHelper;
|
||||
import com.app.simplitend.databinding.ActivityNotificationsBinding;
|
||||
import com.app.simplitend.databinding.NotificationViewholderBinding;
|
||||
import com.app.simplitend.welcome.welcomepatient.mvvm.models.CallResponse;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
import retrofit2.Response;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Header;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public class NotificationsActivity extends AppCompatActivity implements Callback<CallResponse<ArrayList<NotificationsActivity.Notification>>> {
|
||||
|
||||
private ActivityNotificationsBinding binding;
|
||||
|
||||
protected NotificationsApiService apiService;
|
||||
|
||||
protected String user_id;
|
||||
public static final String USER_ID = "user_id";
|
||||
|
||||
protected String token;
|
||||
public static final String USER_TOKEN = "user_token";
|
||||
|
||||
private NotificationsAdapter notificationsAdapter;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
binding = ActivityNotificationsBinding.inflate(getLayoutInflater());
|
||||
setContentView(binding.getRoot());
|
||||
|
||||
apiService = RetrofitHelper.getRetrofit().create(NotificationsApiService.class);
|
||||
|
||||
user_id = getIntent().getStringExtra(USER_ID);
|
||||
token = getIntent().getStringExtra(USER_TOKEN);
|
||||
|
||||
binding.notificationRv.setLayoutManager(new LinearLayoutManager(this));
|
||||
notificationsAdapter = new NotificationsAdapter();
|
||||
binding.notificationRv.setAdapter(notificationsAdapter);
|
||||
|
||||
if (user_id != null){
|
||||
binding.progress.setVisibility(View.VISIBLE);
|
||||
apiService.getNotifications(user_id, user_id,
|
||||
"Bearer " + token).enqueue(this);
|
||||
}else{
|
||||
binding.errorMsg.setText(R.string.couldn_t_load_notifications);
|
||||
binding.errorView.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResponse(Call<CallResponse<ArrayList<Notification>>> call, Response<CallResponse<ArrayList<Notification>>> response) {
|
||||
binding.progress.setVisibility(View.GONE);
|
||||
if (response.body() != null){
|
||||
if (response.code() != 200){
|
||||
binding.errorMsg.setText(response.body().message);
|
||||
binding.errorView.setVisibility(View.VISIBLE);
|
||||
return;
|
||||
}
|
||||
|
||||
if (response.body().result == null || response.body().result.isEmpty()){
|
||||
binding.errorMsg.setText(R.string.no_notifications);
|
||||
binding.errorView.setVisibility(View.VISIBLE);
|
||||
return;
|
||||
}
|
||||
|
||||
binding.errorView.setVisibility(View.GONE);
|
||||
binding.notificationRv.setVisibility(View.VISIBLE);
|
||||
notificationsAdapter.submitList(response.body().result);
|
||||
|
||||
}else{
|
||||
binding.errorMsg.setText(R.string.couldn_t_load_notifications);
|
||||
binding.errorView.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<CallResponse<ArrayList<Notification>>> call, Throwable t) {
|
||||
binding.progress.setVisibility(View.GONE);
|
||||
binding.errorMsg.setText(R.string.couldn_t_load_notifications);
|
||||
binding.errorView.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
// util classes and interfaces
|
||||
|
||||
public static class NotificationsAdapter extends ListAdapter<Notification, NotificationsAdapter.NotificationViewHolder> {
|
||||
|
||||
private static final DiffUtil.ItemCallback<Notification> DIFF_CALLBACK = new DiffUtil.ItemCallback<Notification>() {
|
||||
@Override
|
||||
public boolean areItemsTheSame(@NonNull Notification oldItem, @NonNull Notification newItem) {
|
||||
return oldItem.id == newItem.id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean areContentsTheSame(@NonNull Notification oldItem, @NonNull Notification newItem) {
|
||||
return oldItem.id == newItem.id;
|
||||
}
|
||||
};
|
||||
|
||||
public NotificationsAdapter(){
|
||||
super(DIFF_CALLBACK);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public NotificationViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
NotificationViewholderBinding n_binding = NotificationViewholderBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false);
|
||||
return new NotificationViewHolder(n_binding);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull NotificationViewHolder holder, int position) {
|
||||
holder.setData(getItem(position));
|
||||
}
|
||||
|
||||
public static class NotificationViewHolder extends RecyclerView.ViewHolder{
|
||||
public NotificationViewholderBinding binding;
|
||||
public NotificationViewHolder(@NonNull NotificationViewholderBinding binding){
|
||||
super(binding.getRoot());
|
||||
}
|
||||
|
||||
public void setData(Notification notification){
|
||||
if (notification == null) return;
|
||||
|
||||
binding.description.setText(notification.description);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static class Notification{
|
||||
public int id;
|
||||
public String patient_xid;
|
||||
public String caregiver_xid;
|
||||
public String type;
|
||||
public String date_added;
|
||||
public String description;
|
||||
public String created_at;
|
||||
public String updated_at;
|
||||
}
|
||||
|
||||
public interface NotificationsApiService{
|
||||
|
||||
@GET("api/get-notifications")
|
||||
Call<CallResponse<ArrayList<Notification>>> getNotifications(@Query("caregiverId") String c_id,
|
||||
@Query("patientId") String p_id,
|
||||
@Header("Authorization") String token);
|
||||
}
|
||||
}
|
||||
@@ -51,6 +51,8 @@ public class PatSettingsActivity extends AppCompatActivity implements CgHomeCont
|
||||
|
||||
private void clickEvents() {
|
||||
|
||||
binding.backBtn.setOnClickListener(v -> onBackPressed());
|
||||
|
||||
binding.deActivate.setOnClickListener(v -> {
|
||||
Intent intent = new Intent(this, DeActivateAccountActivity.class);
|
||||
intent.putExtra(IS_PATIENT_KEY, true);
|
||||
|
||||
@@ -22,8 +22,6 @@ import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import androidx.navigation.Navigation;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||
import com.app.simplitend.R;
|
||||
import com.app.simplitend.appblocking.FUAActivity;
|
||||
import com.app.simplitend.apputils.AppUtil;
|
||||
@@ -42,6 +40,8 @@ import com.app.simplitend.patientprofile.setuproutine.mvvm.RoutineDetails;
|
||||
import com.app.simplitend.patientprofile.setuproutine.mvvm.RoutineViewModel;
|
||||
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.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -415,17 +415,19 @@ public class LocationFragment extends Fragment implements OnMapReadyCallback,
|
||||
}
|
||||
|
||||
if ((fineLocationGranted != null && fineLocationGranted) || (coarseLocationGranted != null && coarseLocationGranted)) {
|
||||
// one of the location access granted.
|
||||
Toast.makeText(requireContext(), "Fetching your current location", Toast.LENGTH_SHORT).show();
|
||||
if (googleMap != null) {
|
||||
if (ActivityCompat.checkSelfPermission(requireContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(requireContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
|
||||
return;
|
||||
if (currentLocation == null) {
|
||||
// one of the location access granted.
|
||||
Toast.makeText(requireContext(), "Fetching your current location", Toast.LENGTH_SHORT).show();
|
||||
if (googleMap != null) {
|
||||
if (ActivityCompat.checkSelfPermission(requireContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(requireContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
|
||||
return;
|
||||
}
|
||||
googleMap.setMyLocationEnabled(true);
|
||||
googleMap.getUiSettings().setMyLocationButtonEnabled(true);
|
||||
}
|
||||
googleMap.setMyLocationEnabled(true);
|
||||
googleMap.getUiSettings().setMyLocationButtonEnabled(true);
|
||||
}
|
||||
|
||||
requestLocations();
|
||||
requestLocations();
|
||||
}
|
||||
}
|
||||
}
|
||||
).launch(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION});
|
||||
@@ -433,18 +435,18 @@ public class LocationFragment extends Fragment implements OnMapReadyCallback,
|
||||
|
||||
@Override
|
||||
public void onLocationChanged(@NonNull Location location) {
|
||||
Log.d(TAG, "onLocationChanged: " + location);
|
||||
this.currentLocation = new LatLng(location.getLatitude(), location.getLongitude());
|
||||
fusedLocationProviderClient.removeLocationUpdates(this);
|
||||
Log.d(TAG, "onLocationChanged: location updates removed");
|
||||
if (currentLocation == null) {
|
||||
this.currentLocation = new LatLng(location.getLatitude(), location.getLongitude());
|
||||
fusedLocationProviderClient.removeLocationUpdates(this);
|
||||
Log.d(TAG, "onLocationChanged: location updates removed");
|
||||
|
||||
CameraPosition default_map_pos = new CameraPosition.Builder()
|
||||
.target(currentLocation)
|
||||
.zoom(15)
|
||||
.build();
|
||||
|
||||
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(default_map_pos));
|
||||
CameraPosition default_map_pos = new CameraPosition.Builder()
|
||||
.target(currentLocation)
|
||||
.zoom(15)
|
||||
.build();
|
||||
|
||||
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(default_map_pos));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
28
app/src/main/res/drawable/ic_missed_noti.xml
Normal file
28
app/src/main/res/drawable/ic_missed_noti.xml
Normal file
@@ -0,0 +1,28 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="27dp"
|
||||
android:height="27dp"
|
||||
android:viewportWidth="27"
|
||||
android:viewportHeight="27">
|
||||
<path
|
||||
android:pathData="M26,13.5A12.5,12.5 0,1 1,13.5 1,12.5 12.5,0 0,1 26,13.5Z"
|
||||
android:strokeAlpha="0.1"
|
||||
android:fillColor="#ea3829"
|
||||
android:fillAlpha="0.1"/>
|
||||
<path
|
||||
android:pathData="M26,13.5A12.5,12.5 0,1 1,13.5 1,12.5 12.5,0 0,1 26,13.5Z"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#ea3829"/>
|
||||
<path
|
||||
android:pathData="M13.5,8.011v6.772"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#ea3829"
|
||||
android:strokeLineCap="round"/>
|
||||
<path
|
||||
android:pathData="M13.5,19.051v-0.015"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#ea3829"
|
||||
android:strokeLineCap="round"/>
|
||||
</vector>
|
||||
BIN
app/src/main/res/drawable/img_no_notifications.png
Normal file
BIN
app/src/main/res/drawable/img_no_notifications.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
85
app/src/main/res/layout/activity_notifications.xml
Normal file
85
app/src/main/res/layout/activity_notifications.xml
Normal file
@@ -0,0 +1,85 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:background="@color/white"
|
||||
tools:context=".patient_dashboard.NotificationsActivity">
|
||||
|
||||
<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" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
|
||||
android:fontFamily="@font/nunito_medium"
|
||||
android:text="@string/notifications"
|
||||
android:textSize="@dimen/_18ssp"
|
||||
android:textColor="@color/black" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progress"
|
||||
android:visibility="gone"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="50dp"
|
||||
android:indeterminate="true"
|
||||
android:indeterminateTint="@color/color_primary_dark"
|
||||
/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/error_view"
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/_60sdp"
|
||||
android:layout_height="@dimen/_60sdp"
|
||||
android:contentDescription="@string/notification"
|
||||
|
||||
android:src="@drawable/img_no_notifications"
|
||||
android:scaleType="fitXY"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/error_msg"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
tools:text="No notifications for now"
|
||||
android:fontFamily="@font/nunito_semibold"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/_16ssp"
|
||||
|
||||
android:layout_marginTop="5dp"
|
||||
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/notification_rv"
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="15dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
@@ -32,6 +32,7 @@
|
||||
android:layout_height="?android:attr/actionBarSize">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/notifications"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
|
||||
app:title="Welcome Aditya"
|
||||
|
||||
android:layout_marginEnd="40dp"
|
||||
|
||||
/>
|
||||
|
||||
<com.app.simplitend.customsviews.HomeBottomNav
|
||||
|
||||
62
app/src/main/res/layout/notification_viewholder.xml
Normal file
62
app/src/main/res/layout/notification_viewholder.xml
Normal file
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
android:background="@color/white">
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="5dp"
|
||||
app:cardElevation="3dp"
|
||||
android:layout_margin="15dp"
|
||||
>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="15dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="45dp"
|
||||
android:layout_height="45dp"
|
||||
app:cardBackgroundColor="#22EA3829"
|
||||
app:cardCornerRadius="22.5dp"
|
||||
app:cardElevation="0dp"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
|
||||
android:contentDescription="@string/notification"
|
||||
android:src="@drawable/ic_missed_noti"
|
||||
android:layout_gravity="center"
|
||||
/>
|
||||
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/description"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
tools:text="Description"
|
||||
android:fontFamily="@font/nunito_medium"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/_14ssp"
|
||||
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="15dp"
|
||||
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
</LinearLayout>
|
||||
@@ -228,8 +228,7 @@
|
||||
<string name="SETTINGS">Settings</string>
|
||||
<string name="NOT_NOW">Not now</string>
|
||||
|
||||
|
||||
<string name="GOOGLE_MAPS_API_KEY">AIzaSyDQvd4THJsS62DeDidNzfP3rrnKe7zmM-4</string>
|
||||
<string name="GOOGLE_MAPS_API_KEY">AIzaSyBSaqTnkexE3TPb3WOdfgB9iX155pXY_ew</string>
|
||||
<string name="search_places">Search places</string>
|
||||
<string name="i_accept">I accept</string>
|
||||
<string name="terms_n_conditions"><u>terms and conditions</u></string>
|
||||
@@ -430,5 +429,8 @@
|
||||
<string name="privacy_policy_link">https://www.simplitend.com/privacy-policy</string>
|
||||
<string name="terms_n_conditions_link">https://www.simplitend.com/terms-and-conditions</string>
|
||||
<string name="couldn_t_load_plans">Couldn\'t load plans</string>
|
||||
<string name="notifications">Notifications</string>
|
||||
<string name="couldn_t_load_notifications">Couldn\'t load notifications</string>
|
||||
<string name="no_notifications">No notifications</string>
|
||||
|
||||
</resources>
|
||||
Reference in New Issue
Block a user