Skip to content

Commit 381ae6f

Browse files
committed
Add sample menu for payment request
1 parent 8fa5fe1 commit 381ae6f

File tree

1 file changed

+25
-0
lines changed
  • packages/webview_flutter/webview_flutter_android/example/lib

1 file changed

+25
-0
lines changed

packages/webview_flutter/webview_flutter_android/example/lib/main.dart

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,7 @@ enum MenuOptions {
350350
basicAuthentication,
351351
javaScriptAlert,
352352
viewportMeta,
353+
checkWebViewPaymentRequestFeatureEnabled,
353354
}
354355

355356
class SampleMenu extends StatelessWidget {
@@ -407,6 +408,8 @@ class SampleMenu extends StatelessWidget {
407408
_onJavaScriptAlertExample(context);
408409
case MenuOptions.viewportMeta:
409410
_onViewportMetaExample();
411+
case MenuOptions.checkWebViewPaymentRequestFeatureEnabled:
412+
_onWebViewFeatureExample(context);
410413
}
411414
},
412415
itemBuilder: (BuildContext context) => <PopupMenuItem<MenuOptions>>[
@@ -483,6 +486,10 @@ class SampleMenu extends StatelessWidget {
483486
value: MenuOptions.viewportMeta,
484487
child: Text('Viewport meta example'),
485488
),
489+
const PopupMenuItem<MenuOptions>(
490+
value: MenuOptions.checkWebViewPaymentRequestFeatureEnabled,
491+
child: Text('WebView Feature Example'),
492+
),
486493
],
487494
);
488495
}
@@ -783,6 +790,24 @@ class SampleMenu extends StatelessWidget {
783790
Future<void> _onViewportMetaExample() {
784791
return webViewController.loadHtmlString(kViewportMetaPage);
785792
}
793+
794+
Future<void> _onWebViewFeatureExample(BuildContext context) async {
795+
final AndroidWebViewController androidController =
796+
webViewController as AndroidWebViewController;
797+
final bool paymentRequestEnabled = await androidController
798+
.isWebViewFeatureSupported(WebViewFeatureType.paymentRequest);
799+
800+
// Call this method to enable the Payment Request API.
801+
// if (paymentRequestEnabled) {
802+
// await androidController.setPaymentRequestEnabled(true);
803+
// }
804+
805+
if (context.mounted) {
806+
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
807+
content: Text('Payment Request API enabled: $paymentRequestEnabled'),
808+
));
809+
}
810+
}
786811
}
787812

788813
class NavigationControls extends StatelessWidget {

0 commit comments

Comments
 (0)