.
This commit is contained in:
@@ -38,6 +38,10 @@
|
||||
android:theme="@style/Theme.SimpliTend"
|
||||
android:usesCleartextTraffic="true"
|
||||
tools:targetApi="31">
|
||||
<activity
|
||||
android:name=".cg_subscription.SubscriptionWebViewActivity"
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait"/>
|
||||
<activity
|
||||
android:name=".chats.ChatsActivity"
|
||||
android:exported="false"
|
||||
|
||||
@@ -6,6 +6,7 @@ import static com.app.simplitend.apputils.Constants.ACTIVITY_TIME;
|
||||
import static com.app.simplitend.apputils.Constants.BATTERY_LOW;
|
||||
import static com.app.simplitend.apputils.Constants.MEDICATION_REFILL;
|
||||
import static com.app.simplitend.apputils.Constants.MEDICINE_TIME;
|
||||
import static com.app.simplitend.apputils.Constants.NEW_SUBSCRIPTION;
|
||||
import static com.app.simplitend.patientgeofencing.GeoFenceHelper.GEOFENCE_TAG;
|
||||
|
||||
import android.app.NotificationManager;
|
||||
@@ -96,6 +97,15 @@ public class NotificationService implements INotificationServiceExtension {
|
||||
AppUtil.incrementNoOfNotification(iNotificationReceivedEvent.getContext());
|
||||
}
|
||||
|
||||
if (NEW_SUBSCRIPTION.equals(content_type)){
|
||||
// sending local broadcast
|
||||
Intent broadcastIntent = new Intent(NOTIFICATION_ACTION);
|
||||
broadcastIntent.putExtra(CONTENT_TYPE_KEY, content_type);
|
||||
iNotificationReceivedEvent.getContext().sendBroadcast(broadcastIntent);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
Intent intent = new Intent(iNotificationReceivedEvent.getContext(), BottomNotificationActivity.class);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
intent.setAction(NOTIFICATION_ACTION);
|
||||
|
||||
@@ -6,6 +6,7 @@ import static com.app.simplitend.caregiverdashboard.activities.PatientProfileSho
|
||||
import static com.app.simplitend.caregiverdashboard.activities.PatientProfileShowerActivity.MED_REMINDER_F;
|
||||
import static com.app.simplitend.caregiverdashboard.activities.PatientProfileShowerActivity.WHICH_FRAGMENT;
|
||||
import static com.app.simplitend.cg_geofencing.CgGeoFencingActivity.GEOFENCE_DETAILS_KEY;
|
||||
import static com.app.simplitend.cg_subscription.SubscriptionWebViewActivity.EXTRA_CAREGIVER_XID;
|
||||
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Intent;
|
||||
@@ -32,6 +33,7 @@ import com.app.simplitend.caregiverdashboard.mvvm.CgHomeContracts;
|
||||
import com.app.simplitend.caregiverdashboard.mvvm.models.GeoFenceDetails;
|
||||
import com.app.simplitend.cg_geofencing.CgGeoFencingActivity;
|
||||
import com.app.simplitend.cg_subscription.CgSubscriptionActivity;
|
||||
import com.app.simplitend.cg_subscription.SubscriptionWebViewActivity;
|
||||
import com.app.simplitend.databinding.MyPatientFragmentBinding;
|
||||
import com.app.simplitend.welcome.welcomecg.mvvm.CareGiverData;
|
||||
import com.bumptech.glide.Glide;
|
||||
@@ -167,8 +169,15 @@ public class MyPatientFragment extends Fragment implements CgHomeContracts.GetGe
|
||||
});
|
||||
|
||||
binding.subPlans.setOnClickListener(v -> {
|
||||
Intent intent = new Intent(requireActivity(), CgSubscriptionActivity.class);
|
||||
startActivity(intent);
|
||||
// Intent intent = new Intent(requireActivity(), CgSubscriptionActivity.class);
|
||||
// startActivity(intent);
|
||||
CaregiverDataCache.getCaregiverData(requireContext(), careGiverData1 -> {
|
||||
if (careGiverData1 == null) return;
|
||||
|
||||
Intent intent = new Intent(requireActivity(), SubscriptionWebViewActivity.class);
|
||||
intent.putExtra(EXTRA_CAREGIVER_XID, careGiverData1.caregiver_xid);
|
||||
startActivity(intent);
|
||||
}, true);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.app.simplitend.cg_subscription;
|
||||
|
||||
import static com.app.simplitend.cg_subscription.SubscriptionWebViewActivity.EXTRA_CAREGIVER_XID;
|
||||
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@@ -7,14 +9,12 @@ import android.content.res.Configuration;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.text.Html;
|
||||
import android.text.SpannableString;
|
||||
import android.text.Spanned;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.text.style.ClickableSpan;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.activity.result.ActivityResultLauncher;
|
||||
import androidx.activity.result.contract.ActivityResultContracts;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
@@ -63,6 +63,8 @@ public class CgSubscriptionActivity extends AppCompatActivity
|
||||
|
||||
private String current_subscription_plan_id;
|
||||
|
||||
private ActivityResultLauncher<Intent> webViewLauncher;
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
@@ -95,6 +97,19 @@ public class CgSubscriptionActivity extends AppCompatActivity
|
||||
|
||||
// selecting default yearly pack
|
||||
binding.yearCheck.setSelected(true);
|
||||
|
||||
webViewLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(),
|
||||
result -> {
|
||||
CaregiverDataCache.setCareGiverData(null);
|
||||
CaregiverDataCache.getCaregiverData(this, careGiverData1 -> {
|
||||
if (careGiverData1 != null && careGiverData1.isCaregiverTakeSubscription == 1){
|
||||
Intent intent = new Intent(this, CgProfileProgressActivity.class);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
}, true);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -148,8 +163,7 @@ public class CgSubscriptionActivity extends AppCompatActivity
|
||||
Toast.makeText(this, "Please try again later.", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
} else {
|
||||
payForSubscription(); // uses payment sheet
|
||||
// showCardDetailsWidget(); // uses custom elements
|
||||
openWebViewForSubscription(careGiverData1.caregiver_xid);
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(this, "Couldn't load data", Toast.LENGTH_SHORT).show();
|
||||
@@ -184,6 +198,12 @@ public class CgSubscriptionActivity extends AppCompatActivity
|
||||
|
||||
}
|
||||
|
||||
private void openWebViewForSubscription(int caregiver_xid) {
|
||||
Intent intent = new Intent(this, SubscriptionWebViewActivity.class);
|
||||
intent.putExtra(EXTRA_CAREGIVER_XID, caregiver_xid);
|
||||
webViewLauncher.launch(intent);
|
||||
}
|
||||
|
||||
private void cancelSubscription() {
|
||||
if (current_subscription_plan_id == null){
|
||||
Toast.makeText(this, "Please try again later.", Toast.LENGTH_SHORT).show();
|
||||
@@ -200,6 +220,9 @@ public class CgSubscriptionActivity extends AppCompatActivity
|
||||
this);
|
||||
}
|
||||
|
||||
/*
|
||||
This method is no more used as subscription is handled on website
|
||||
*/
|
||||
private void payForSubscription() {
|
||||
if (careGiverData == null || subscriptionPlans == null) {
|
||||
Toast.makeText(this, "Something went wrong", Toast.LENGTH_SHORT).show();
|
||||
@@ -496,11 +519,13 @@ public class CgSubscriptionActivity extends AppCompatActivity
|
||||
});
|
||||
|
||||
binding.monthCard.setVisibility(View.VISIBLE);
|
||||
binding.yearCheck.setSelected(true);
|
||||
binding.monthCard.setSelected(true);
|
||||
binding.monthCard.setOnClickListener(v -> {
|
||||
if (!binding.monthCheck.isActivated()) {
|
||||
binding.yearCheck.setSelected(false);
|
||||
binding.monthCheck.setSelected(true);
|
||||
}
|
||||
// if (!binding.monthCheck.isActivated()) {
|
||||
// binding.yearCheck.setSelected(false);
|
||||
// binding.monthCheck.setSelected(true);
|
||||
// }
|
||||
});
|
||||
|
||||
try {
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
package com.app.simplitend.cg_subscription;
|
||||
|
||||
import static com.app.simplitend.apputils.AppUtil.NOTIFICATION_ACTION;
|
||||
import static com.app.simplitend.apputils.Constants.MEDICINE_TIME;
|
||||
import static com.app.simplitend.apputils.Constants.NEW_SUBSCRIPTION;
|
||||
import static com.app.simplitend.apputils.NotificationService.CONTENT_TYPE_KEY;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.net.http.SslError;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.webkit.SslErrorHandler;
|
||||
import android.webkit.WebResourceError;
|
||||
import android.webkit.WebResourceRequest;
|
||||
import android.webkit.WebResourceResponse;
|
||||
import android.webkit.WebView;
|
||||
import android.webkit.WebViewClient;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.app.simplitend.BuildConfig;
|
||||
import com.app.simplitend.R;
|
||||
import com.app.simplitend.apputils.AppUtil;
|
||||
import com.app.simplitend.apputils.CaregiverDataCache;
|
||||
import com.app.simplitend.caregiverdashboard.activities.CgProfileProgressActivity;
|
||||
import com.app.simplitend.databinding.ActivitySubscriptionWebviewBinding;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class SubscriptionWebViewActivity extends AppCompatActivity {
|
||||
|
||||
private static final String TAG = "aditya_sub_web_view";
|
||||
|
||||
public static final String EXTRA_CAREGIVER_XID = "extra_caregiver_xid";
|
||||
|
||||
protected ActivitySubscriptionWebviewBinding binding;
|
||||
|
||||
private BroadcastReceiver paymentCompleteReceiver;
|
||||
|
||||
private int caregiver_xid;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
binding = ActivitySubscriptionWebviewBinding.inflate(getLayoutInflater());
|
||||
setContentView(binding.getRoot());
|
||||
|
||||
caregiver_xid = getIntent().getIntExtra(EXTRA_CAREGIVER_XID, -1);
|
||||
|
||||
paymentCompleteReceiver = new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
if (intent != null){
|
||||
String content_type = intent.getStringExtra(CONTENT_TYPE_KEY);
|
||||
if (NEW_SUBSCRIPTION.equals(content_type)){
|
||||
CaregiverDataCache.setCareGiverData(null);
|
||||
CaregiverDataCache.getCaregiverData(SubscriptionWebViewActivity.this, careGiverData1 -> {
|
||||
if (careGiverData1 != null && careGiverData1.isCaregiverTakeSubscription == 1){
|
||||
setResult(RESULT_OK, null, null);
|
||||
SubscriptionWebViewActivity.this.finish();
|
||||
}
|
||||
}, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
registerReceiver(paymentCompleteReceiver, new IntentFilter(NOTIFICATION_ACTION));
|
||||
|
||||
loadUrl();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
unregisterReceiver(paymentCompleteReceiver);
|
||||
}
|
||||
|
||||
private void loadUrl() {
|
||||
if (caregiver_xid == -1){
|
||||
Toast.makeText(this, "Something went wrong, please try again later", Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
}
|
||||
|
||||
binding.progressBar.setVisibility(View.VISIBLE);
|
||||
|
||||
binding.webView.getSettings().setJavaScriptEnabled(true);
|
||||
binding.webView.getSettings().setBuiltInZoomControls(true);
|
||||
binding.webView.getSettings().setDisplayZoomControls(false);
|
||||
|
||||
binding.webView.setWebViewClient(new WebViewClient(){
|
||||
@Override
|
||||
public void onPageCommitVisible(WebView view, String url) {
|
||||
super.onPageCommitVisible(view, url);
|
||||
binding.progressBar.setVisibility(View.GONE);
|
||||
}
|
||||
});
|
||||
|
||||
Map<String, String> headers = new HashMap<>();
|
||||
headers.put("Authorization", "Bearer " + AppUtil.getCgToken(this));
|
||||
|
||||
binding.webView.loadUrl(BuildConfig.SIMPLITEND_BASE_URL + "my-profile-ios?caregiver_xid="+caregiver_xid , headers);
|
||||
}
|
||||
}
|
||||
21
app/src/main/res/layout/activity_subscription_webview.xml
Normal file
21
app/src/main/res/layout/activity_subscription_webview.xml
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".cg_subscription.SubscriptionWebViewActivity">
|
||||
|
||||
<WebView
|
||||
android:id="@+id/web_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
/>
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progress_bar"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
/>
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -123,10 +123,12 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/year_check"
|
||||
android:visibility="gone"
|
||||
android:layout_width="@dimen/_25sdp"
|
||||
android:layout_height="@dimen/_25sdp"
|
||||
|
||||
android:src="@drawable/sub_check_drawable"
|
||||
android:layout_marginStart="15dp"
|
||||
|
||||
/>
|
||||
|
||||
@@ -140,8 +142,6 @@
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/_14ssp"
|
||||
|
||||
android:layout_marginStart="15dp"
|
||||
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
@@ -293,10 +293,12 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/month_check"
|
||||
android:visibility="gone"
|
||||
android:layout_width="@dimen/_25sdp"
|
||||
android:layout_height="@dimen/_25sdp"
|
||||
|
||||
android:src="@drawable/sub_check_drawable"
|
||||
android:layout_marginEnd="15dp"
|
||||
|
||||
/>
|
||||
|
||||
@@ -310,8 +312,6 @@
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/_14ssp"
|
||||
|
||||
android:layout_marginStart="15dp"
|
||||
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
Reference in New Issue
Block a user