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

3
.idea/misc.xml generated
View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_17_PREVIEW" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

View File

@@ -105,6 +105,9 @@ dependencies {
// Stripe Android SDK
implementation 'com.stripe:stripe-android:20.28.0'
// One signal sdk
implementation 'com.onesignal:OneSignal:[5.0.0, 5.99.99]'
implementation 'androidx.appcompat:appcompat:1.6.0'
implementation 'com.google.android.material:material:1.8.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'

View File

@@ -17,6 +17,7 @@
tools:ignore="ProtectedPermissions" />
<application
android:name=".apputils.SimpliTendApp"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -365,7 +365,7 @@
<string name="year">Yearly</string>
<string name="_25">-25% OFF</string>
<string name="_71_4"><strike>$71.4</strike></string>
<string name="_53_5">$53.5</string>
<string name="_53_5">$53.55</string>
<string name="mo">mo</string>
<string name="_4_46">$4.46</string>
<string name="monthly">Monthly</string>
@@ -405,5 +405,6 @@
<string name="support_contact">+1 (732)-123-1234</string>
<string name="re_activate_account">Re-Activate Account</string>
<string name="login_with_another_account"><u>Login with another account?</u></string>
<string name="ONE_SIGNAL_APP_ID">5a310c2c-fd69-4ea4-a804-7e6780493864</string>
</resources>

View File

@@ -1,12 +1,12 @@
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:3.4.0'
classpath 'com.android.tools.build:gradle:7.4.2'
classpath 'com.google.gms:google-services:4.3.14'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'
}
}// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id 'com.android.application' version '7.3.1' apply false
id 'com.android.library' version '7.3.1' apply false
id 'com.android.application' version '7.4.2' apply false
id 'com.android.library' version '7.4.2' apply false
id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false
}

View File

@@ -1,6 +1,6 @@
#Mon Jun 26 13:52:22 IST 2023
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME