.
This commit is contained in:
3
.idea/misc.xml
generated
3
.idea/misc.xml
generated
@@ -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">
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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();
|
||||
// });
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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() {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
@@ -28,6 +28,8 @@ public class PatientData {
|
||||
|
||||
public String caregiver_status;
|
||||
|
||||
public String one_signal_player_id;
|
||||
|
||||
// progress flags
|
||||
public int isCareGiverLink
|
||||
, isPatientReminderData
|
||||
|
||||
BIN
app/src/main/res/drawable/ic_other_med.png
Normal file
BIN
app/src/main/res/drawable/ic_other_med.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 44 KiB |
BIN
app/src/main/res/drawable/ic_solution.png
Normal file
BIN
app/src/main/res/drawable/ic_solution.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
@@ -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>
|
||||
@@ -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
|
||||
}
|
||||
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user