Files
flutter/dev/integration_tests/android_semantics_testing/lib/src/constants.dart
Ian Hickson 449f4a6673 License update (#45373)
* Update project.pbxproj files to say Flutter rather than Chromium

Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.

* Update the copyright notice checker to require a standard notice on all files

* Update copyrights on Dart files. (This was a mechanical commit.)

* Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.

Some were already marked "The Flutter Authors", not clear why. Their
dates have been normalized. Some were missing the blank line after the
license. Some were randomly different in trivial ways for no apparent
reason (e.g. missing the trailing period).

* Clean up the copyrights in non-Dart files. (Manual edits.)

Also, make sure templates don't have copyrights.

* Fix some more ORGANIZATIONNAMEs
2019-11-27 15:04:02 -08:00

210 lines
8.5 KiB
Dart

// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:meta/meta.dart';
/// Class name constants which correspond to the class names used by the
/// Android accessibility bridge.
class AndroidClassName {
/// The class name used for checkboxes.
static const String checkBox = 'android.widget.CheckBox';
/// The default className if none is provided by flutter.
static const String view = 'android.view.View';
/// The class name used for radio buttons.
static const String radio = 'android.widget.RadioButton';
/// The class name used for editable text fields.
static const String editText = 'android.widget.EditText';
/// The class name used for read only text fields.
static const String textView = 'android.widget.TextView';
/// The class name used for toggle switches.
static const String toggleSwitch = 'android.widget.Switch';
/// The default className for buttons.
static const String button = 'android.widget.Button';
}
/// Action constants which correspond to `AccessibilityAction` in Android.
@immutable
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;
/// Matches `AccessibilityAction.ACTION_FOCUS`.
static const AndroidSemanticsAction focus = AndroidSemanticsAction._(_kFocusIndex);
/// Matches `AccessibilityAction.ACTION_CLEAR_FOCUS`.
static const AndroidSemanticsAction clearFocus = AndroidSemanticsAction._(_kClearFocusIndex);
/// Matches `AccessibilityAction.ACTION_SELECT`.
static const AndroidSemanticsAction select = AndroidSemanticsAction._(_kSelectIndex);
/// Matches `AccessibilityAction.ACTION_CLEAR_SELECTION`.
static const AndroidSemanticsAction clearSelection = AndroidSemanticsAction._(_kClearSelectionIndex);
/// Matches `AccessibilityAction.ACTION_CLICK`.
static const AndroidSemanticsAction click = AndroidSemanticsAction._(_kClickIndex);
/// Matches `AccessibilityAction.ACTION_LONG_CLICK`.
static const AndroidSemanticsAction longClick = AndroidSemanticsAction._(_kLongClickIndex);
/// Matches `AccessibilityAction.ACTION_ACCESSIBILITY_FOCUS`.
static const AndroidSemanticsAction accessibilityFocus = AndroidSemanticsAction._(_kAccessibilityFocusIndex);
/// Matches `AccessibilityAction.ACTION_CLEAR_ACCESSIBILITY_FOCUS`.
static const AndroidSemanticsAction clearAccessibilityFocus = AndroidSemanticsAction._(_kClearAccessibilityFocusIndex);
/// Matches `AccessibilityAction.ACTION_NEXT_AT_MOVEMENT_GRANULARITY`.
static const AndroidSemanticsAction nextAtMovementGranularity = AndroidSemanticsAction._(_kNextAtMovementGranularityIndex);
/// Matches `AccessibilityAction.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY`.
static const AndroidSemanticsAction previousAtMovementGranularity = AndroidSemanticsAction._(_kPreviousAtMovementGranularityIndex);
/// Matches `AccessibilityAction.ACTION_NEXT_HTML_ELEMENT`.
static const AndroidSemanticsAction nextHtmlElement = AndroidSemanticsAction._(_kNextHtmlElementIndex);
/// Matches `AccessibilityAction.ACTION_PREVIOUS_HTML_ELEMENT`.
static const AndroidSemanticsAction previousHtmlElement = AndroidSemanticsAction._(_kPreviousHtmlElementIndex);
/// Matches `AccessibilityAction.ACTION_SCROLL_FORWARD`.
static const AndroidSemanticsAction scrollForward = AndroidSemanticsAction._(_kScrollForwardIndex);
/// Matches `AccessibilityAction.ACTION_SCROLL_BACKWARD`.
static const AndroidSemanticsAction scrollBackward = AndroidSemanticsAction._(_kScrollBackwardIndex);
/// Matches `AccessibilityAction.ACTION_CUT`.
static const AndroidSemanticsAction cut = AndroidSemanticsAction._(_kCutIndex);
/// Matches `AccessibilityAction.ACTION_COPY`.
static const AndroidSemanticsAction copy = AndroidSemanticsAction._(_kCopyIndex);
/// Matches `AccessibilityAction.ACTION_PASTE`.
static const AndroidSemanticsAction paste = AndroidSemanticsAction._(_kPasteIndex);
/// Matches `AccessibilityAction.ACTION_SET_SELECTION`.
static const AndroidSemanticsAction setSelection = AndroidSemanticsAction._(_kSetSelectionIndex);
/// Matches `AccessibilityAction.ACTION_EXPAND`.
static const AndroidSemanticsAction expand = AndroidSemanticsAction._(_kExpandIndex);
/// Matches `AccessibilityAction.ACTION_COLLAPSE`.
static const AndroidSemanticsAction collapse = AndroidSemanticsAction._(_kCollapseIndex);
@override
String toString() {
switch (id) {
case _kFocusIndex:
return 'AndroidSemanticsAction.focus';
case _kClearFocusIndex:
return 'AndroidSemanticsAction.clearFocus';
case _kSelectIndex:
return 'AndroidSemanticsAction.select';
case _kClearSelectionIndex:
return 'AndroidSemanticsAction.clearSelection';
case _kClickIndex:
return 'AndroidSemanticsAction.click';
case _kLongClickIndex:
return 'AndroidSemanticsAction.longClick';
case _kAccessibilityFocusIndex:
return 'AndroidSemanticsAction.accessibilityFocus';
case _kClearAccessibilityFocusIndex:
return 'AndroidSemanticsAction.clearAccessibilityFocus';
case _kNextAtMovementGranularityIndex:
return 'AndroidSemanticsAction.nextAtMovementGranularity';
case _kPreviousAtMovementGranularityIndex:
return 'AndroidSemanticsAction.nextAtMovementGranularity';
case _kNextHtmlElementIndex:
return 'AndroidSemanticsAction.nextHtmlElement';
case _kPreviousHtmlElementIndex:
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';
default:
return null;
}
}
static const Map<int, AndroidSemanticsAction> _kactionById = <int, AndroidSemanticsAction>{
_kFocusIndex: focus,
_kClearFocusIndex: clearFocus,
_kSelectIndex: select,
_kClearSelectionIndex: clearSelection,
_kClickIndex: click,
_kLongClickIndex: longClick,
_kAccessibilityFocusIndex: accessibilityFocus,
_kClearAccessibilityFocusIndex: clearAccessibilityFocus,
_kNextAtMovementGranularityIndex: nextAtMovementGranularity,
_kPreviousAtMovementGranularityIndex: nextAtMovementGranularity,
_kNextHtmlElementIndex: nextHtmlElement,
_kPreviousHtmlElementIndex: previousHtmlElement,
_kScrollForwardIndex: scrollForward,
_kScrollBackwardIndex: scrollBackward,
_kCutIndex: cut,
_kCopyIndex: copy,
_kPasteIndex: paste,
_kSetSelectionIndex: setSelection,
_kExpandIndex: expand,
_kCollapseIndex: collapse,
};
@override
int get hashCode => id.hashCode;
@override
bool operator ==(Object other) {
if (other.runtimeType != runtimeType)
return false;
final AndroidSemanticsAction typedOther = other;
return id == typedOther.id;
}
/// Creates a new [AndroidSemanticsAction] from an integer `value`.
///
/// Returns `null` if the id is not a known Android accessibility action.
static AndroidSemanticsAction deserialize(int value) {
return _kactionById[value];
}
}