Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
98ce4bf7
Unverified
Commit
98ce4bf7
authored
Aug 10, 2022
by
chunhtai
Committed by
GitHub
Aug 10, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Change ClipboardStatusNofifier parameter in buildToolbar to ValueLise… (#108917)
parent
a1af1bb9
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
29 additions
and
49 deletions
+29
-49
desktop_text_selection.dart
...ges/flutter/lib/src/cupertino/desktop_text_selection.dart
+3
-3
text_selection.dart
packages/flutter/lib/src/cupertino/text_selection.dart
+3
-3
desktop_text_selection.dart
...ages/flutter/lib/src/material/desktop_text_selection.dart
+3
-3
text_selection.dart
packages/flutter/lib/src/material/text_selection.dart
+3
-2
text_selection.dart
packages/flutter/lib/src/widgets/text_selection.dart
+6
-23
text_field_test.dart
packages/flutter/test/cupertino/text_field_test.dart
+1
-1
text_selection_toolbar_test.dart
...s/flutter/test/cupertino/text_selection_toolbar_test.dart
+1
-1
text_selection_toolbar_test.dart
...es/flutter/test/material/text_selection_toolbar_test.dart
+1
-1
editable_text_test.dart
packages/flutter/test/widgets/editable_text_test.dart
+6
-10
text_selection_test.dart
packages/flutter/test/widgets/text_selection_test.dart
+2
-2
No files found.
packages/flutter/lib/src/cupertino/desktop_text_selection.dart
View file @
98ce4bf7
...
...
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import
'package:flutter/foundation.dart'
show
clampDouble
;
import
'package:flutter/foundation.dart'
show
ValueListenable
,
clampDouble
;
import
'package:flutter/gestures.dart'
;
import
'package:flutter/rendering.dart'
;
import
'package:flutter/widgets.dart'
;
...
...
@@ -49,7 +49,7 @@ class _CupertinoDesktopTextSelectionControls extends TextSelectionControls {
Offset
selectionMidpoint
,
List
<
TextSelectionPoint
>
endpoints
,
TextSelectionDelegate
delegate
,
ClipboardStatusNotifier
?
clipboardStatus
,
ValueListenable
<
ClipboardStatus
>
?
clipboardStatus
,
Offset
?
lastSecondaryTapDownPosition
,
)
{
return
_CupertinoDesktopTextSelectionControlsToolbar
(
...
...
@@ -104,7 +104,7 @@ class _CupertinoDesktopTextSelectionControlsToolbar extends StatefulWidget {
required
this
.
lastSecondaryTapDownPosition
,
});
final
ClipboardStatusNotifier
?
clipboardStatus
;
final
ValueListenable
<
ClipboardStatus
>
?
clipboardStatus
;
final
List
<
TextSelectionPoint
>
endpoints
;
final
Rect
globalEditableRegion
;
final
VoidCallback
?
handleCopy
;
...
...
packages/flutter/lib/src/cupertino/text_selection.dart
View file @
98ce4bf7
...
...
@@ -4,7 +4,7 @@
import
'dart:math'
as
math
;
import
'package:flutter/foundation.dart'
show
clampDouble
;
import
'package:flutter/foundation.dart'
show
ValueListenable
,
clampDouble
;
import
'package:flutter/rendering.dart'
;
import
'package:flutter/widgets.dart'
;
...
...
@@ -37,7 +37,7 @@ class _CupertinoTextSelectionControlsToolbar extends StatefulWidget {
required
this
.
textLineHeight
,
});
final
ClipboardStatusNotifier
?
clipboardStatus
;
final
ValueListenable
<
ClipboardStatus
>
?
clipboardStatus
;
final
List
<
TextSelectionPoint
>
endpoints
;
final
Rect
globalEditableRegion
;
final
VoidCallback
?
handleCopy
;
...
...
@@ -211,7 +211,7 @@ class CupertinoTextSelectionControls extends TextSelectionControls {
Offset
selectionMidpoint
,
List
<
TextSelectionPoint
>
endpoints
,
TextSelectionDelegate
delegate
,
ClipboardStatusNotifier
?
clipboardStatus
,
ValueListenable
<
ClipboardStatus
>
?
clipboardStatus
,
Offset
?
lastSecondaryTapDownPosition
,
)
{
return
_CupertinoTextSelectionControlsToolbar
(
...
...
packages/flutter/lib/src/material/desktop_text_selection.dart
View file @
98ce4bf7
...
...
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import
'package:flutter/foundation.dart'
show
clampDouble
;
import
'package:flutter/foundation.dart'
show
ValueListenable
,
clampDouble
;
import
'package:flutter/rendering.dart'
;
import
'package:flutter/services.dart'
;
import
'package:flutter/widgets.dart'
;
...
...
@@ -35,7 +35,7 @@ class _DesktopTextSelectionControls extends TextSelectionControls {
Offset
selectionMidpoint
,
List
<
TextSelectionPoint
>
endpoints
,
TextSelectionDelegate
delegate
,
ClipboardStatusNotifier
?
clipboardStatus
,
ValueListenable
<
ClipboardStatus
>
?
clipboardStatus
,
Offset
?
lastSecondaryTapDownPosition
,
)
{
return
_DesktopTextSelectionControlsToolbar
(
...
...
@@ -100,7 +100,7 @@ class _DesktopTextSelectionControlsToolbar extends StatefulWidget {
required
this
.
lastSecondaryTapDownPosition
,
});
final
ClipboardStatusNotifier
?
clipboardStatus
;
final
ValueListenable
<
ClipboardStatus
>
?
clipboardStatus
;
final
List
<
TextSelectionPoint
>
endpoints
;
final
Rect
globalEditableRegion
;
final
VoidCallback
?
handleCopy
;
...
...
packages/flutter/lib/src/material/text_selection.dart
View file @
98ce4bf7
...
...
@@ -4,6 +4,7 @@
import
'dart:math'
as
math
;
import
'package:flutter/foundation.dart'
;
import
'package:flutter/rendering.dart'
;
import
'package:flutter/widgets.dart'
;
...
...
@@ -35,7 +36,7 @@ class MaterialTextSelectionControls extends TextSelectionControls {
Offset
selectionMidpoint
,
List
<
TextSelectionPoint
>
endpoints
,
TextSelectionDelegate
delegate
,
ClipboardStatusNotifier
?
clipboardStatus
,
ValueListenable
<
ClipboardStatus
>
?
clipboardStatus
,
Offset
?
lastSecondaryTapDownPosition
,
)
{
return
_TextSelectionControlsToolbar
(
...
...
@@ -142,7 +143,7 @@ class _TextSelectionControlsToolbar extends StatefulWidget {
required
this
.
textLineHeight
,
});
final
ClipboardStatusNotifier
?
clipboardStatus
;
final
ValueListenable
<
ClipboardStatus
>
?
clipboardStatus
;
final
TextSelectionDelegate
delegate
;
final
List
<
TextSelectionPoint
>
endpoints
;
final
Rect
globalEditableRegion
;
...
...
packages/flutter/lib/src/widgets/text_selection.dart
View file @
98ce4bf7
...
...
@@ -113,9 +113,7 @@ abstract class TextSelectionControls {
Offset
position
,
List
<
TextSelectionPoint
>
endpoints
,
TextSelectionDelegate
delegate
,
// TODO(chunhtai): Change to ValueListenable<ClipboardStatus>? once
// mirgration is done. https://github.com/flutter/flutter/issues/99360
ClipboardStatusNotifier
?
clipboardStatus
,
ValueListenable
<
ClipboardStatus
>?
clipboardStatus
,
Offset
?
lastSecondaryTapDownPosition
,
);
...
...
@@ -172,9 +170,7 @@ abstract class TextSelectionControls {
///
/// This is called by subclasses when their cut affordance is activated by
/// the user.
// TODO(chunhtai): remove optional parameter once migration is done.
// https://github.com/flutter/flutter/issues/99360
void
handleCut
(
TextSelectionDelegate
delegate
,
[
ClipboardStatusNotifier
?
clipboardStatus
])
{
void
handleCut
(
TextSelectionDelegate
delegate
)
{
delegate
.
cutSelection
(
SelectionChangedCause
.
toolbar
);
}
...
...
@@ -182,9 +178,7 @@ abstract class TextSelectionControls {
///
/// This is called by subclasses when their copy affordance is activated by
/// the user.
// TODO(chunhtai): remove optional parameter once migration is done.
// https://github.com/flutter/flutter/issues/99360
void
handleCopy
(
TextSelectionDelegate
delegate
,
[
ClipboardStatusNotifier
?
clipboardStatus
])
{
void
handleCopy
(
TextSelectionDelegate
delegate
)
{
delegate
.
copySelection
(
SelectionChangedCause
.
toolbar
);
}
...
...
@@ -2423,18 +2417,8 @@ class ClipboardStatusNotifier extends ValueNotifier<ClipboardStatus> with Widget
ClipboardStatus
value
=
ClipboardStatus
.
unknown
,
})
:
super
(
value
);
bool
_disposed
=
false
;
// TODO(chunhtai): remove this getter once migration is done.
// https://github.com/flutter/flutter/issues/99360
/// True if this instance has been disposed.
bool
get
disposed
=>
_disposed
;
/// Check the [Clipboard] and update [value] if needed.
Future
<
void
>
update
()
async
{
if
(
_disposed
)
{
return
;
}
final
bool
hasStrings
;
try
{
hasStrings
=
await
Clipboard
.
hasStrings
();
...
...
@@ -2447,7 +2431,7 @@ class ClipboardStatusNotifier extends ValueNotifier<ClipboardStatus> with Widget
));
// In the case of an error from the Clipboard API, set the value to
// unknown so that it will try to update again later.
if
(
_disposed
||
value
==
ClipboardStatus
.
unknown
)
{
if
(
value
==
ClipboardStatus
.
unknown
)
{
return
;
}
value
=
ClipboardStatus
.
unknown
;
...
...
@@ -2458,7 +2442,7 @@ class ClipboardStatusNotifier extends ValueNotifier<ClipboardStatus> with Widget
?
ClipboardStatus
.
pasteable
:
ClipboardStatus
.
notPasteable
;
if
(
_disposed
||
nextStatus
==
value
)
{
if
(
nextStatus
==
value
)
{
return
;
}
value
=
nextStatus
;
...
...
@@ -2478,7 +2462,7 @@ class ClipboardStatusNotifier extends ValueNotifier<ClipboardStatus> with Widget
@override
void
removeListener
(
VoidCallback
listener
)
{
super
.
removeListener
(
listener
);
if
(!
_disposed
&&
!
hasListeners
)
{
if
(!
hasListeners
)
{
WidgetsBinding
.
instance
.
removeObserver
(
this
);
}
}
...
...
@@ -2499,7 +2483,6 @@ class ClipboardStatusNotifier extends ValueNotifier<ClipboardStatus> with Widget
@override
void
dispose
()
{
WidgetsBinding
.
instance
.
removeObserver
(
this
);
_disposed
=
true
;
super
.
dispose
();
}
}
...
...
packages/flutter/test/cupertino/text_field_test.dart
View file @
98ce4bf7
...
...
@@ -44,7 +44,7 @@ class MockTextSelectionControls extends TextSelectionControls {
Offset
position
,
List
<
TextSelectionPoint
>
endpoints
,
TextSelectionDelegate
delegate
,
ClipboardStatusNotifier
?
clipboardStatus
,
ValueListenable
<
ClipboardStatus
>
?
clipboardStatus
,
Offset
?
lastSecondaryTapDownPosition
,
)
{
throw
UnimplementedError
();
...
...
packages/flutter/test/cupertino/text_selection_toolbar_test.dart
View file @
98ce4bf7
...
...
@@ -24,7 +24,7 @@ class _CustomCupertinoTextSelectionControls extends CupertinoTextSelectionContro
Offset
selectionMidpoint
,
List
<
TextSelectionPoint
>
endpoints
,
TextSelectionDelegate
delegate
,
ClipboardStatusNotifier
?
clipboardStatus
,
ValueListenable
<
ClipboardStatus
>
?
clipboardStatus
,
Offset
?
lastSecondaryTapDownPosition
,
)
{
final
MediaQueryData
mediaQuery
=
MediaQuery
.
of
(
context
);
...
...
packages/flutter/test/material/text_selection_toolbar_test.dart
View file @
98ce4bf7
...
...
@@ -22,7 +22,7 @@ class _CustomMaterialTextSelectionControls extends MaterialTextSelectionControls
Offset
selectionMidpoint
,
List
<
TextSelectionPoint
>
endpoints
,
TextSelectionDelegate
delegate
,
ClipboardStatusNotifier
?
clipboardStatus
,
ValueListenable
<
ClipboardStatus
>
?
clipboardStatus
,
Offset
?
lastSecondaryTapDownPosition
,
)
{
final
TextSelectionPoint
startTextSelectionPoint
=
endpoints
[
0
];
...
...
packages/flutter/test/widgets/editable_text_test.dart
View file @
98ce4bf7
...
...
@@ -12734,7 +12734,7 @@ class MockTextSelectionControls extends Fake implements TextSelectionControls {
Offset
position
,
List
<
TextSelectionPoint
>
endpoints
,
TextSelectionDelegate
delegate
,
ClipboardStatusNotifier
?
clipboardStatus
,
ValueListenable
<
ClipboardStatus
>
?
clipboardStatus
,
Offset
?
lastSecondaryTapDownPosition
,
)
{
return
const
SizedBox
();
...
...
@@ -12763,10 +12763,8 @@ class MockTextSelectionControls extends Fake implements TextSelectionControls {
int
pasteCount
=
0
;
int
copyCount
=
0
;
// TODO(chunhtai): remove optional parameter once migration is done.
// https://github.com/flutter/flutter/issues/99360
@override
void
handleCopy
(
TextSelectionDelegate
delegate
,
[
ClipboardStatusNotifier
?
clipboardStatus
]
)
{
void
handleCopy
(
TextSelectionDelegate
delegate
)
{
copyCount
+=
1
;
}
...
...
@@ -12775,10 +12773,8 @@ class MockTextSelectionControls extends Fake implements TextSelectionControls {
pasteCount
+=
1
;
}
// TODO(chunhtai): remove optional parameter once migration is done.
// https://github.com/flutter/flutter/issues/99360
@override
void
handleCut
(
TextSelectionDelegate
delegate
,
[
ClipboardStatusNotifier
?
clipboardStatus
]
)
{
void
handleCut
(
TextSelectionDelegate
delegate
)
{
cutCount
+=
1
;
}
...
...
@@ -12819,7 +12815,7 @@ class _CustomTextSelectionControls extends TextSelectionControls {
Offset
position
,
List
<
TextSelectionPoint
>
endpoints
,
TextSelectionDelegate
delegate
,
ClipboardStatusNotifier
?
clipboardStatus
,
ValueListenable
<
ClipboardStatus
>
?
clipboardStatus
,
Offset
?
lastSecondaryTapDownPosition
,
)
{
final
Offset
selectionMidpoint
=
position
;
...
...
@@ -12875,9 +12871,9 @@ class _CustomTextSelectionControls extends TextSelectionControls {
}
@override
void
handleCut
(
TextSelectionDelegate
delegate
,
[
ClipboardStatusNotifier
?
clipboardStatus
]
)
{
void
handleCut
(
TextSelectionDelegate
delegate
)
{
onCut
?.
call
();
return
super
.
handleCut
(
delegate
,
clipboardStatus
);
return
super
.
handleCut
(
delegate
);
}
}
...
...
packages/flutter/test/widgets/text_selection_test.dart
View file @
98ce4bf7
...
...
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import
'package:flutter/foundation.dart'
show
defaultTargetPlatform
;
import
'package:flutter/foundation.dart'
show
ValueListenable
,
defaultTargetPlatform
;
import
'package:flutter/gestures.dart'
show
PointerDeviceKind
,
kSecondaryButton
;
import
'package:flutter/material.dart'
;
import
'package:flutter/rendering.dart'
;
...
...
@@ -1456,7 +1456,7 @@ class TextSelectionControlsSpy extends TextSelectionControls {
Offset
position
,
List
<
TextSelectionPoint
>
endpoints
,
TextSelectionDelegate
delegate
,
ClipboardStatusNotifier
?
clipboardStatus
,
ValueListenable
<
ClipboardStatus
>
?
clipboardStatus
,
Offset
?
lastSecondaryTapDownPosition
,
)
{
return
Text
(
'dummy'
,
key:
toolBarKey
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment