.
This commit is contained in:
@@ -10,6 +10,9 @@ import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.SwitchCompat;
|
||||
@@ -33,6 +36,8 @@ public class FUAActivity extends AppCompatActivity {
|
||||
MySharedPref mySharedPref;
|
||||
List<AppList> whiteList;
|
||||
|
||||
LinearLayout no_fua;
|
||||
|
||||
List<AppList> installed_app_list;
|
||||
|
||||
@Override
|
||||
@@ -44,6 +49,7 @@ public class FUAActivity extends AppCompatActivity {
|
||||
rvApps = (RecyclerView) findViewById(R.id.rvApps);
|
||||
rvWhiteApps = (RecyclerView) findViewById(R.id.rv_white_apps);
|
||||
mySharedPref = new MySharedPref(FUAActivity.this);
|
||||
no_fua = findViewById(R.id.no_fua);
|
||||
|
||||
if (!isAccessibilityAppBlockingEnabled()) {
|
||||
openAccessibilityDialog();
|
||||
@@ -55,6 +61,14 @@ public class FUAActivity extends AppCompatActivity {
|
||||
whiteList = getWhiteListApps();
|
||||
Collections.sort(whiteList, (o1, o2) -> o1.getName().compareToIgnoreCase(o2.getName()));
|
||||
|
||||
if (whiteList.size() > 0) {
|
||||
no_fua.setVisibility(View.GONE);
|
||||
rvWhiteApps.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
no_fua.setVisibility(View.VISIBLE);
|
||||
rvWhiteApps.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
adapter = new MyAppsAdapter(FUAActivity.this, getInstalledApps(), false, appList -> {
|
||||
if (!isContainsWhiteList(appList)) {
|
||||
whiteList.add(appList);
|
||||
@@ -63,6 +77,14 @@ public class FUAActivity extends AppCompatActivity {
|
||||
whiteList.remove(getPosition(appList));
|
||||
}
|
||||
|
||||
if (whiteList.size() > 0) {
|
||||
no_fua.setVisibility(View.GONE);
|
||||
rvWhiteApps.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
no_fua.setVisibility(View.VISIBLE);
|
||||
rvWhiteApps.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
whiteListAdapter.notifyDataSetChanged();
|
||||
});
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.RawRes;
|
||||
@@ -20,6 +21,7 @@ import com.bumptech.glide.Glide;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
||||
import com.ssb.simplitend.R;
|
||||
import com.ssb.simplitend.appblocking.MySharedPref;
|
||||
import com.ssb.simplitend.databinding.BottomSheetAlertBinding;
|
||||
import com.ssb.simplitend.databinding.DecisionBottomsheetBinding;
|
||||
import com.ssb.simplitend.databinding.DoneBottomsheetBinding;
|
||||
|
||||
@@ -38,6 +40,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 String NOTIFICATION_ACTION = "com.simplitend.NOTIFICATION_ACTION";
|
||||
|
||||
// fields
|
||||
public static final String PATIENT_DETAILS = "user_details";
|
||||
public static final String CAREGIVER_DETAILS = "caregiver_details";
|
||||
@@ -285,16 +289,97 @@ public abstract class AppUtil {
|
||||
setWantSecurityFlag(context, NOT_ASKED_CG_SECURITY);
|
||||
}
|
||||
|
||||
public static void dialPhone(Activity activity, String phone_number) {
|
||||
public static void dialPhone(Context activity, String phone_number) {
|
||||
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.fromParts("tel",
|
||||
phone_number, null));
|
||||
if (activity != null) activity.startActivity(intent);
|
||||
}
|
||||
|
||||
public static void messageNumber(Activity activity, String phone_number){
|
||||
public static void messageNumber(Context activity, String phone_number){
|
||||
Uri uri = Uri.parse("smsto:" + phone_number);
|
||||
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
|
||||
// intent.putExtra("sms_body", "The SMS text");
|
||||
if (activity != null) activity.startActivity(intent);
|
||||
}
|
||||
|
||||
public static void showBottomAlert(Context context, String content_type, Intent intent) throws Exception {
|
||||
BottomSheetDialog bsd = new BottomSheetDialog(context, R.style.BottomSheetDialog);
|
||||
BottomSheetAlertBinding binding = BottomSheetAlertBinding.inflate(LayoutInflater.from(context));
|
||||
bsd.setContentView(binding.getRoot());
|
||||
|
||||
String title = intent.getStringExtra(NotificationService.NOTIFICATION_TITLE_KEY);
|
||||
String body = intent.getStringExtra(NotificationService.NOTIFICATION_BODY_KEY);
|
||||
|
||||
switch (content_type){
|
||||
case Constants.PATIENT_OUT_OF_GEOFENCE:
|
||||
|
||||
setupBottomSheet(binding,
|
||||
R.drawable.img_medication_time,
|
||||
title, "Current location of patient",
|
||||
"Unknown", "Call patient",
|
||||
v -> {
|
||||
CaregiverDataCache.getCaregiverData(context,(careGiverData -> {
|
||||
if (careGiverData == null || careGiverData.patientDetails == null){
|
||||
Toast.makeText(context, "Couldn't load data", Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
}
|
||||
|
||||
AppUtil.dialPhone(context, careGiverData.patientDetails.phone_number);
|
||||
}), true);
|
||||
});
|
||||
|
||||
bsd.show();
|
||||
break;
|
||||
case Constants.ACTIVITY_TIME:
|
||||
setupBottomSheet(binding,
|
||||
R.drawable.img_activity_time,
|
||||
title, body,
|
||||
null, "Text patient",
|
||||
v -> {
|
||||
CaregiverDataCache.getCaregiverData(context,(careGiverData -> {
|
||||
if (careGiverData == null || careGiverData.patientDetails == null){
|
||||
Toast.makeText(context, "Couldn't load data", Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
}
|
||||
|
||||
AppUtil.messageNumber(context, careGiverData.patientDetails.phone_number);
|
||||
}), true);
|
||||
});
|
||||
|
||||
bsd.show();
|
||||
break;
|
||||
case Constants.MEDICINE_TIME:
|
||||
setupBottomSheet(binding,
|
||||
R.drawable.img_medication_time,
|
||||
title, body,
|
||||
null, "Text patient",
|
||||
v -> {
|
||||
CaregiverDataCache.getCaregiverData(context,(careGiverData -> {
|
||||
if (careGiverData == null || careGiverData.patientDetails == null){
|
||||
Toast.makeText(context, "Couldn't load data", Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
}
|
||||
|
||||
AppUtil.messageNumber(context, careGiverData.patientDetails.phone_number);
|
||||
}), true);
|
||||
});
|
||||
|
||||
bsd.show();
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static void setupBottomSheet(BottomSheetAlertBinding binding,
|
||||
int img_res,
|
||||
String title, String description_title,
|
||||
String description, String btn_text,
|
||||
View.OnClickListener btn_clickListener) {
|
||||
binding.image.setImageResource(img_res);
|
||||
binding.title.setText(title);
|
||||
binding.descriptionTitle.setText(description_title);
|
||||
binding.description.setText(description);
|
||||
binding.btn.setText(btn_text);
|
||||
binding.btn.setOnClickListener(btn_clickListener);
|
||||
}
|
||||
}
|
||||
|
||||
10
app/src/main/java/com/ssb/simplitend/apputils/Constants.java
Normal file
10
app/src/main/java/com/ssb/simplitend/apputils/Constants.java
Normal file
@@ -0,0 +1,10 @@
|
||||
package com.ssb.simplitend.apputils;
|
||||
|
||||
public abstract class Constants {
|
||||
public static final String NEW_SUBSCRIPTION = "new_subscription";
|
||||
public static final String ACTIVITY_TIME = "activity_time";
|
||||
public static final String MEDICINE_TIME = "medicine_time";
|
||||
public static final String GEOFENCING_RADIUS_UPDATED = "geofencing_radius_updated";
|
||||
public static final String HOME_LOCATION_UPDATED = "home_location_updated";
|
||||
public static final String PATIENT_OUT_OF_GEOFENCE = "patient_outof_geofence";
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.ssb.simplitend.apputils;
|
||||
|
||||
import android.content.Intent;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.onesignal.notifications.INotificationReceivedEvent;
|
||||
import com.onesignal.notifications.INotificationServiceExtension;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class NotificationService implements INotificationServiceExtension {
|
||||
|
||||
public static final String CONTENT_TYPE_KEY = "content_type_key";
|
||||
public static final String NOTIFICATION_BODY_KEY = "notification_body_key";
|
||||
public static final String NOTIFICATION_TITLE_KEY = "notification_title_key";
|
||||
|
||||
@Override
|
||||
public void onNotificationReceived(@NonNull INotificationReceivedEvent iNotificationReceivedEvent) {
|
||||
JSONObject extras = iNotificationReceivedEvent.getNotification().getAdditionalData();
|
||||
String content_type = null;
|
||||
if (extras != null){
|
||||
try {
|
||||
content_type = extras.getString("content_type");
|
||||
} catch (JSONException e) {
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
|
||||
Intent intent = new Intent(AppUtil.NOTIFICATION_ACTION);
|
||||
intent.putExtra(CONTENT_TYPE_KEY, content_type);
|
||||
intent.putExtra(NOTIFICATION_BODY_KEY, iNotificationReceivedEvent.getNotification().getBody());
|
||||
intent.putExtra(NOTIFICATION_TITLE_KEY, iNotificationReceivedEvent.getNotification().getTitle());
|
||||
|
||||
iNotificationReceivedEvent.getContext().sendBroadcast(intent);
|
||||
}
|
||||
}
|
||||
@@ -17,11 +17,5 @@ public class SimpliTendApp extends Application {
|
||||
|
||||
// OneSignal Initialization
|
||||
OneSignal.initWithContext(this, getString(R.string.ONE_SIGNAL_APP_ID));
|
||||
|
||||
// handling notification when app is in foreground.
|
||||
// OneSignal.getNotifications().addForegroundLifecycleListener(iNotificationWillDisplayEvent -> {
|
||||
// Toast.makeText(this, "Notifies : " + iNotificationWillDisplayEvent.getNotification().getBody(), Toast.LENGTH_SHORT).show();
|
||||
// });
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,17 @@
|
||||
package com.ssb.simplitend.caregiverdashboard.activities;
|
||||
|
||||
import static com.ssb.simplitend.apputils.NotificationService.CONTENT_TYPE_KEY;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.content.res.AppCompatResources;
|
||||
import androidx.fragment.app.Fragment;
|
||||
@@ -13,9 +20,12 @@ import androidx.lifecycle.ViewModelProvider;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.onesignal.Continue;
|
||||
import com.onesignal.OneSignal;
|
||||
import com.onesignal.notifications.INotificationLifecycleListener;
|
||||
import com.onesignal.notifications.INotificationWillDisplayEvent;
|
||||
import com.ssb.simplitend.R;
|
||||
import com.ssb.simplitend.apputils.AppUtil;
|
||||
import com.ssb.simplitend.apputils.CaregiverDataCache;
|
||||
import com.ssb.simplitend.apputils.Constants;
|
||||
import com.ssb.simplitend.articles.ArticlesActivity;
|
||||
import com.ssb.simplitend.caregiverdashboard.fragments.CgDashBoardFragment;
|
||||
import com.ssb.simplitend.caregiverdashboard.fragments.MyPatientFragment;
|
||||
@@ -31,6 +41,9 @@ import com.ssb.simplitend.welcome.welcomecg.mvvm.CareGiverData;
|
||||
import com.yarolegovich.slidingrootnav.SlidingRootNavBuilder;
|
||||
import com.yarolegovich.slidingrootnav.callback.DragStateListener;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class CaregiverDashActivity extends AppCompatActivity implements
|
||||
DragStateListener,
|
||||
HomeBottomNav.OnBottomNavItemSelectListener {
|
||||
@@ -38,11 +51,11 @@ public class CaregiverDashActivity extends AppCompatActivity implements
|
||||
// view binding
|
||||
protected CaregiverDashboardActivityBinding binding;
|
||||
private CaregiverDashboardMenuBinding menuBinding;
|
||||
|
||||
protected CaregiverMainViewModel viewModel;
|
||||
|
||||
private CareGiverData careGiverData;
|
||||
|
||||
private BroadcastReceiver notification_receiver;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
@@ -59,6 +72,19 @@ public class CaregiverDashActivity extends AppCompatActivity implements
|
||||
watchSubscription();
|
||||
}, true);
|
||||
|
||||
// NOTIFICATION RECEIVER
|
||||
notification_receiver = new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
String content_type = intent.getStringExtra(CONTENT_TYPE_KEY);
|
||||
try {
|
||||
AppUtil.showBottomAlert(CaregiverDashActivity.this, content_type, intent);
|
||||
}catch (Exception e){
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
};
|
||||
registerReceiver(notification_receiver, new IntentFilter(AppUtil.NOTIFICATION_ACTION));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -74,18 +100,24 @@ public class CaregiverDashActivity extends AppCompatActivity implements
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
Fragment fragment = getSupportFragmentManager().findFragmentByTag("chat");
|
||||
if (fragment != null){
|
||||
if (fragment instanceof ChatFragment){
|
||||
if (fragment != null) {
|
||||
if (fragment instanceof ChatFragment) {
|
||||
binding.bottomNav.selectMenuItem(MenuItem.DASHBOARD);
|
||||
onBottomNavItemSelected(MenuItem.DASHBOARD);
|
||||
}else{
|
||||
} else {
|
||||
super.onBackPressed();
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
super.onBackPressed();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
unregisterReceiver(notification_receiver);
|
||||
}
|
||||
|
||||
private void initViews() {
|
||||
|
||||
// viewmodel
|
||||
@@ -105,21 +137,21 @@ public class CaregiverDashActivity extends AppCompatActivity implements
|
||||
.inject();
|
||||
|
||||
binding.bottomNav.setItemSelectListener(this);
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void clickEvents() {
|
||||
|
||||
// menu click events
|
||||
menuBinding.close.setOnClickListener(v -> {
|
||||
if (viewModel.slidingRootNav.isMenuOpened()){
|
||||
if (viewModel.slidingRootNav.isMenuOpened()) {
|
||||
viewModel.slidingRootNav.closeMenu(true);
|
||||
}
|
||||
});
|
||||
|
||||
// content click events
|
||||
binding.tint.setOnClickListener(v -> {
|
||||
if (viewModel.slidingRootNav.isMenuOpened()){
|
||||
if (viewModel.slidingRootNav.isMenuOpened()) {
|
||||
viewModel.slidingRootNav.closeMenu(true);
|
||||
binding.tint.setVisibility(View.GONE);
|
||||
}
|
||||
@@ -152,9 +184,9 @@ public class CaregiverDashActivity extends AppCompatActivity implements
|
||||
|
||||
}
|
||||
|
||||
private void watchSubscription(){
|
||||
if (careGiverData != null){
|
||||
if (careGiverData.isCaregiverTakeSubscription != 1){
|
||||
private void watchSubscription() {
|
||||
if (careGiverData != null) {
|
||||
if (careGiverData.isCaregiverTakeSubscription != 1) {
|
||||
// user has not subscribed yet
|
||||
Intent intent = new Intent(this, CgSubscriptionActivity.class);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
@@ -167,14 +199,13 @@ public class CaregiverDashActivity extends AppCompatActivity implements
|
||||
// initializing dashboard fragment
|
||||
replaceFragment(new CgDashBoardFragment(), "dashboard");
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU){
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
// requestPermission will show the native Android notification permission prompt.
|
||||
OneSignal.getNotifications().requestPermission(true, Continue.with(r -> {
|
||||
if (r.isSuccess()) {
|
||||
if (r.getData() != null) {
|
||||
// `requestPermission` completed successfully and the user has accepted permission
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
// `requestPermission` completed successfully but the user has rejected permission
|
||||
}
|
||||
}
|
||||
@@ -183,12 +214,12 @@ public class CaregiverDashActivity extends AppCompatActivity implements
|
||||
}
|
||||
|
||||
private void setLayoutDetails() {
|
||||
if (careGiverData == null || careGiverData.patientDetails == null){
|
||||
if (careGiverData == null || careGiverData.patientDetails == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
menuBinding.name.setText(careGiverData.first_name);
|
||||
if (careGiverData.profile_photo != null){
|
||||
if (careGiverData.profile_photo != null) {
|
||||
Glide.with(this)
|
||||
.load(AppUtil.IMAGE_BASE_URL + careGiverData.profile_photo)
|
||||
.placeholder(android.R.color.darker_gray)
|
||||
@@ -202,9 +233,9 @@ public class CaregiverDashActivity extends AppCompatActivity implements
|
||||
if (fragment instanceof CgDashBoardFragment) {
|
||||
|
||||
String first_name = "";
|
||||
if (careGiverData != null && careGiverData.first_name != null){
|
||||
if (careGiverData != null && careGiverData.first_name != null) {
|
||||
String[] name = careGiverData.first_name.split(" ");
|
||||
if (name.length > 0){
|
||||
if (name.length > 0) {
|
||||
first_name = name[0];
|
||||
}
|
||||
}
|
||||
@@ -215,7 +246,7 @@ public class CaregiverDashActivity extends AppCompatActivity implements
|
||||
|
||||
}
|
||||
|
||||
private void replaceFragment(Fragment fragment, String tag){
|
||||
private void replaceFragment(Fragment fragment, String tag) {
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.replace(R.id.fcv_cg_home, fragment, tag)
|
||||
.commitAllowingStateLoss();
|
||||
@@ -229,10 +260,10 @@ public class CaregiverDashActivity extends AppCompatActivity implements
|
||||
|
||||
@Override
|
||||
public void onDragEnd(boolean isMenuOpened) {
|
||||
if (isMenuOpened){
|
||||
if (isMenuOpened) {
|
||||
binding.getRoot().setRadius(30);
|
||||
binding.tint.setVisibility(View.VISIBLE);
|
||||
}else{
|
||||
} else {
|
||||
binding.getRoot().setRadius(0);
|
||||
binding.tint.setVisibility(View.GONE);
|
||||
}
|
||||
@@ -240,7 +271,7 @@ public class CaregiverDashActivity extends AppCompatActivity implements
|
||||
|
||||
@Override
|
||||
public void onBottomNavItemSelected(MenuItem selectedItem) {
|
||||
if (selectedItem == MenuItem.DASHBOARD){
|
||||
if (selectedItem == MenuItem.DASHBOARD) {
|
||||
replaceFragment(new CgDashBoardFragment(), "dashboard");
|
||||
|
||||
// setting up toolbar accordingly
|
||||
@@ -251,16 +282,16 @@ public class CaregiverDashActivity extends AppCompatActivity implements
|
||||
binding.toolbar.setNavigationIconTint(getResources().getColor(R.color.black));
|
||||
|
||||
String first_name = "";
|
||||
if (careGiverData != null && careGiverData.first_name != null){
|
||||
if (careGiverData != null && careGiverData.first_name != null) {
|
||||
String[] name = careGiverData.first_name.split(" ");
|
||||
if (name.length > 0){
|
||||
if (name.length > 0) {
|
||||
first_name = name[0];
|
||||
}
|
||||
}
|
||||
|
||||
binding.toolbar.setTitle("Welcome " + first_name);
|
||||
|
||||
}else if (selectedItem == MenuItem.MY_PATIENT){
|
||||
} else if (selectedItem == MenuItem.MY_PATIENT) {
|
||||
replaceFragment(new MyPatientFragment(), "my_patient");
|
||||
|
||||
// setting up toolbar accordingly
|
||||
@@ -270,7 +301,7 @@ public class CaregiverDashActivity extends AppCompatActivity implements
|
||||
binding.toolbar.setTitle(null);
|
||||
binding.toolbar.setNavigationIcon(AppCompatResources.getDrawable(this, R.drawable.ic_menu));
|
||||
binding.toolbar.setNavigationIconTint(getResources().getColor(R.color.white));
|
||||
}else if (selectedItem == MenuItem.CHATS){
|
||||
} else if (selectedItem == MenuItem.CHATS) {
|
||||
replaceFragment(new ChatFragment(), "chat");
|
||||
|
||||
binding.toolbar.setVisibility(View.GONE);
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
package com.ssb.simplitend.caregiverdashboard.fragments;
|
||||
|
||||
import static com.ssb.simplitend.apputils.NotificationService.CONTENT_TYPE_KEY;
|
||||
import static com.ssb.simplitend.articles.ArticleShowerActivity.ARTICLE_TITLE;
|
||||
import static com.ssb.simplitend.articles.ArticleShowerActivity.ARTICLE_URL_KEY;
|
||||
import static com.ssb.simplitend.cg_geofencing.CgGeoFencingActivity.GEOFENCE_DETAILS_KEY;
|
||||
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -69,6 +73,8 @@ public class CgDashBoardFragment extends Fragment implements
|
||||
private PatientData patientData;
|
||||
private ProgressDialog progressDialog;
|
||||
private GoogleMap mGoogleMap;
|
||||
|
||||
private BroadcastReceiver notification_receiver;
|
||||
|
||||
public CgDashBoardFragment(){
|
||||
// required empty
|
||||
@@ -84,11 +90,27 @@ public class CgDashBoardFragment extends Fragment implements
|
||||
|
||||
progressDialog = new ProgressDialog(requireContext());
|
||||
|
||||
notification_receiver = new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
String content_type = intent.getStringExtra(CONTENT_TYPE_KEY);
|
||||
|
||||
loadReminders();
|
||||
loadActivities();
|
||||
// if (Constants.ACTIVITY_TIME.equals(content_type)){
|
||||
// loadArticles();
|
||||
// }else if (Constants.MEDICINE_TIME.equals(content_type)){
|
||||
// loadReminders();
|
||||
// }
|
||||
}
|
||||
};
|
||||
|
||||
CaregiverDataCache.getCaregiverData(requireActivity(), (careGiverData1 -> {
|
||||
this.careGiverData = careGiverData1;
|
||||
|
||||
loadReminders();
|
||||
loadActivities();
|
||||
requireContext().registerReceiver(notification_receiver, new IntentFilter(AppUtil.NOTIFICATION_ACTION));
|
||||
}), true);
|
||||
|
||||
initViews();
|
||||
@@ -112,6 +134,12 @@ public class CgDashBoardFragment extends Fragment implements
|
||||
}), true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
requireContext().unregisterReceiver(notification_receiver);
|
||||
}
|
||||
|
||||
private void loadActivities() {
|
||||
if (careGiverData == null) return;
|
||||
|
||||
@@ -181,6 +209,24 @@ public class CgDashBoardFragment extends Fragment implements
|
||||
Intent intent = new Intent(requireActivity(), ArticlesActivity.class);
|
||||
startActivity(intent);
|
||||
});
|
||||
|
||||
binding.refreshBtn.setOnClickListener(v -> {
|
||||
binding.refreshBtn.setVisibility(View.GONE);
|
||||
binding.refreshProgress.setVisibility(View.VISIBLE);
|
||||
|
||||
viewModel.ongoingActivityText = getString(R.string.loading);
|
||||
viewModel.upcomingActivityText = getString(R.string.loading);
|
||||
viewModel.upcomingReminderText = getString(R.string.loading);
|
||||
viewModel.dailyReminderText = getString(R.string.loading);
|
||||
|
||||
binding.upcomingActivity.setText(viewModel.upcomingActivityText);
|
||||
binding.onGoingActivity.setText(viewModel.ongoingActivityText);
|
||||
binding.nearestReminder.setText(viewModel.upcomingReminderText);
|
||||
binding.dailyReminder.setText(viewModel.dailyReminderText);
|
||||
|
||||
loadReminders();
|
||||
loadActivities();
|
||||
});
|
||||
}
|
||||
|
||||
public void setArticleDetails(ArticleResult articleResult){
|
||||
@@ -341,6 +387,9 @@ public class CgDashBoardFragment extends Fragment implements
|
||||
|
||||
@Override
|
||||
public void onFetchRemindersListFailed(Throwable t, String message) {
|
||||
binding.refreshProgress.setVisibility(View.GONE);
|
||||
binding.refreshBtn.setVisibility(View.VISIBLE);
|
||||
|
||||
binding.nearestReminder.setText(R.string.couldnt_load_data);
|
||||
binding.dailyReminder.setText(R.string.couldnt_load_data);
|
||||
|
||||
@@ -352,6 +401,9 @@ public class CgDashBoardFragment extends Fragment implements
|
||||
public void nearestReminder(NearestReminder nearestReminder) {
|
||||
Log.d("aditya", "nearestReminder: " + nearestReminder);
|
||||
|
||||
binding.refreshProgress.setVisibility(View.GONE);
|
||||
binding.refreshBtn.setVisibility(View.VISIBLE);
|
||||
|
||||
try {
|
||||
// daily routine setting
|
||||
String daily_r_txt;
|
||||
@@ -442,6 +494,9 @@ public class CgDashBoardFragment extends Fragment implements
|
||||
|
||||
@Override
|
||||
public void onRoutinesFetchedFailed(Throwable t, String message) {
|
||||
binding.refreshProgress.setVisibility(View.GONE);
|
||||
binding.refreshBtn.setVisibility(View.VISIBLE);
|
||||
|
||||
binding.upcomingActivity.setText(R.string.couldnt_load_data);
|
||||
binding.onGoingActivity.setText(R.string.couldnt_load_data);
|
||||
|
||||
@@ -451,6 +506,9 @@ public class CgDashBoardFragment extends Fragment implements
|
||||
|
||||
@Override
|
||||
public void nearestActivity(NearestActivity nearestActivity) {
|
||||
binding.refreshProgress.setVisibility(View.GONE);
|
||||
binding.refreshBtn.setVisibility(View.VISIBLE);
|
||||
|
||||
if (nearestActivity.ongoing_activity_name != null){
|
||||
binding.onGoingActivity.setText(nearestActivity.ongoing_activity_name);
|
||||
}else{
|
||||
|
||||
@@ -21,6 +21,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
||||
import com.ssb.simplitend.R;
|
||||
import com.ssb.simplitend.apputils.AppUtil;
|
||||
import com.ssb.simplitend.apputils.PatientDataCache;
|
||||
import com.ssb.simplitend.databinding.AddContactFragmentBinding;
|
||||
import com.ssb.simplitend.databinding.DoneBottomsheetBinding;
|
||||
import com.ssb.simplitend.welcome.welcomepatient.fragments.contacts.mvvm.AddContactAdapter;
|
||||
@@ -127,6 +128,8 @@ public class AddContactFragment extends Fragment implements WelcomeContracts.Con
|
||||
contactList.add(response.contact_data);
|
||||
}
|
||||
|
||||
PatientDataCache.setContactList(new ArrayList<>(contactList));
|
||||
|
||||
for (int i = contactList.size(); i<10; i++){
|
||||
contactList.add(new ContactData(-1));
|
||||
}
|
||||
|
||||
@@ -7,10 +7,8 @@ import static com.ssb.simplitend.welcome.welcomepatient.fragments.register.ReAct
|
||||
import static com.ssb.simplitend.welcome.welcomepatient.fragments.register.ReActivateFragment.TOKEN_KEY;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -24,9 +22,9 @@ import androidx.navigation.Navigation;
|
||||
|
||||
import com.ssb.simplitend.R;
|
||||
import com.ssb.simplitend.apputils.AppUtil;
|
||||
import com.ssb.simplitend.apputils.CaregiverDataCache;
|
||||
import com.ssb.simplitend.apputils.PatientDataCache;
|
||||
import com.ssb.simplitend.apputils.RetrofitHelper;
|
||||
import com.ssb.simplitend.apputils.CaregiverDataCache;
|
||||
import com.ssb.simplitend.caregiverdashboard.activities.CaregiverDashActivity;
|
||||
import com.ssb.simplitend.caregiverdashboard.activities.deactivateacc.AccountPresenter;
|
||||
import com.ssb.simplitend.databinding.SplashFragmentBinding;
|
||||
|
||||
Reference in New Issue
Block a user