@@ -6,17 +6,11 @@ import 'package:flutter/gestures.dart';
6
6
import 'package:flutter/services.dart' ;
7
7
import 'package:flutter/widgets.dart' ;
8
8
import 'package:flutter/semantics.dart' ;
9
+ import 'package:flutter/rendering.dart' ;
9
10
10
11
import 'package:webview_flutter/platform_interface.dart' ;
11
12
import 'package:webview_flutter/src/webview_method_channel.dart' ;
12
13
13
- import 'package:flutter/src/rendering/binding.dart' ;
14
- import 'package:flutter/src/rendering/box.dart' ;
15
- import 'package:flutter/src/rendering/layer.dart' ;
16
- import 'package:flutter/src/rendering/mouse_cursor.dart' ;
17
- import 'package:flutter/src/rendering/mouse_tracking.dart' ;
18
- import 'package:flutter/src/rendering/object.dart' ;
19
-
20
14
enum _TizenViewState {
21
15
waitingForSize,
22
16
creating,
@@ -110,7 +104,7 @@ class TizenViewController extends PlatformViewController {
110
104
'viewType' : _viewType,
111
105
'width' : _size.width,
112
106
'height' : _size.height,
113
- // 'direction': _layoutDirection,
107
+ 'direction' : _layoutDirection == TextDirection .ltr ? 0 : 1 ,
114
108
};
115
109
if (_creationParams != null ) {
116
110
final ByteData paramsByteData =
@@ -151,6 +145,7 @@ class TizenViewController extends PlatformViewController {
151
145
152
146
set pointTransformer (PointTransformer transformer) {
153
147
assert (transformer != null );
148
+ // _motionEventConverter._pointTransformer = transformer;
154
149
}
155
150
156
151
bool get isCreated => _state == _TizenViewState .created;
@@ -182,7 +177,7 @@ class TizenViewController extends PlatformViewController {
182
177
await SystemChannels .platform_views
183
178
.invokeMethod <void >('setDirection' , < String , dynamic > {
184
179
'id' : viewId,
185
- // 'direction': layoutDirection,
180
+ 'direction' : layoutDirection == TextDirection .ltr ? 0 : 1 ,
186
181
});
187
182
}
188
183
@@ -218,13 +213,14 @@ class TizenViewController extends PlatformViewController {
218
213
if (_state != _TizenViewState .created) {
219
214
return Future <void >.value ();
220
215
}
221
- // print('clearFocus : $viewId');
216
+ print ('TizenViewController:: clearFocus() : $viewId ' );
222
217
return SystemChannels .platform_views
223
218
.invokeMethod <void >('clearFocus' , viewId);
224
219
}
225
220
226
221
@override
227
222
Future <void > dispose () async {
223
+ print ('TizenViewController::dispose()' );
228
224
if (_state == _TizenViewState .creating || _state == _TizenViewState .created)
229
225
await _sendDisposeMessage ();
230
226
_platformViewCreatedCallbacks.clear ();
@@ -233,8 +229,8 @@ class TizenViewController extends PlatformViewController {
233
229
}
234
230
}
235
231
236
- class TizenWebView_ extends StatefulWidget {
237
- const TizenWebView_ ({
232
+ class TizenView extends StatefulWidget {
233
+ const TizenView ({
238
234
Key key,
239
235
@required this .viewType,
240
236
this .onPlatformViewCreated,
@@ -257,7 +253,7 @@ class TizenWebView_ extends StatefulWidget {
257
253
final MessageCodec <dynamic > creationParamsCodec;
258
254
259
255
@override
260
- State <TizenWebView_ > createState () => _TizenWebViewState ();
256
+ State <TizenView > createState () => _TizenWebViewState ();
261
257
}
262
258
263
259
class PlatformViewsServiceTizen {
@@ -268,9 +264,11 @@ class PlatformViewsServiceTizen {
268
264
PlatformViewsServiceTizen ._();
269
265
270
266
Future <void > _onMethodCall (MethodCall call) {
267
+ print ('TizenView::_onMethodCall() - ${call .method }' );
271
268
switch (call.method) {
272
269
case 'viewFocused' :
273
270
final int id = call.arguments as int ;
271
+ print ('viewFocused: id - $id ' );
274
272
if (_focusCallbacks.containsKey (id)) {
275
273
if (_focusCallbacks[id] != null ) {
276
274
_focusCallbacks[id]();
@@ -301,6 +299,9 @@ class PlatformViewsServiceTizen {
301
299
assert (layoutDirection != null );
302
300
assert (creationParams == null || creationParamsCodec != null );
303
301
302
+ print (
303
+ 'PlatformViewsServiceTizen::initTizenView [id:$id ] [onFocus:$onFocus ]' );
304
+
304
305
final TizenViewController controller = TizenViewController ._(
305
306
viewId: id,
306
307
viewType: viewType,
@@ -444,12 +445,12 @@ class RenderTizenView extends RenderBox with _PlatformViewGestureMixin {
444
445
_viewController.pointTransformer = (Offset offset) => globalToLocal (offset);
445
446
updateGestureRecognizers (gestureRecognizers);
446
447
_viewController.addOnPlatformViewCreatedListener (_onPlatformViewCreated);
447
- // this.hitTestBehavior = hitTestBehavior;
448
+ this .hitTestBehavior = hitTestBehavior;
448
449
}
449
450
450
451
_PlatformViewState _state = _PlatformViewState .uninitialized;
451
452
452
- get viewcontroller => _viewController;
453
+ TizenViewController get viewcontroller => _viewController;
453
454
TizenViewController _viewController;
454
455
455
456
set viewController (TizenViewController viewController) {
@@ -570,12 +571,12 @@ class _TizenPlatformTextureView extends LeafRenderObjectWidget {
570
571
@override
571
572
void updateRenderObject (BuildContext context, RenderTizenView renderObject) {
572
573
renderObject.viewController = controller;
573
- // renderObject.hitTestBehavior = hitTestBehavior;
574
+ renderObject.hitTestBehavior = hitTestBehavior;
574
575
renderObject.updateGestureRecognizers (gestureRecognizers);
575
576
}
576
577
}
577
578
578
- class _TizenWebViewState extends State <TizenWebView_ > {
579
+ class _TizenWebViewState extends State <TizenView > {
579
580
int _id;
580
581
TizenViewController _controller;
581
582
TextDirection _layoutDirection;
@@ -611,6 +612,7 @@ class _TizenWebViewState extends State<TizenWebView_> {
611
612
612
613
@override
613
614
void didChangeDependencies () {
615
+ print ('_TizenWebViewState::didChangeDependencies()' );
614
616
super .didChangeDependencies ();
615
617
final TextDirection newLayoutDirection = _findLayoutDirection ();
616
618
final bool didChangeLayoutDirection =
@@ -624,8 +626,8 @@ class _TizenWebViewState extends State<TizenWebView_> {
624
626
}
625
627
626
628
@override
627
- void didUpdateWidget (TizenWebView_ oldWidget) {
628
- // print('webview: didUpdateWidget()');
629
+ void didUpdateWidget (TizenView oldWidget) {
630
+ print ('_TizenWebViewState:: didUpdateWidget()' );
629
631
super .didUpdateWidget (oldWidget);
630
632
631
633
final TextDirection newLayoutDirection = _findLayoutDirection ();
@@ -652,6 +654,7 @@ class _TizenWebViewState extends State<TizenWebView_> {
652
654
653
655
@override
654
656
void dispose () {
657
+ print ('_TizenWebViewState::dispose()' );
655
658
_controller.dispose ();
656
659
super .dispose ();
657
660
}
@@ -665,6 +668,7 @@ class _TizenWebViewState extends State<TizenWebView_> {
665
668
creationParams: widget.creationParams,
666
669
creationParamsCodec: widget.creationParamsCodec,
667
670
onFocus: () {
671
+ print ('_TizenWebViewState::_createNewTizenWebView() - onFocus()' );
668
672
_focusNode.requestFocus ();
669
673
},
670
674
);
@@ -675,9 +679,11 @@ class _TizenWebViewState extends State<TizenWebView_> {
675
679
}
676
680
677
681
void _onFocusChange (bool isFocused) {
682
+ print ('_TizenWebViewState::_onFocusChange(isFocused:$isFocused )' );
678
683
if (! _controller.isCreated) {
679
684
return ;
680
685
}
686
+
681
687
if (! isFocused) {
682
688
_controller.clearFocus ().catchError ((dynamic e) {
683
689
if (e is MissingPluginException ) {
@@ -686,7 +692,6 @@ class _TizenWebViewState extends State<TizenWebView_> {
686
692
});
687
693
return ;
688
694
}
689
- // print('_onFocusChange - viewId : $_id');
690
695
SystemChannels .textInput
691
696
.invokeMethod <void >(
692
697
'TextInput.setPlatformViewClient' ,
@@ -725,7 +730,7 @@ class TizenWebView implements WebViewPlatform {
725
730
return GestureDetector (
726
731
onLongPress: () {},
727
732
excludeFromSemantics: true ,
728
- child: TizenWebView_ (
733
+ child: TizenView (
729
734
viewType: 'plugins.flutter.io/webview' ,
730
735
onPlatformViewCreated: (int id) {
731
736
if (onWebViewPlatformCreated == null ) {
@@ -769,7 +774,7 @@ mixin _PlatformViewGestureMixin on RenderBox implements MouseTrackerAnnotation {
769
774
if (value != _hitTestBehavior) {
770
775
_hitTestBehavior = value;
771
776
if (owner != null ) {
772
- //RendererBinding.instance.mouseTracker.schedulePostFrameCheck ();
777
+ markNeedsPaint ();
773
778
}
774
779
}
775
780
}
0 commit comments