This commit is contained in:
14Sandee
2023-11-03 20:13:46 +05:30
parent 963a8dc7e8
commit ab16574261
36 changed files with 436 additions and 69 deletions

View File

@@ -1,18 +1,6 @@
<?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" />

View File

@@ -6,6 +6,7 @@ import android.app.ActivityManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
@@ -74,6 +75,14 @@ public class BlockApp extends AppCompatActivity {
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);

View File

@@ -1,11 +1,13 @@
package com.app.simplitend.appblocking;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.Configuration;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
@@ -157,6 +159,14 @@ public class FUAActivity extends AppCompatActivity {
});
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private int getPosition(AppList appList) {
for (int i = 0; i < whiteList.size(); i++) {
if (whiteList.get(i).getPackages().equals(appList.getPackages())) {

View File

@@ -245,10 +245,11 @@ public abstract class AppUtil {
public static String formatDate(@NonNull String fromFormat,
@NonNull String toFormat,
String fromDate){
SimpleDateFormat fromSdf = new SimpleDateFormat(fromFormat, Locale.getDefault());
SimpleDateFormat toSdf = new SimpleDateFormat(toFormat, Locale.getDefault());
try {
SimpleDateFormat fromSdf = new SimpleDateFormat(fromFormat, Locale.getDefault());
SimpleDateFormat toSdf = new SimpleDateFormat(toFormat, Locale.getDefault());
Date date = fromSdf.parse(fromDate);
return toSdf.format(date);
}catch (Exception e){
@@ -323,6 +324,7 @@ public abstract class AppUtil {
"Unknown", "Call patient",
v -> {
CaregiverDataCache.getCaregiverData(context, (careGiverData -> {
bsd.dismiss();
if (careGiverData == null || careGiverData.patientDetails == null) {
Toast.makeText(context, "Couldn't load data", Toast.LENGTH_SHORT).show();
return;
@@ -434,6 +436,7 @@ public abstract class AppUtil {
null, "Call patient",
v -> {
CaregiverDataCache.getCaregiverData(context, (careGiverData -> {
bsd.dismiss();
if (careGiverData == null || careGiverData.patientDetails == null) {
Toast.makeText(context, "Couldn't load data", Toast.LENGTH_SHORT).show();
return;
@@ -460,6 +463,7 @@ public abstract class AppUtil {
null, "Call patient",
v -> {
CaregiverDataCache.getCaregiverData(context, (careGiverData -> {
bsd.dismiss();
if (careGiverData == null || careGiverData.patientDetails == null) {
Toast.makeText(context, "Couldn't load data", Toast.LENGTH_SHORT).show();
return;

View File

@@ -24,4 +24,8 @@ public interface ArticleApiService {
@Query("per_page") int per_page,
@Query("page") int page);
@GET("api/get-list-of-news-articles")
Call<CallResponse<ArticleResult>> getDefaultArticle(@Header("Authorization") String token,
@Header("default") int default_article);
}

View File

@@ -59,4 +59,32 @@ public class ArticlePresenter {
});
}
public void getDefaultArticle(String token,
@NonNull ArticleContracts.GetArticleCallback getArticleCallback) {
apiService.getDefaultArticle(token, 1)
.enqueue(new Callback<CallResponse<ArticleResult>>() {
@Override
public void onResponse(Call<CallResponse<ArticleResult>> call, Response<CallResponse<ArticleResult>> response) {
if (response.body() != null) {
if (response.body().status != 200 || response.body().result == null) {
getArticleCallback.onArticleFetchFailed(new Exception(), response.body().message);
return;
}
ArrayList<ArticleResult> articleResults = new ArrayList<>();
articleResults.add(response.body().result);
getArticleCallback.onArticlesFetched(articleResults);
} else {
getArticleCallback.onArticleFetchFailed(new Exception(), "Please try again later.");
}
}
@Override
public void onFailure(Call<CallResponse<ArticleResult>> call, Throwable t) {
getArticleCallback.onArticleFetchFailed(new Exception(), "Please try again later.");
}
});
}
}

View File

@@ -22,5 +22,6 @@ public class ArticleResult{
public String updated_by;
public String created_at;
public String updated_at;
public String article_author_img;
public ArticleCategory article_category;
}

View File

@@ -1,6 +1,8 @@
package com.app.simplitend.articles;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
@@ -32,6 +34,14 @@ public class ArticleShowerActivity extends AppCompatActivity {
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void initViews() {
Intent intent = getIntent();

View File

@@ -3,7 +3,9 @@ package com.app.simplitend.articles;
import static com.app.simplitend.articles.ArticleShowerActivity.ARTICLE_TITLE;
import static com.app.simplitend.articles.ArticleShowerActivity.ARTICLE_URL_KEY;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
@@ -53,6 +55,14 @@ public class ArticlesActivity extends AppCompatActivity
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void getArticles(String search_query, int per_page, int page_no, boolean bottom_progress) {
binding.noArticles.setVisibility(View.GONE);

View File

@@ -7,6 +7,7 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.View;
@@ -120,6 +121,14 @@ public class CaregiverDashActivity extends AppCompatActivity implements
registerReceiver(notification_receiver, new IntentFilter(AppUtil.NOTIFICATION_ACTION));
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
@Override
protected void onResume() {
super.onResume();

View File

@@ -6,7 +6,9 @@ import static com.app.simplitend.caregiverdashboard.activities.EditProfileInfoAc
import androidx.appcompat.app.AppCompatActivity;
import androidx.biometric.BiometricManager;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.View;
import android.widget.CompoundButton;
@@ -46,6 +48,14 @@ public class CaregiverProfileActivity extends AppCompatActivity implements Compo
}), true);
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void setCareGiverDetails() {
if (careGiverData == null) {
Toast.makeText(this, "Couldn't load the data.", Toast.LENGTH_SHORT).show();

View File

@@ -1,7 +1,9 @@
package com.app.simplitend.caregiverdashboard.activities;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.widget.Toast;
@@ -48,6 +50,14 @@ public class CaregiverSettingsActivity extends AppCompatActivity implements CgHo
clickEvents();
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void setupNotifications() {
nSBinding.patientMedication.setChecked(AppUtil.getCgNotificationPref(this, AppUtil.MEDICATIONS_NOTIFICATIONS));
nSBinding.patientMedRefill.setChecked(AppUtil.getCgNotificationPref(this, AppUtil.MEDICATION_REFILL_NOTIFICATIONS));

View File

@@ -5,6 +5,8 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.ViewModelProvider;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
@@ -57,6 +59,14 @@ public class CgChangePwdActivity extends AppCompatActivity implements CgHomeCont
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void initViews() {
}

View File

@@ -8,7 +8,9 @@ import static com.app.simplitend.caregiverdashboard.activities.PatientProfileSho
import static com.app.simplitend.cg_geofencing.CgGeoFencingActivity.GEOFENCE_DETAILS_KEY;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
@@ -81,6 +83,14 @@ public class CgProfileProgressActivity extends AppCompatActivity implements CgHo
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void syncPatientData() {
startAnimation();

View File

@@ -2,6 +2,8 @@ package com.app.simplitend.caregiverdashboard.activities;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.content.res.Configuration;
import android.os.Bundle;
import com.app.simplitend.R;
@@ -20,6 +22,14 @@ public class ChangePinActivity extends AppCompatActivity {
clickEvents();
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void clickEvents() {
binding.backBtn.setOnClickListener(view -> onBackPressed());
}

View File

@@ -2,6 +2,8 @@ package com.app.simplitend.caregiverdashboard.activities;
import android.annotation.SuppressLint;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.MotionEvent;
import android.widget.Toast;
@@ -48,6 +50,14 @@ public class ContactAdminActivity extends AppCompatActivity implements AccountPr
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void initViews() {
smoothEditTextScroll();

View File

@@ -5,6 +5,7 @@ import android.app.DatePickerDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.net.Uri;
import android.os.Bundle;
import android.text.Editable;
@@ -145,6 +146,14 @@ public class EditProfileInfoActivity extends AppCompatActivity implements
}
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void setDetails() {
if (isCaregiver){
// load caregiver data

View File

@@ -1,5 +1,7 @@
package com.app.simplitend.caregiverdashboard.activities;
import android.content.Context;
import android.content.res.Configuration;
import android.os.Bundle;
import android.widget.Toast;
@@ -54,6 +56,14 @@ public class PatientProfileShowerActivity extends AppCompatActivity {
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private Fragment getFragment(String which_f) {
Fragment fragment = null;

View File

@@ -2,7 +2,9 @@ package com.app.simplitend.caregiverdashboard.activities.deactivateacc;
import android.annotation.SuppressLint;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
@@ -60,6 +62,14 @@ public class DeActivateAccountActivity extends AppCompatActivity implements Acco
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void initViews() {
// first showing the confirmation page
binding.firstView.setVisibility(View.VISIBLE);

View File

@@ -13,7 +13,6 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
@@ -231,7 +230,20 @@ public class CgDashBoardFragment extends Fragment implements
loadReminders();
loadActivities();
viewModel.setDefault_article(null); // to load new articles
loadArticles();
CaregiverDataCache.setCareGiverData(null); // to load new details
CaregiverDataCache.getCaregiverData(requireActivity(), (careGiverData1 -> {
if (careGiverData1 != null && careGiverData1.patientDetails != null){
this.careGiverData = careGiverData1;
setDetails();
}else {
CaregiverDataCache.setCareGiverData(this.careGiverData);
}
}), false);
});
binding.notifications.setOnClickListener(view -> {
@@ -272,6 +284,15 @@ public class CgDashBoardFragment extends Fragment implements
articleResult.article_author = "No author";
}
if (articleResult.article_author_img != null){
Glide.with(binding.authorImg)
.load(AppUtil.IMAGE_BASE_URL + articleResult.article_author_img)
.centerCrop()
.placeholder(android.R.color.darker_gray)
.error(R.drawable.static_3)
.into(binding.authorImg);
}
binding.articleAuthorName.setText(articleResult.article_author);
try {
@@ -307,10 +328,9 @@ public class CgDashBoardFragment extends Fragment implements
public void onArticlesFetched(ArrayList<ArticleResult> articleResults) {
if (articleResults == null) return;
// saving in view model
viewModel.setArticleResults(articleResults);
if (articleResults.size() > 0){
// saving to view model
viewModel.setDefault_article(articleResults.get(0));
binding.articleView.setVisibility(View.VISIBLE);
setArticleDetails(articleResults.get(0));
@@ -323,7 +343,7 @@ public class CgDashBoardFragment extends Fragment implements
@Override
public void onArticleFetchFailed(Throwable t, String message) {
// do nothing
binding.articleView.setVisibility(View.GONE);
Log.d("fk", "onArticleFetchFailed: ");
}
@Override

View File

@@ -19,6 +19,7 @@ import com.yarolegovich.slidingrootnav.SlidingRootNav;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Locale;
@@ -35,7 +36,7 @@ public class CaregiverMainViewModel extends ViewModel {
private final CgHomeRepository cgHomeRepository;
private ArrayList<ArticleResult> articleResults;
private ArticleResult default_article;
public String ongoingActivityText, upcomingActivityText;
public String upcomingReminderText, dailyReminderText;
@@ -49,14 +50,16 @@ public class CaregiverMainViewModel extends ViewModel {
this.upcomingReminderText = this.dailyReminderText = "Loading...";
}
public void setArticleResults(ArrayList<ArticleResult> articleResults) {
this.articleResults = articleResults;
public void setDefault_article(ArticleResult default_article) {
this.default_article = default_article;
}
public void getArticles(Context context, @NonNull ArticleContracts.GetArticleCallback articleCallback){
if (articleResults == null){
cgHomeRepository.getArticles(context, articleCallback);
if (default_article == null){
cgHomeRepository.getDefaultArticle(context, articleCallback);
}else{
ArrayList<ArticleResult> articleResults = new ArrayList<>();
articleResults.add(default_article);
articleCallback.onArticlesFetched(articleResults);
}

View File

@@ -39,9 +39,9 @@ public class CgHomeRepository {
return cgHomeRepository;
}
public void getArticles(Context context, @NonNull ArticleContracts.GetArticleCallback getArticleCallback) {
public void getDefaultArticle(Context context, @NonNull ArticleContracts.GetArticleCallback getArticleCallback) {
ArticlePresenter articlePresenter = ArticlePresenter.getArticlePresenter();
articlePresenter.getArticles("Bearer " + AppUtil.getCgToken(context), "", 1,1,getArticleCallback);
articlePresenter.getDefaultArticle("Bearer " + AppUtil.getCgToken(context), getArticleCallback);
}
public void getGeoFenceDetails(String p_id,

View File

@@ -4,7 +4,9 @@ import static com.app.simplitend.patientgeofencing.PatientLocationUpdatesReceive
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.Color;
import android.location.Address;
import android.location.Geocoder;
@@ -91,6 +93,8 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead
private Circle radius_circle;
private boolean isTrackingSenior;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -123,6 +127,7 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead
progressDialog = new ProgressDialog(this);
geofence_bs_binding = GeofenceBottomSheetBinding.inflate(getLayoutInflater());
isTrackingSenior = false;
CaregiverDataCache.getCaregiverData(this, (careGiverData -> {
if (careGiverData == null) return;
@@ -143,6 +148,14 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
@Override
protected void onDestroy() {
super.onDestroy();
@@ -167,10 +180,10 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead
public void onMessageReceived(Location result) {
Log.d(LOCATION_REQUEST_TAG, "LOCATION RECEIVED: " + result);
if (result != null){
pat_cur_latLng = new LatLng(result.getLatitude(), result.getLongitude());
// running on main thread
new Handler(Looper.getMainLooper()).post(()-> {
pat_cur_latLng = new LatLng(result.getLatitude(), result.getLongitude());
Toast.makeText(CgGeoFencingActivity.this, "Update", Toast.LENGTH_SHORT).show();
updateCurrentLocationPatientMarker();
updatePatientCurrentLocationDetails();
});
@@ -283,12 +296,14 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead
binding.homeLocationBtn.setOnClickListener(v -> {
if (mMap != null && home_loc_marker != null){
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(home_loc_marker.getPosition(), 16));
isTrackingSenior = false;
}
});
binding.cgLocationBtn.setOnClickListener(v -> {
if (mMap != null && curr_loc_marker != null){
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(curr_loc_marker.getPosition(), 16));
isTrackingSenior = true;
}
});
}
@@ -469,6 +484,7 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead
mMap.setOnMapClickListener(latLng1 -> {
this.mHomeLatLng = latLng1;
isTrackingSenior = false;
binding.updateBtnsView.setVisibility(View.VISIBLE);
binding.homeLocationBtn.setVisibility(View.GONE);
@@ -493,6 +509,10 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead
if (curr_loc_marker != null) curr_loc_marker.remove();
curr_loc_marker = mMap.addMarker(options);
if (isTrackingSenior){
mMap.animateCamera(CameraUpdateFactory.newLatLng(pat_cur_latLng));
}
}
}

View File

@@ -1,7 +1,9 @@
package com.app.simplitend.cg_subscription;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.net.Uri;
import android.os.Bundle;
import android.text.Html;
@@ -95,6 +97,14 @@ public class CgSubscriptionActivity extends AppCompatActivity
binding.yearCheck.setSelected(true);
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void loadCurrentPlans() {
CaregiverDataCache.getCaregiverData(this, (careGiverData1 -> {
this.careGiverData = careGiverData1;

View File

@@ -14,6 +14,8 @@ import com.app.simplitend.databinding.FaqViewholderBinding;
public class FAQAdapter extends ListAdapter<FAQResult, FAQAdapter.FAQViewHolder> {
private int lastOpenedFaqPosition;
private static final DiffUtil.ItemCallback<FAQResult> DIFF_UTIL = new DiffUtil.ItemCallback<FAQResult>() {
@Override
public boolean areItemsTheSame(@NonNull FAQResult oldItem, @NonNull FAQResult newItem) {
@@ -28,6 +30,7 @@ public class FAQAdapter extends ListAdapter<FAQResult, FAQAdapter.FAQViewHolder>
public FAQAdapter(){
super(DIFF_UTIL);
this.lastOpenedFaqPosition = -1;
}
@NonNull
@@ -42,15 +45,36 @@ public class FAQAdapter extends ListAdapter<FAQResult, FAQAdapter.FAQViewHolder>
public void onBindViewHolder(@NonNull FAQViewHolder holder, int position) {
holder.setDate(getItem(position));
if (position == lastOpenedFaqPosition){
// this is opened
holder.binding.addRemove.setImageResource(R.drawable.ic_remove_primary);
holder.binding.answer.setVisibility(View.VISIBLE);
}else{
holder.binding.addRemove.setImageResource(R.drawable.ic_add_primary);
holder.binding.answer.setVisibility(View.GONE);
}
final int cardPosition = position;
holder.binding.addRemove.setOnClickListener(v -> {
int visibility = holder.binding.answer.getVisibility();
if (visibility == View.VISIBLE){
holder.binding.addRemove.setImageResource(R.drawable.ic_add_primary);
holder.binding.answer.setVisibility(View.GONE);
this.lastOpenedFaqPosition = -1;
}else{
holder.binding.addRemove.setImageResource(R.drawable.ic_remove_primary);
holder.binding.answer.setVisibility(View.VISIBLE);
// closing already opened FAQ
if (lastOpenedFaqPosition != -1 && lastOpenedFaqPosition < getItemCount()){
int lastOpenedFaqPosition = this.lastOpenedFaqPosition;
this.lastOpenedFaqPosition = cardPosition;
notifyItemChanged(lastOpenedFaqPosition);
}else{
this.lastOpenedFaqPosition = cardPosition;
}
}
});

View File

@@ -3,6 +3,8 @@ package com.app.simplitend.faqs;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.content.Context;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
@@ -36,6 +38,14 @@ public class FAQ_Activity extends AppCompatActivity implements FAQContracts.GETF
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void initViews() {
binding.faqsRv.setLayoutManager(new LinearLayoutManager(this));
faqAdapter = new FAQAdapter();

View File

@@ -4,8 +4,10 @@ import static com.app.simplitend.patientgeofencing.GeoFenceHelper.GEOFENCE_TAG;
import android.Manifest;
import android.app.role.RoleManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.os.Build;
import android.os.Bundle;
import android.telecom.TelecomManager;
@@ -103,6 +105,14 @@ public class DashBoardActivity extends AppCompatActivity implements CgHomeContra
}).launch(Manifest.permission.READ_CONTACTS);
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void setGeofenceAndLocationUpdates() {
// retrieving geofence
viewModel.getGeoFenceDetails(AppUtil.getPatientUid(this) + "",

View File

@@ -1,8 +1,10 @@
package com.app.simplitend.patient_dashboard;
import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
@@ -97,6 +99,14 @@ public class DirectionToHomeActivity extends AppCompatActivity
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void clickEvents() {
binding.closeBtn.setOnClickListener(v -> {
if(bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED){

View File

@@ -2,6 +2,8 @@ package com.app.simplitend.patient_dashboard;
import static com.app.simplitend.caregiverdashboard.activities.EditProfileInfoActivity.IS_CAREGIVER;
import android.content.Context;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@@ -15,6 +17,7 @@ import androidx.recyclerview.widget.ListAdapter;
import androidx.recyclerview.widget.RecyclerView;
import com.app.simplitend.R;
import com.app.simplitend.apputils.AppUtil;
import com.app.simplitend.apputils.RetrofitHelper;
import com.app.simplitend.databinding.ActivityNotificationsBinding;
import com.app.simplitend.databinding.NotificationViewholderBinding;
@@ -75,6 +78,14 @@ public class NotificationsActivity extends AppCompatActivity implements Callback
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void clickEvents() {
binding.backBtn.setOnClickListener(v -> onBackPressed());
}
@@ -256,6 +267,23 @@ public class NotificationsActivity extends AppCompatActivity implements Callback
binding.image.setImageResource(imageRes);
binding.imageCard.setCardBackgroundColor(itemView.getContext().getColor(R.color.color_accent));
}
// created at format 2023-11-03T11:13:22.000000Z
if (notification.created_at != null){
String time = AppUtil.formatDate(
"yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'",
"dd MMM yyyy 'at' hh:mm a",
notification.created_at
);
if (time == null){
binding.timeView.setVisibility(View.GONE);
}else{
binding.timeView.setVisibility(View.VISIBLE);
binding.time.setText(time);
}
}
}
}
}

View File

@@ -5,7 +5,9 @@ import static com.app.simplitend.caregiverdashboard.activities.deactivateacc.DeA
import androidx.appcompat.app.AppCompatActivity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.widget.Toast;
@@ -38,6 +40,14 @@ public class PatSettingsActivity extends AppCompatActivity implements CgHomeCont
clickEvents();
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void initViews() {
binding.notificationCheck.setChecked(OneSignal.getUser().getPushSubscription().getOptedIn());
binding.notificationCheck.setOnCheckedChangeListener((compoundButton, check) -> {

View File

@@ -2,8 +2,10 @@ package com.app.simplitend.patient_dashboard.fragments;
import android.Manifest;
import android.app.role.RoleManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.os.Bundle;
import android.telecom.TelecomManager;
import android.view.View;
@@ -53,6 +55,14 @@ public class CallsActivity extends AppCompatActivity implements AddContactAdapte
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void clickEvents() {
binding.backBtn.setOnClickListener(view -> onBackPressed());
}

View File

@@ -25,7 +25,7 @@ import retrofit2.Response;
public class PatientLocationUpdatesReceiver extends BroadcastReceiver {
public static final String LOCATION_REQUEST_TAG = "LOCATION_REQUEST_TAG";
public static final String LOCATION_REQUEST_TAG = "LOCATION_UPDATE_TAG";
public static final String LOCATION_EXTRA_KEY = "com.google.android.location.LOCATION";
public static final int LOCATION_UPDATES_REQUEST_CODE = 1010;

View File

@@ -1,6 +1,9 @@
package com.app.simplitend.welcome.activities;
import android.content.Context;
import android.content.res.Configuration;
import android.os.Bundle;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
@@ -20,7 +23,10 @@ public class WelcomeActivity extends AppCompatActivity {
}
@Override
protected void onStart() {
super.onStart();
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.0f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
}

View File

@@ -2,7 +2,9 @@ package com.app.simplitend.welcome.welcomecg.fragments;
import static androidx.biometric.BiometricManager.Authenticators.BIOMETRIC_STRONG;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.provider.Settings;
import android.text.Editable;
@@ -61,6 +63,14 @@ public class CgAuthActivity extends AppCompatActivity {
}
@Override
protected void attachBaseContext(Context newBase) {
final Configuration configuration = new Configuration(newBase.getResources().getConfiguration());
configuration.fontScale = Math.min(configuration.fontScale, 1.1f);
applyOverrideConfiguration(configuration);
super.attachBaseContext(newBase);
}
private void clickEvents() {
binding.fingerprintView.setOnClickListener(v -> {
authenticateBiometrics();

View File

@@ -15,49 +15,83 @@
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:id="@+id/image_card"
android:layout_width="45dp"
android:layout_height="45dp"
app:cardBackgroundColor="#22EA3829"
app:cardCornerRadius="22.5dp"
app:cardElevation="0dp"
>
<ImageView
android:id="@+id/image"
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"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:orientation="horizontal">
tools:text="Description"
android:fontFamily="@font/nunito_medium"
android:textColor="@color/black"
android:textSize="@dimen/_14ssp"
<androidx.cardview.widget.CardView
android:id="@+id/image_card"
android:layout_width="45dp"
android:layout_height="45dp"
app:cardBackgroundColor="#22EA3829"
app:cardCornerRadius="22.5dp"
app:cardElevation="0dp"
>
android:layout_gravity="center_vertical"
android:layout_marginStart="15dp"
<ImageView
android:id="@+id/image"
android:layout_width="25dp"
android:layout_height="25dp"
/>
android:contentDescription="@string/notification"
android:src="@drawable/ic_missed_noti"
android:layout_gravity="center"
/>
</LinearLayout>
</androidx.cardview.widget.CardView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginStart="15dp"
android:orientation="vertical">
<TextView
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:text="Description"
android:fontFamily="@font/nunito_semibold"
android:textColor="@color/black"
android:textSize="@dimen/_14ssp"
/>
<LinearLayout
android:id="@+id/time_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<ImageView
android:layout_width="15dp"
android:layout_height="15dp"
android:src="@drawable/ic_clock_outline"
app:tint="@color/black" />
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="3 Nov 2023 at 3:05 PM"
android:fontFamily="@font/nunito_regular"
android:textColor="@android:color/black"
android:layout_marginStart="5dp"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>

View File

@@ -211,7 +211,7 @@
<string name="enter_start_time">Enter start time</string>
<string name="enter_end_time">Enter end time</string>
<string name="bar">bar</string>
<string name="delete_med_routine">Are you sure you want to delete the Medication Activity?</string>
<string name="delete_med_routine">Are you sure you want to delete the Activity?</string>
<string name="notification">notification</string>
<string name="close">close</string>
<string name="calls">Call</string>