summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Sarah Chin <sarahchin@google.com> 2023-06-30 14:11:28 -0700
committer Sarah Chin <sarahchin@google.com> 2023-06-30 14:53:42 -0700
commit7875aa7faff3f0a67adb960e67a2f2d69ed51163 (patch)
tree47cf1d899fb8dc1f7e68437fd1bec9bbf77c95a0
parentd5c8a28f5394a25be19939da290ee850fe6bb85a (diff)
Fix cookie logic for webviews
Clear cookies before webview is started and load the webview in the async response after cookie clearing is complete. Remove unnecessary webview and cookie cleanup code. Set the default webview client to prevent system browser redirects Test: manual verify hyperlink does not open in system browser Test: manual verify through IODT testing Bug: 282129516 Change-Id: Ifee0d702440e89aa07196fefa810d85a64899493
-rw-r--r--packages/CarrierDefaultApp/assets/slice_purchase_test.html2
-rw-r--r--packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/SlicePurchaseActivity.java14
2 files changed, 8 insertions, 8 deletions
diff --git a/packages/CarrierDefaultApp/assets/slice_purchase_test.html b/packages/CarrierDefaultApp/assets/slice_purchase_test.html
index 917276b9ce65..ad18a9d64074 100644
--- a/packages/CarrierDefaultApp/assets/slice_purchase_test.html
+++ b/packages/CarrierDefaultApp/assets/slice_purchase_test.html
@@ -81,5 +81,7 @@
Dismiss flow
</button>
<p id="dismiss_flow"></p>
+
+ <h2>Test <a href="http://www.google.com">hyperlink</a></h2>
</body>
</html>
diff --git a/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/SlicePurchaseActivity.java b/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/SlicePurchaseActivity.java
index 2530257d629a..b1009808cccc 100644
--- a/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/SlicePurchaseActivity.java
+++ b/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/SlicePurchaseActivity.java
@@ -29,6 +29,7 @@ import android.util.Log;
import android.view.KeyEvent;
import android.webkit.CookieManager;
import android.webkit.WebView;
+import android.webkit.WebViewClient;
import com.android.phone.slice.SlicePurchaseController;
@@ -113,8 +114,10 @@ public class SlicePurchaseActivity extends Activity {
return;
}
- // Create and configure WebView
- setupWebView();
+ // Clear any cookies that might be persisted from previous sessions before loading WebView
+ CookieManager.getInstance().removeAllCookies(value -> {
+ setupWebView();
+ });
}
protected void onPurchaseSuccessful() {
@@ -176,12 +179,7 @@ public class SlicePurchaseActivity extends Activity {
private void setupWebView() {
// Create WebView
mWebView = new WebView(this);
-
- // Clear any cookies and state that might be saved from previous sessions
- CookieManager.getInstance().removeAllCookies(null);
- CookieManager.getInstance().flush();
- mWebView.clearCache(true);
- mWebView.clearHistory();
+ mWebView.setWebViewClient(new WebViewClient());
// Enable JavaScript for the carrier purchase website to send results back to
// the slice purchase application.