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
100cf21e
Unverified
Commit
100cf21e
authored
Mar 23, 2023
by
Bernardo Ferrari
Committed by
GitHub
Mar 23, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Prefer enum over class. (#123312)
Convert `AndroidSemanticsAction` to enum.
parent
716d2524
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
52 additions
and
116 deletions
+52
-116
constants.dart
...on_tests/android_semantics_testing/lib/src/constants.dart
+49
-113
box.dart
packages/flutter/lib/src/rendering/box.dart
+1
-1
overscroll_indicator.dart
packages/flutter/lib/src/widgets/overscroll_indicator.dart
+1
-1
widget_inspector.dart
packages/flutter/lib/src/widgets/widget_inspector.dart
+1
-1
No files found.
dev/integration_tests/android_semantics_testing/lib/src/constants.dart
View file @
100cf21e
...
@@ -2,8 +2,6 @@
...
@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// found in the LICENSE file.
import
'package:meta/meta.dart'
;
/// Class name constants which correspond to the class names used by the
/// Class name constants which correspond to the class names used by the
/// Android accessibility bridge.
/// Android accessibility bridge.
class
AndroidClassName
{
class
AndroidClassName
{
...
@@ -30,147 +28,97 @@ class AndroidClassName {
...
@@ -30,147 +28,97 @@ class AndroidClassName {
}
}
/// Action constants which correspond to `AccessibilityAction` in Android.
/// Action constants which correspond to `AccessibilityAction` in Android.
@immutable
enum
AndroidSemanticsAction
{
class
AndroidSemanticsAction
{
const
AndroidSemanticsAction
.
_
(
this
.
id
);
/// The Android id of the action.
final
int
id
;
static
const
int
_kFocusIndex
=
1
<<
0
;
static
const
int
_kClearFocusIndex
=
1
<<
1
;
static
const
int
_kSelectIndex
=
1
<<
2
;
static
const
int
_kClearSelectionIndex
=
1
<<
3
;
static
const
int
_kClickIndex
=
1
<<
4
;
static
const
int
_kLongClickIndex
=
1
<<
5
;
static
const
int
_kAccessibilityFocusIndex
=
1
<<
6
;
static
const
int
_kClearAccessibilityFocusIndex
=
1
<<
7
;
static
const
int
_kNextAtMovementGranularityIndex
=
1
<<
8
;
static
const
int
_kPreviousAtMovementGranularityIndex
=
1
<<
9
;
static
const
int
_kNextHtmlElementIndex
=
1
<<
10
;
static
const
int
_kPreviousHtmlElementIndex
=
1
<<
11
;
static
const
int
_kScrollForwardIndex
=
1
<<
12
;
static
const
int
_kScrollBackwardIndex
=
1
<<
13
;
static
const
int
_kCutIndex
=
1
<<
14
;
static
const
int
_kCopyIndex
=
1
<<
15
;
static
const
int
_kPasteIndex
=
1
<<
16
;
static
const
int
_kSetSelectionIndex
=
1
<<
17
;
static
const
int
_kExpandIndex
=
1
<<
18
;
static
const
int
_kCollapseIndex
=
1
<<
19
;
static
const
int
_kSetText
=
1
<<
21
;
/// Matches `AccessibilityAction.ACTION_FOCUS`.
/// Matches `AccessibilityAction.ACTION_FOCUS`.
static
const
AndroidSemanticsAction
focus
=
AndroidSemanticsAction
.
_
(
_kFocusIndex
);
focus
(
_kFocusIndex
),
/// Matches `AccessibilityAction.ACTION_CLEAR_FOCUS`.
/// Matches `AccessibilityAction.ACTION_CLEAR_FOCUS`.
static
const
AndroidSemanticsAction
clearFocus
=
AndroidSemanticsAction
.
_
(
_kClearFocusIndex
);
clearFocus
(
_kClearFocusIndex
),
/// Matches `AccessibilityAction.ACTION_SELECT`.
/// Matches `AccessibilityAction.ACTION_SELECT`.
s
tatic
const
AndroidSemanticsAction
select
=
AndroidSemanticsAction
.
_
(
_kSelectIndex
);
s
elect
(
_kSelectIndex
),
/// Matches `AccessibilityAction.ACTION_CLEAR_SELECTION`.
/// Matches `AccessibilityAction.ACTION_CLEAR_SELECTION`.
static
const
AndroidSemanticsAction
clearSelection
=
AndroidSemanticsAction
.
_
(
_kClearSelectionIndex
);
clearSelection
(
_kClearSelectionIndex
),
/// Matches `AccessibilityAction.ACTION_CLICK`.
/// Matches `AccessibilityAction.ACTION_CLICK`.
static
const
AndroidSemanticsAction
click
=
AndroidSemanticsAction
.
_
(
_kClickIndex
);
click
(
_kClickIndex
),
/// Matches `AccessibilityAction.ACTION_LONG_CLICK`.
/// Matches `AccessibilityAction.ACTION_LONG_CLICK`.
static
const
AndroidSemanticsAction
longClick
=
AndroidSemanticsAction
.
_
(
_kLongClickIndex
);
longClick
(
_kLongClickIndex
),
/// Matches `AccessibilityAction.ACTION_ACCESSIBILITY_FOCUS`.
/// Matches `AccessibilityAction.ACTION_ACCESSIBILITY_FOCUS`.
static
const
AndroidSemanticsAction
accessibilityFocus
=
AndroidSemanticsAction
.
_
(
_kAccessibilityFocusIndex
);
accessibilityFocus
(
_kAccessibilityFocusIndex
),
/// Matches `AccessibilityAction.ACTION_CLEAR_ACCESSIBILITY_FOCUS`.
/// Matches `AccessibilityAction.ACTION_CLEAR_ACCESSIBILITY_FOCUS`.
static
const
AndroidSemanticsAction
clearAccessibilityFocus
=
AndroidSemanticsAction
.
_
(
_kClearAccessibilityFocusIndex
);
clearAccessibilityFocus
(
_kClearAccessibilityFocusIndex
),
/// Matches `AccessibilityAction.ACTION_NEXT_AT_MOVEMENT_GRANULARITY`.
/// Matches `AccessibilityAction.ACTION_NEXT_AT_MOVEMENT_GRANULARITY`.
static
const
AndroidSemanticsAction
nextAtMovementGranularity
=
AndroidSemanticsAction
.
_
(
_kNextAtMovementGranularityIndex
);
nextAtMovementGranularity
(
_kNextAtMovementGranularityIndex
),
/// Matches `AccessibilityAction.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY`.
/// Matches `AccessibilityAction.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY`.
static
const
AndroidSemanticsAction
previousAtMovementGranularity
=
AndroidSemanticsAction
.
_
(
_kPreviousAtMovementGranularityIndex
);
previousAtMovementGranularity
(
_kPreviousAtMovementGranularityIndex
),
/// Matches `AccessibilityAction.ACTION_NEXT_HTML_ELEMENT`.
/// Matches `AccessibilityAction.ACTION_NEXT_HTML_ELEMENT`.
static
const
AndroidSemanticsAction
nextHtmlElement
=
AndroidSemanticsAction
.
_
(
_kNextHtmlElementIndex
);
nextHtmlElement
(
_kNextHtmlElementIndex
),
/// Matches `AccessibilityAction.ACTION_PREVIOUS_HTML_ELEMENT`.
/// Matches `AccessibilityAction.ACTION_PREVIOUS_HTML_ELEMENT`.
static
const
AndroidSemanticsAction
previousHtmlElement
=
AndroidSemanticsAction
.
_
(
_kPreviousHtmlElementIndex
);
previousHtmlElement
(
_kPreviousHtmlElementIndex
),
/// Matches `AccessibilityAction.ACTION_SCROLL_FORWARD`.
/// Matches `AccessibilityAction.ACTION_SCROLL_FORWARD`.
s
tatic
const
AndroidSemanticsAction
scrollForward
=
AndroidSemanticsAction
.
_
(
_kScrollForwardIndex
);
s
crollForward
(
_kScrollForwardIndex
),
/// Matches `AccessibilityAction.ACTION_SCROLL_BACKWARD`.
/// Matches `AccessibilityAction.ACTION_SCROLL_BACKWARD`.
s
tatic
const
AndroidSemanticsAction
scrollBackward
=
AndroidSemanticsAction
.
_
(
_kScrollBackwardIndex
);
s
crollBackward
(
_kScrollBackwardIndex
),
/// Matches `AccessibilityAction.ACTION_CUT`.
/// Matches `AccessibilityAction.ACTION_CUT`.
static
const
AndroidSemanticsAction
cut
=
AndroidSemanticsAction
.
_
(
_kCutIndex
);
cut
(
_kCutIndex
),
/// Matches `AccessibilityAction.ACTION_COPY`.
/// Matches `AccessibilityAction.ACTION_COPY`.
static
const
AndroidSemanticsAction
copy
=
AndroidSemanticsAction
.
_
(
_kCopyIndex
);
copy
(
_kCopyIndex
),
/// Matches `AccessibilityAction.ACTION_PASTE`.
/// Matches `AccessibilityAction.ACTION_PASTE`.
static
const
AndroidSemanticsAction
paste
=
AndroidSemanticsAction
.
_
(
_kPasteIndex
);
paste
(
_kPasteIndex
),
/// Matches `AccessibilityAction.ACTION_SET_SELECTION`.
/// Matches `AccessibilityAction.ACTION_SET_SELECTION`.
s
tatic
const
AndroidSemanticsAction
setSelection
=
AndroidSemanticsAction
.
_
(
_kSetSelectionIndex
);
s
etSelection
(
_kSetSelectionIndex
),
/// Matches `AccessibilityAction.ACTION_EXPAND`.
/// Matches `AccessibilityAction.ACTION_EXPAND`.
static
const
AndroidSemanticsAction
expand
=
AndroidSemanticsAction
.
_
(
_kExpandIndex
);
expand
(
_kExpandIndex
),
/// Matches `AccessibilityAction.ACTION_COLLAPSE`.
/// Matches `AccessibilityAction.ACTION_COLLAPSE`.
static
const
AndroidSemanticsAction
collapse
=
AndroidSemanticsAction
.
_
(
_kCollapseIndex
);
collapse
(
_kCollapseIndex
),
/// Matches `AccessibilityAction.SET_TEXT`.
/// Matches `AccessibilityAction.SET_TEXT`.
static
const
AndroidSemanticsAction
setText
=
AndroidSemanticsAction
.
_
(
_kSetText
);
setText
(
_kSetText
);
@override
const
AndroidSemanticsAction
(
this
.
id
);
String
toString
()
{
switch
(
id
)
{
/// The Android id of the action.
case
_kFocusIndex:
final
int
id
;
return
'AndroidSemanticsAction.focus'
;
case
_kClearFocusIndex:
static
const
int
_kFocusIndex
=
1
<<
0
;
return
'AndroidSemanticsAction.clearFocus'
;
static
const
int
_kClearFocusIndex
=
1
<<
1
;
case
_kSelectIndex:
static
const
int
_kSelectIndex
=
1
<<
2
;
return
'AndroidSemanticsAction.select'
;
static
const
int
_kClearSelectionIndex
=
1
<<
3
;
case
_kClearSelectionIndex:
static
const
int
_kClickIndex
=
1
<<
4
;
return
'AndroidSemanticsAction.clearSelection'
;
static
const
int
_kLongClickIndex
=
1
<<
5
;
case
_kClickIndex:
static
const
int
_kAccessibilityFocusIndex
=
1
<<
6
;
return
'AndroidSemanticsAction.click'
;
static
const
int
_kClearAccessibilityFocusIndex
=
1
<<
7
;
case
_kLongClickIndex:
static
const
int
_kNextAtMovementGranularityIndex
=
1
<<
8
;
return
'AndroidSemanticsAction.longClick'
;
static
const
int
_kPreviousAtMovementGranularityIndex
=
1
<<
9
;
case
_kAccessibilityFocusIndex:
static
const
int
_kNextHtmlElementIndex
=
1
<<
10
;
return
'AndroidSemanticsAction.accessibilityFocus'
;
static
const
int
_kPreviousHtmlElementIndex
=
1
<<
11
;
case
_kClearAccessibilityFocusIndex:
static
const
int
_kScrollForwardIndex
=
1
<<
12
;
return
'AndroidSemanticsAction.clearAccessibilityFocus'
;
static
const
int
_kScrollBackwardIndex
=
1
<<
13
;
case
_kNextAtMovementGranularityIndex:
static
const
int
_kCutIndex
=
1
<<
14
;
return
'AndroidSemanticsAction.nextAtMovementGranularity'
;
static
const
int
_kCopyIndex
=
1
<<
15
;
case
_kPreviousAtMovementGranularityIndex:
static
const
int
_kPasteIndex
=
1
<<
16
;
return
'AndroidSemanticsAction.previousAtMovementGranularity'
;
static
const
int
_kSetSelectionIndex
=
1
<<
17
;
case
_kNextHtmlElementIndex:
static
const
int
_kExpandIndex
=
1
<<
18
;
return
'AndroidSemanticsAction.nextHtmlElement'
;
static
const
int
_kCollapseIndex
=
1
<<
19
;
case
_kPreviousHtmlElementIndex:
static
const
int
_kSetText
=
1
<<
21
;
return
'AndroidSemanticsAction.previousHtmlElement'
;
case
_kScrollForwardIndex:
return
'AndroidSemanticsAction.scrollForward'
;
case
_kScrollBackwardIndex:
return
'AndroidSemanticsAction.scrollBackward'
;
case
_kCutIndex:
return
'AndroidSemanticsAction.cut'
;
case
_kCopyIndex:
return
'AndroidSemanticsAction.copy'
;
case
_kPasteIndex:
return
'AndroidSemanticsAction.paste'
;
case
_kSetSelectionIndex:
return
'AndroidSemanticsAction.setSelection'
;
case
_kExpandIndex:
return
'AndroidSemanticsAction.expand'
;
case
_kCollapseIndex:
return
'AndroidSemanticsAction.collapse'
;
case
_kSetText:
return
'AndroidSemanticsAction.setText'
;
default
:
throw
UnimplementedError
();
}
}
static
const
Map
<
int
,
AndroidSemanticsAction
>
_kActionById
=
<
int
,
AndroidSemanticsAction
>{
static
const
Map
<
int
,
AndroidSemanticsAction
>
_kActionById
=
<
int
,
AndroidSemanticsAction
>{
_kFocusIndex:
focus
,
_kFocusIndex:
focus
,
...
@@ -196,18 +144,6 @@ class AndroidSemanticsAction {
...
@@ -196,18 +144,6 @@ class AndroidSemanticsAction {
_kSetText:
setText
,
_kSetText:
setText
,
};
};
@override
int
get
hashCode
=>
id
.
hashCode
;
@override
bool
operator
==(
Object
other
)
{
if
(
other
.
runtimeType
!=
runtimeType
)
{
return
false
;
}
return
other
is
AndroidSemanticsAction
&&
other
.
id
==
id
;
}
/// Creates a new [AndroidSemanticsAction] from an integer `value`.
/// Creates a new [AndroidSemanticsAction] from an integer `value`.
///
///
/// Returns `null` if the id is not a known Android accessibility action.
/// Returns `null` if the id is not a known Android accessibility action.
...
...
packages/flutter/lib/src/rendering/box.dart
View file @
100cf21e
...
@@ -1390,7 +1390,7 @@ abstract class RenderBox extends RenderObject {
...
@@ -1390,7 +1390,7 @@ abstract class RenderBox extends RenderObject {
}
else
{
}
else
{
debugTimelineArguments
=
<
String
,
String
>{};
debugTimelineArguments
=
<
String
,
String
>{};
}
}
debugTimelineArguments
![
'intrinsics dimension'
]
=
d
escribeEnum
(
dimension
)
;
debugTimelineArguments
![
'intrinsics dimension'
]
=
d
imension
.
name
;
debugTimelineArguments
![
'intrinsics argument'
]
=
'
$argument
'
;
debugTimelineArguments
![
'intrinsics argument'
]
=
'
$argument
'
;
return
true
;
return
true
;
}());
}());
...
...
packages/flutter/lib/src/widgets/overscroll_indicator.dart
View file @
100cf21e
...
@@ -524,7 +524,7 @@ class _GlowController extends ChangeNotifier {
...
@@ -524,7 +524,7 @@ class _GlowController extends ChangeNotifier {
@override
@override
String
toString
()
{
String
toString
()
{
return
'_GlowController(color:
$color
, axis:
${
describeEnum(axis)
}
)'
;
return
'_GlowController(color:
$color
, axis:
${
axis.name
}
)'
;
}
}
}
}
...
...
packages/flutter/lib/src/widgets/widget_inspector.dart
View file @
100cf21e
...
@@ -2118,7 +2118,7 @@ mixin WidgetInspectorService {
...
@@ -2118,7 +2118,7 @@ mixin WidgetInspectorService {
if
(
parentData
is
FlexParentData
)
{
if
(
parentData
is
FlexParentData
)
{
additionalJson
[
'flexFactor'
]
=
parentData
.
flex
!;
additionalJson
[
'flexFactor'
]
=
parentData
.
flex
!;
additionalJson
[
'flexFit'
]
=
additionalJson
[
'flexFit'
]
=
describeEnum
(
parentData
.
fit
??
FlexFit
.
tight
)
;
(
parentData
.
fit
??
FlexFit
.
tight
).
name
;
}
else
if
(
parentData
is
BoxParentData
)
{
}
else
if
(
parentData
is
BoxParentData
)
{
final
Offset
offset
=
parentData
.
offset
;
final
Offset
offset
=
parentData
.
offset
;
additionalJson
[
'parentData'
]
=
<
String
,
Object
>{
additionalJson
[
'parentData'
]
=
<
String
,
Object
>{
...
...
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