@@ -145,7 +145,7 @@ class ChatBoxState extends State<ChatBox> {
145145 _webViewCreated = true ;
146146
147147 if (Platform .isAndroid) {
148- AndroidInAppWebViewController .setWebContentsDebuggingEnabled (kDebugMode);
148+ InAppWebViewController .setWebContentsDebuggingEnabled (kDebugMode);
149149 }
150150
151151 // Here a Timer is needed, as we can't change the widget's state while the widget
@@ -191,36 +191,32 @@ class ChatBoxState extends State<ChatBox> {
191191
192192 return InAppWebView (
193193 initialUrlRequest: URLRequest (url: null ),
194- initialOptions: InAppWebViewGroupOptions (
195- android: AndroidInAppWebViewOptions (
196- useHybridComposition: true ,
197- ),
198- ios: IOSInAppWebViewOptions (
199- disableInputAccessoryView: true ,
200- )
194+ initialSettings: InAppWebViewSettings (
195+ useHybridComposition: true ,
196+ disableInputAccessoryView: true ,
201197 ),
202198 onWebViewCreated: _onWebViewCreated,
203199 onLoadStop: _onLoadStop,
204200 onConsoleMessage: (InAppWebViewController controller, ConsoleMessage message) {
205201 print ("chatbox [${message .messageLevel }] ${message .message }" );
206202 },
207- androidOnGeolocationPermissionsShowPrompt : (InAppWebViewController controller, String origin) async {
208- print ("📘 chatbox androidOnGeolocationPermissionsShowPrompt " );
203+ onGeolocationPermissionsShowPrompt : (InAppWebViewController controller, String origin) async {
204+ print ("📘 chatbox onGeolocationPermissionsShowPrompt ($ origin ) " );
209205
210206 final granted = await Permission .location.request ().isGranted;
211207
212208 return GeolocationPermissionShowPromptResponse (origin: origin, allow: granted, retain: true );
213209 },
214- androidOnPermissionRequest : (InAppWebViewController controller, String origin, List < String > resources ) async {
215- print ("📘 chatbox androidOnPermissionRequest: $ resources " );
210+ onPermissionRequest : (InAppWebViewController controller, PermissionRequest permissionRequest ) async {
211+ print ("📘 chatbox onPermissionRequest " );
216212
217213 var granted = false ;
218214
219- if (resources.indexOf ("android.webkit.resource.AUDIO_CAPTURE" ) >= 0 ) {
215+ if (permissionRequest. resources.indexOf (PermissionResourceType . MICROPHONE ) >= 0 ) {
220216 granted = await Permission .microphone.request ().isGranted;
221217 }
222218
223- return PermissionRequestResponse (resources: resources, action: granted ? PermissionRequestResponseAction .GRANT : PermissionRequestResponseAction .DENY );
219+ return PermissionResponse (resources: permissionRequest. resources, action: granted ? PermissionResponseAction .GRANT : PermissionResponseAction .DENY );
224220 },
225221 gestureRecognizers: {
226222 // We need only the VerticalDragGestureRecognizer in order to be able to scroll through the messages
@@ -576,13 +572,17 @@ class ChatBoxState extends State<ChatBox> {
576572 void execute (String statement) {
577573 final controller = _webViewController;
578574
579- if (kDebugMode) {
580- print ('📘 chatbox.execute: $statement ' );
581- }
582-
583575 if (controller != null ) {
576+ if (kDebugMode) {
577+ print ('📗 chatbox.execute: $statement ' );
578+ }
579+
584580 controller.evaluateJavascript (source: statement);
585581 } else {
582+ if (kDebugMode) {
583+ print ('📘 chatbox.execute: $statement ' );
584+ }
585+
586586 this ._pending.add (statement);
587587 }
588588 }
0 commit comments