diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a006d3b..6ff7fb5 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,6 +38,10 @@
android:theme="@style/Theme.SimpliTend"
android:usesCleartextTraffic="true"
tools:targetApi="31">
+
{
- 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);
});
}
diff --git a/app/src/main/java/com/app/simplitend/cg_subscription/CgSubscriptionActivity.java b/app/src/main/java/com/app/simplitend/cg_subscription/CgSubscriptionActivity.java
index ee4db90..c83c803 100644
--- a/app/src/main/java/com/app/simplitend/cg_subscription/CgSubscriptionActivity.java
+++ b/app/src/main/java/com/app/simplitend/cg_subscription/CgSubscriptionActivity.java
@@ -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 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 {
diff --git a/app/src/main/java/com/app/simplitend/cg_subscription/SubscriptionWebViewActivity.java b/app/src/main/java/com/app/simplitend/cg_subscription/SubscriptionWebViewActivity.java
new file mode 100644
index 0000000..0ae5ab2
--- /dev/null
+++ b/app/src/main/java/com/app/simplitend/cg_subscription/SubscriptionWebViewActivity.java
@@ -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 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);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_subscription_webview.xml b/app/src/main/res/layout/activity_subscription_webview.xml
new file mode 100644
index 0000000..adfb7ab
--- /dev/null
+++ b/app/src/main/res/layout/activity_subscription_webview.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/cg_subscription_layout.xml b/app/src/main/res/layout/cg_subscription_layout.xml
index 0c47b0c..71f90f2 100644
--- a/app/src/main/res/layout/cg_subscription_layout.xml
+++ b/app/src/main/res/layout/cg_subscription_layout.xml
@@ -123,10 +123,12 @@
@@ -140,8 +142,6 @@
android:textColor="@color/black"
android:textSize="@dimen/_14ssp"
- android:layout_marginStart="15dp"
-
/>
@@ -293,10 +293,12 @@
@@ -310,8 +312,6 @@
android:textColor="@color/black"
android:textSize="@dimen/_14ssp"
- android:layout_marginStart="15dp"
-
/>