This commit is contained in:
2023-09-18 18:42:32 +05:30
parent 435cdf571f
commit 94a70e8c14
22 changed files with 127 additions and 18 deletions

View File

@@ -0,0 +1,27 @@
package com.ssb.simplitend.apputils;
import android.app.Application;
import com.onesignal.OneSignal;
import com.onesignal.debug.LogLevel;
import com.ssb.simplitend.R;
public class SimpliTendApp extends Application {
@Override
public void onCreate() {
super.onCreate();
// Verbose Logging set to help debug issues, remove before releasing your app.
OneSignal.getDebug().setLogLevel(LogLevel.VERBOSE);
// 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();
// });
}
}

View File

@@ -1,6 +1,7 @@
package com.ssb.simplitend.caregiverdashboard.activities;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
@@ -10,6 +11,8 @@ import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
import com.bumptech.glide.Glide;
import com.onesignal.Continue;
import com.onesignal.OneSignal;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
import com.ssb.simplitend.apputils.CaregiverDataCache;
@@ -163,6 +166,20 @@ public class CaregiverDashActivity extends AppCompatActivity implements
// initializing dashboard fragment
replaceFragment(new CgDashBoardFragment(), "dashboard");
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 {
// `requestPermission` completed successfully but the user has rejected permission
}
}
}));
}
}
private void setLayoutDetails() {

View File

@@ -149,6 +149,12 @@ public class CgSubscriptionActivity extends AppCompatActivity
float plan_price_float = Float.parseFloat(plan.plan_value);
plan_price_float *= 100; // converting from dollars to cents
if (position == 1){
// yearly plan
// adding 25% off
plan_price_float = plan_price_float * 0.75f;
}
plan_price = "" + (int) plan_price_float; // converting to int to remove leading ".0"
} catch (Exception e) {
plan_price = getString(R.string.default_price);

View File

@@ -1,9 +1,12 @@
package com.ssb.simplitend.patient_dashboard;
import android.os.Build;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.onesignal.Continue;
import com.onesignal.OneSignal;
import com.ssb.simplitend.R;
public class DashBoardActivity extends AppCompatActivity {
@@ -11,5 +14,20 @@ public class DashBoardActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dash_board_cp);
// requestPermission will show the native Android notification permission prompt.
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 {
// `requestPermission` completed successfully but the user has rejected permission
}
}
}));
}
}
}

View File

@@ -492,8 +492,8 @@ public class ReminderFragment extends Fragment implements RecyclerTouchListener.
}
AppUtil.showAlert(requireContext(),
"Are you sure?",
"Do yuo want to check this reminder?\nThis cannot be undone.",
"Please confirm that...",
"You have taken " + reminderResult.medicine_name + " medication",
getString(R.string.yes),
(dialog, which) -> {
dialog.dismiss();

View File

@@ -138,6 +138,14 @@ public class ReminderAdapter extends RecyclerView.Adapter<ReminderAdapter.Remind
binding.medImg.setImageResource(R.drawable.ic_drops);
quantity = reminder.medication_quantity + " drops";
break;
case "Solution(Liquid)":
binding.medImg.setImageResource(R.drawable.ic_solution);
quantity = reminder.medication_quantity + " units";
break;
default:
binding.medImg.setImageResource(R.drawable.ic_other_med);
quantity = reminder.medication_quantity + " units";
break;
}
}else{
binding.medImg.setImageResource(R.drawable.ic_capsules);

View File

@@ -28,6 +28,7 @@ import androidx.navigation.Navigation;
import com.google.i18n.phonenumbers.NumberParseException;
import com.google.i18n.phonenumbers.PhoneNumberUtil;
import com.google.i18n.phonenumbers.Phonenumber;
import com.onesignal.OneSignal;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
import com.ssb.simplitend.apputils.CaregiverDataCache;
@@ -196,6 +197,13 @@ public class CgRegisterFragment extends Fragment implements WelcomeContracts.Reg
RequestBody password_body = RequestBody.create(mPassword, MediaType.parse("text/plain"));
body.put("password", password_body);
String sub_id = OneSignal.getUser().getPushSubscription().getId();
if (sub_id != null){
RequestBody one_signal_player_id_body = RequestBody.create(sub_id, MediaType.parse("text/plain;charset=utf-8") );
body.put("one_signal_player_id", one_signal_player_id_body);
}
viewModel.registerCareGiver(body, this);
}

View File

@@ -21,6 +21,7 @@ import androidx.lifecycle.ViewModelProvider;
import androidx.navigation.NavOptions;
import androidx.navigation.Navigation;
import com.onesignal.OneSignal;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
import com.ssb.simplitend.apputils.CaregiverDataCache;
@@ -91,6 +92,8 @@ public class CgSignInFragment extends Fragment implements WelcomeContracts.CgLog
body.put("password", password);
body.put("one_signal_player_id", OneSignal.getUser().getPushSubscription().getId());
viewModel.loginCaregiver(body, this);
}
});

View File

@@ -39,7 +39,7 @@ public class CareGiverData{
public String is_admin;
public int patientId;
public String caregiver_status;
public String caregiver_status, one_signal_player_id;
public PatientData patientDetails;
}

View File

@@ -23,6 +23,7 @@ import androidx.lifecycle.ViewModelProvider;
import androidx.navigation.NavOptions;
import androidx.navigation.Navigation;
import com.onesignal.OneSignal;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
import com.ssb.simplitend.apputils.EditTextErrorRemover;
@@ -130,6 +131,13 @@ public class SignInFragment extends Fragment implements WelcomeContracts.Registe
RequestBody pin_body = RequestBody.create(Objects.requireNonNull(binding.pin.getText()).toString().trim(), MediaType.parse("text/plain"));
body.put("pin", pin_body);
String sub_id = OneSignal.getUser().getPushSubscription().getId();
if (sub_id != null){
RequestBody one_signal_player_id_body = RequestBody.create(sub_id, MediaType.parse("text/plain;charset=utf-8") );
body.put("one_signal_player_id", one_signal_player_id_body);
}
welcomeViewModel.loginPatient(body, this);
}
@@ -175,6 +183,7 @@ public class SignInFragment extends Fragment implements WelcomeContracts.Registe
public void onResponse(PatientData patientResult, String token) {
// caching user data
PatientDataCache.setPatientData(patientResult);
AppUtil.savePatientData(token, patientResult.patientId, requireContext(), true);
progressDialog.dismiss();

View File

@@ -16,6 +16,7 @@ import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
import androidx.navigation.Navigation;
import com.onesignal.OneSignal;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
import com.ssb.simplitend.apputils.PatientDataCache;
@@ -125,6 +126,9 @@ public class CreatePinFragment extends Fragment implements WelcomeContracts.Regi
patientData.pin_code = binding.pin.getText().toString();
patientData.c_pin_code = binding.confirmPin.getText().toString();
// setting ONE_SIGNAL Subscription id if available
patientData.one_signal_player_id = OneSignal.getUser().getPushSubscription().getId();
progressDialog.setTitle("Please wait");
progressDialog.setMessage("while we sign you up");
progressDialog.setCancelable(false);

View File

@@ -269,14 +269,14 @@ public class SplashFragment extends Fragment
// caching data
PatientDataCache.setPatientData(patientData);
// if (!patientData.caregiver_status.equals(AccountPresenter.ACC_ACTIVE_STR)){
// // account is not active
//
// gotoReActivateScreen(patientData.caregiver_status,
// AppUtil.getPatientToken(requireContext()),
// -1, false);
// return;
// }
if (!patientData.caregiver_status.equals(AccountPresenter.ACC_ACTIVE_STR)){
// account is not active
gotoReActivateScreen(patientData.caregiver_status,
AppUtil.getPatientToken(requireContext()),
-1, false);
return;
}
binding.retry.setVisibility(View.GONE);
binding.loadAnim.setVisibility(View.GONE);

View File

@@ -78,6 +78,9 @@ public class WelcomeViewModel extends ViewModel {
RequestBody lng_body = RequestBody.create(patientData.lng, MediaType.parse("text/plain;charset=utf-8") );
body.put("lng", lng_body);
RequestBody one_signal_player_id_body = RequestBody.create(patientData.one_signal_player_id, MediaType.parse("text/plain;charset=utf-8") );
body.put("one_signal_player_id", one_signal_player_id_body);
welcomeRepository.registerPatient(body, registerPatientContract);
}

View File

@@ -28,6 +28,8 @@ public class PatientData {
public String caregiver_status;
public String one_signal_player_id;
// progress flags
public int isCareGiverLink
, isPatientReminderData