Remove 1745 decorative breaks (#123259)

Remove 1745 decorative breaks
This commit is contained in:
Michael Goderbauer 2023-03-22 14:12:22 -07:00 committed by GitHub
parent 14a15dedbe
commit fda9ecfef7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
291 changed files with 2 additions and 1749 deletions

View file

@ -35,7 +35,6 @@ linter:
- always_declare_return_types
- always_put_control_body_on_new_line
# - always_put_required_named_parameters_first # we prefer having parameters in the same order as fields https://github.com/flutter/flutter/issues/10219
- always_require_non_null_named_parameters
- always_specify_types
# - always_use_package_imports # we do this commonly
- annotate_overrides
@ -64,8 +63,6 @@ linter:
- avoid_relative_lib_imports
- avoid_renaming_method_parameters
- avoid_return_types_on_setters
- avoid_returning_null
- avoid_returning_null_for_future
- avoid_returning_null_for_void
# - avoid_returning_this # there are enough valid reasons to return `this` that this lint ends up with too many false positives
- avoid_setters_without_getters
@ -103,7 +100,6 @@ linter:
- empty_catches
- empty_constructor_bodies
- empty_statements
- enable_null_safety
- eol_at_end_of_file
- exhaustive_cases
- file_names
@ -201,6 +197,7 @@ linter:
# - unawaited_futures # too many false positives, especially with the way AnimationController works
- unnecessary_await_in_return
- unnecessary_brace_in_string_interps
- unnecessary_breaks
- unnecessary_const
- unnecessary_constructor_name
# - unnecessary_final # conflicts with prefer_final_locals

View file

@ -115,7 +115,6 @@ class _FilteredChildAnimationPageState extends State<FilteredChildAnimationPage>
opacity: (_controller.value * 2.0 - 1.0).abs(),
child: child,
);
break;
case FilterType.rotateTransform:
builder = (BuildContext context, Widget? child) => Transform(
transform: Matrix4.rotationZ(_controller.value * 2.0 * pi),
@ -123,7 +122,6 @@ class _FilteredChildAnimationPageState extends State<FilteredChildAnimationPage>
filterQuality: FilterQuality.low,
child: child,
);
break;
case FilterType.rotateFilter:
builder = (BuildContext context, Widget? child) => ImageFiltered(
imageFilter: ImageFilter.matrix((
@ -134,7 +132,6 @@ class _FilteredChildAnimationPageState extends State<FilteredChildAnimationPage>
).storage),
child: child,
);
break;
}
return RepaintBoundary(
child: AnimatedBuilder(

View file

@ -22,14 +22,12 @@ Future<void> main() async {
await Future<void>.delayed(const Duration(seconds: 20));
});
}
break;
case 'TargetPlatform.android':
{
// Just run for 20 seconds to collect memory usage. The widget itself
// animates during this time.
await Future<void>.delayed(const Duration(seconds: 20));
}
break;
default:
throw UnsupportedError('Unsupported platform $targetPlatform');
}

View file

@ -16,31 +16,22 @@ List<Object?> _makeTestBuffer(int size) {
switch (i % 9) {
case 0:
answer.add(1);
break;
case 1:
answer.add(math.pow(2, 65));
break;
case 2:
answer.add(1234.0);
break;
case 3:
answer.add(null);
break;
case 4:
answer.add(<int>[1234]);
break;
case 5:
answer.add(<String, int>{'hello': 1234});
break;
case 6:
answer.add('this is a test');
break;
case 7:
answer.add(true);
break;
case 8:
answer.add(Uint8List(64));
break;
}
}
return answer;

View file

@ -94,19 +94,15 @@ class StockHomeState extends State<StockHome> {
setState(() {
_autorefresh = !_autorefresh;
});
break;
case _StockMenuItem.refresh:
showDialog<void>(
context: context,
builder: (BuildContext context) => const _NotImplementedDialog(),
);
break;
case _StockMenuItem.speedUp:
timeDilation /= 5.0;
break;
case _StockMenuItem.speedDown:
timeDilation *= 5.0;
break;
}
}

View file

@ -63,7 +63,6 @@ class StockSettingsState extends State<StockSettings> {
switch (widget.configuration.stockMode) {
case StockMode.optimistic:
_handleOptimismChanged(false);
break;
case StockMode.pessimistic:
showDialog<bool>(
context: context,
@ -88,7 +87,6 @@ class StockSettingsState extends State<StockSettings> {
);
},
).then<void>(_handleOptimismChanged);
break;
}
}

View file

@ -1148,7 +1148,6 @@ Future<void> _runInteractive({
if (!busy) {
rerun();
}
break;
}
});
Watcher(file.absolute.path).events.listen((_) => rerun());

View file

@ -113,7 +113,6 @@ Future<Command> startCommand(String executable, List<String> arguments, {
switch (outputMode) {
case OutputMode.print:
print(line);
break;
case OutputMode.capture:
break;
}
@ -127,7 +126,6 @@ Future<Command> startCommand(String executable, List<String> arguments, {
switch (outputMode) {
case OutputMode.print:
print(line);
break;
case OutputMode.capture:
break;
}
@ -188,7 +186,6 @@ Future<CommandResult> runCommand(String executable, List<String> arguments, {
case OutputMode.capture:
print(result.flattenedStdout);
print(result.flattenedStderr);
break;
}
String allOutput;
if (failureMessage == null) {

View file

@ -107,25 +107,18 @@ String _testTypeToIndexFile(ServiceWorkerTestType type) {
switch (type) {
case ServiceWorkerTestType.blockedServiceWorkers:
indexFile = 'index_with_blocked_service_workers.html';
break;
case ServiceWorkerTestType.withFlutterJs:
indexFile = 'index_with_flutterjs.html';
break;
case ServiceWorkerTestType.withoutFlutterJs:
indexFile = 'index_without_flutterjs.html';
break;
case ServiceWorkerTestType.withFlutterJsShort:
indexFile = 'index_with_flutterjs_short.html';
break;
case ServiceWorkerTestType.withFlutterJsEntrypointLoadedEvent:
indexFile = 'index_with_flutterjs_entrypoint_loaded.html';
break;
case ServiceWorkerTestType.withFlutterJsTrustedTypesOn:
indexFile = 'index_with_flutterjs_el_tt_on.html';
break;
case ServiceWorkerTestType.generatedEntrypoint:
indexFile = 'generated_entrypoint.html';
break;
}
return indexFile;
}

View file

@ -160,12 +160,10 @@ String getNewPrLink({
candidateBranch = state.framework.candidateBranch;
workingBranch = state.framework.workingBranch;
repoLabel = 'Framework';
break;
case 'engine':
candidateBranch = state.engine.candidateBranch;
workingBranch = state.engine.workingBranch;
repoLabel = 'Engine';
break;
default:
throw ConductorException('Expected repoName to be one of flutter or engine but got $repoName.');
}

View file

@ -141,7 +141,6 @@ class NextContext extends Context {
}
await pushWorkingBranch(engine, state.engine);
break;
case pb.ReleasePhase.CODESIGN_ENGINE_BINARIES:
stdio.printStatus(<String>[
'You must validate pre-submit CI for your engine PR, merge it, and codesign',
@ -158,7 +157,6 @@ class NextContext extends Context {
return;
}
}
break;
case pb.ReleasePhase.APPLY_FRAMEWORK_CHERRYPICKS:
final Remote engineUpstreamRemote = Remote(
name: RemoteName.upstream,
@ -251,7 +249,6 @@ class NextContext extends Context {
}
await pushWorkingBranch(framework, state.framework);
break;
case pb.ReleasePhase.PUBLISH_VERSION:
stdio.printStatus('Please ensure that you have merged your framework PR and that');
stdio.printStatus('post-submit CI has finished successfully.\n');
@ -292,7 +289,6 @@ class NextContext extends Context {
}
await framework.tag(frameworkHead, state.releaseVersion, frameworkUpstream.name);
await engine.tag(engineHead, state.releaseVersion, engineUpstream.name);
break;
case pb.ReleasePhase.PUBLISH_CHANNEL:
final Remote upstream = Remote(
name: RemoteName.upstream,
@ -331,7 +327,6 @@ class NextContext extends Context {
remote: state.framework.upstream.url,
force: force,
);
break;
case pb.ReleasePhase.VERIFY_RELEASE:
stdio.printStatus(
'The current status of packaging builds can be seen at:\n'
@ -346,7 +341,6 @@ class NextContext extends Context {
return;
}
}
break;
case pb.ReleasePhase.RELEASE_COMPLETED:
throw ConductorException('This release is finished.');
}

View file

@ -394,16 +394,12 @@ class StartContext extends Context {
z: 0,
type: VersionType.stable,
);
break;
case ReleaseType.STABLE_HOTFIX:
nextVersion = Version.increment(lastVersion, 'z');
break;
case ReleaseType.BETA_INITIAL:
nextVersion = Version.fromCandidateBranch(candidateBranch);
break;
case ReleaseType.BETA_HOTFIX:
nextVersion = Version.increment(lastVersion, 'n');
break;
}
return nextVersion;
}

View file

@ -54,20 +54,16 @@ class Version {
assert(m == null);
assert(n == null);
assert(commits == null);
break;
case VersionType.development:
assert(m != null);
assert(n != null);
assert(commits == null);
break;
case VersionType.latest:
assert(m != null);
assert(n != null);
assert(commits != null);
break;
case VersionType.gitDescribe:
assert(commits != null);
break;
}
}
@ -182,19 +178,15 @@ class Version {
nextM = 0;
nextN = 0;
}
break;
case 'z':
// Hotfix to stable release.
assert(previousVersion.type == VersionType.stable);
nextZ += 1;
break;
case 'm':
assert(false, "Do not increment 'm' via Version.increment, use instead Version.fromCandidateBranch()");
break;
case 'n':
// Hotfix to internal roll.
nextN = nextN! + 1;
break;
default:
throw Exception('Unknown increment level $increment.');
}

View file

@ -114,14 +114,11 @@ class ABTest {
switch (aligns[column]) {
case FieldJustification.LEFT:
value = value.padRight(len);
break;
case FieldJustification.RIGHT:
value = value.padLeft(len);
break;
case FieldJustification.CENTER:
value = value.padLeft((len + value.length) ~/2);
value = value.padRight(len);
break;
}
}
if (column > 0) {

View file

@ -685,7 +685,6 @@ class StartupTest {
'--target=$target',
]);
applicationBinaryPath = '$testDirectory/build/app/outputs/flutter-apk/app-profile.apk';
break;
case DeviceOperatingSystem.androidArm:
await flutter('build', options: <String>[
'apk',
@ -695,7 +694,6 @@ class StartupTest {
'--target=$target',
]);
applicationBinaryPath = '$testDirectory/build/app/outputs/flutter-apk/app-profile.apk';
break;
case DeviceOperatingSystem.androidArm64:
await flutter('build', options: <String>[
'apk',
@ -705,7 +703,6 @@ class StartupTest {
'--target=$target',
]);
applicationBinaryPath = '$testDirectory/build/app/outputs/flutter-apk/app-profile.apk';
break;
case DeviceOperatingSystem.fake:
case DeviceOperatingSystem.fuchsia:
case DeviceOperatingSystem.linux:
@ -720,7 +717,6 @@ class StartupTest {
]);
final String buildRoot = path.join(testDirectory, 'build');
applicationBinaryPath = _findDarwinAppInBuildDirectory(buildRoot);
break;
case DeviceOperatingSystem.windows:
await flutter('build', options: <String>[
'windows',
@ -737,7 +733,6 @@ class StartupTest {
'Profile',
'$basename.exe'
);
break;
}
const int maxFailures = 3;
@ -824,7 +819,6 @@ class DevtoolsStartupTest {
'--target-platform=android-arm,android-arm64',
]);
applicationBinaryPath = '$testDirectory/build/app/outputs/flutter-apk/app-profile.apk';
break;
case DeviceOperatingSystem.androidArm:
await flutter('build', options: <String>[
'apk',
@ -833,7 +827,6 @@ class DevtoolsStartupTest {
'--target-platform=android-arm',
]);
applicationBinaryPath = '$testDirectory/build/app/outputs/flutter-apk/app-profile.apk';
break;
case DeviceOperatingSystem.androidArm64:
await flutter('build', options: <String>[
'apk',
@ -842,7 +835,6 @@ class DevtoolsStartupTest {
'--target-platform=android-arm64',
]);
applicationBinaryPath = '$testDirectory/build/app/outputs/flutter-apk/app-profile.apk';
break;
case DeviceOperatingSystem.ios:
await flutter('build', options: <String>[
'ios',
@ -850,7 +842,6 @@ class DevtoolsStartupTest {
'--profile',
]);
applicationBinaryPath = _findDarwinAppInBuildDirectory('$testDirectory/build/ios/iphoneos');
break;
case DeviceOperatingSystem.fake:
case DeviceOperatingSystem.fuchsia:
case DeviceOperatingSystem.linux:
@ -1383,7 +1374,6 @@ class CompileTest {
);
metrics.addAll(sizeMetrics);
}
break;
case DeviceOperatingSystem.android:
case DeviceOperatingSystem.androidArm:
options.insert(0, 'apk');
@ -1399,7 +1389,6 @@ class CompileTest {
if (reportPackageContentSizes) {
metrics.addAll(await getSizesFromApk(apkPath));
}
break;
case DeviceOperatingSystem.androidArm64:
options.insert(0, 'apk');
options.add('--target-platform=android-arm64');
@ -1414,7 +1403,6 @@ class CompileTest {
if (reportPackageContentSizes) {
metrics.addAll(await getSizesFromApk(apkPath));
}
break;
case DeviceOperatingSystem.fake:
throw Exception('Unsupported option for fake devices');
case DeviceOperatingSystem.fuchsia:
@ -1442,7 +1430,6 @@ class CompileTest {
// rather a directory containing an .exe and .dll files.
// The release size is set to the size of the produced .exe file
releaseSizeInBytes = exe.lengthSync();
break;
}
metrics.addAll(<String, dynamic>{
@ -1470,16 +1457,13 @@ class CompileTest {
switch (deviceOperatingSystem) {
case DeviceOperatingSystem.ios:
options.insert(0, 'ios');
break;
case DeviceOperatingSystem.android:
case DeviceOperatingSystem.androidArm:
options.insert(0, 'apk');
options.add('--target-platform=android-arm');
break;
case DeviceOperatingSystem.androidArm64:
options.insert(0, 'apk');
options.add('--target-platform=android-arm64');
break;
case DeviceOperatingSystem.fake:
throw Exception('Unsupported option for fake devices');
case DeviceOperatingSystem.fuchsia:
@ -1489,11 +1473,9 @@ class CompileTest {
case DeviceOperatingSystem.macos:
unawaited(stderr.flush());
options.insert(0, 'macos');
break;
case DeviceOperatingSystem.windows:
unawaited(stderr.flush());
options.insert(0, 'windows');
break;
}
watch.start();
await flutter('build', options: options);
@ -1521,7 +1503,6 @@ class CompileTest {
'Flutter.framework',
'Flutter',
));
break;
case DeviceOperatingSystem.macos:
frameworkDirectory = path.join(
appPath,
@ -1533,7 +1514,6 @@ class CompileTest {
'FlutterMacOS.framework',
'FlutterMacOS',
)); // https://github.com/flutter/flutter/issues/70413
break;
case DeviceOperatingSystem.android:
case DeviceOperatingSystem.androidArm:
case DeviceOperatingSystem.androidArm64:

View file

@ -262,7 +262,6 @@ public class $pluginClass: NSObject, FlutterPlugin {
) != 0) {
throw TaskResult.failure('Platform unit tests failed');
}
break;
case 'ios':
await testWithNewIOSSimulator('TestNativeUnitTests', (String deviceId) async {
if (!await runXcodeTests(
@ -275,7 +274,6 @@ public class $pluginClass: NSObject, FlutterPlugin {
throw TaskResult.failure('Platform unit tests failed');
}
});
break;
case 'linux':
if (await exec(
path.join(rootPath, 'build', 'linux', 'x64', 'release', 'plugins', 'plugintest', 'plugintest_test'),
@ -284,7 +282,6 @@ public class $pluginClass: NSObject, FlutterPlugin {
) != 0) {
throw TaskResult.failure('Platform unit tests failed');
}
break;
case 'macos':
if (!await runXcodeTests(
platformDirectory: path.join(rootPath, 'macos'),
@ -295,7 +292,6 @@ public class $pluginClass: NSObject, FlutterPlugin {
)) {
throw TaskResult.failure('Platform unit tests failed');
}
break;
case 'windows':
if (await exec(
path.join(rootPath, 'build', 'windows', 'plugins', 'plugintest', 'Release', 'plugintest_test.exe'),
@ -304,7 +300,6 @@ public class $pluginClass: NSObject, FlutterPlugin {
) != 0) {
throw TaskResult.failure('Platform unit tests failed');
}
break;
}
}

View file

@ -50,14 +50,12 @@ Widget builds: $_widgetBuilds''';
_state = FrameState.slow;
_icon = Icons.stop;
channel.invokeMethod<void>('start', _flutterFrameRate ~/ 2);
break;
case FrameState.slow:
debugPrint('Stopping .5x speed test...');
await channel.invokeMethod<void>('stop');
await _summarizeStats();
_icon = Icons.fast_forward;
_state = FrameState.afterSlow;
break;
case FrameState.afterSlow:
debugPrint('Starting 2x speed test...');
_widgetBuilds = 0;
@ -65,20 +63,17 @@ Widget builds: $_widgetBuilds''';
_state = FrameState.fast;
_icon = Icons.stop;
channel.invokeMethod<void>('start', (_flutterFrameRate * 2).toInt());
break;
case FrameState.fast:
debugPrint('Stopping 2x speed test...');
await channel.invokeMethod<void>('stop');
await _summarizeStats();
_state = FrameState.afterFast;
_icon = Icons.replay;
break;
case FrameState.afterFast:
debugPrint('Test complete.');
_summary = 'Press play to start again';
_state = FrameState.initial;
_icon = Icons.play_arrow;
break;
}
setState(() {});
}

View file

@ -155,22 +155,18 @@ class CalcExpression {
case ExpressionState.Start:
// Start a new number with digit.
newToken = IntToken('$digit');
break;
case ExpressionState.LeadingNeg:
// Replace the leading neg with a negative number starting with digit.
outList.removeLast();
newToken = IntToken('-$digit');
break;
case ExpressionState.Number:
final ExpressionToken last = outList.removeLast()!;
newToken = IntToken('${last.stringRep}$digit');
break;
case ExpressionState.Point:
case ExpressionState.NumberWithPoint:
final ExpressionToken last = outList.removeLast()!;
newState = ExpressionState.NumberWithPoint;
newToken = FloatToken('${last.stringRep}$digit');
break;
case ExpressionState.Result:
// Cannot enter a number now
return null;
@ -188,13 +184,11 @@ class CalcExpression {
switch (state) {
case ExpressionState.Start:
newToken = FloatToken('.');
break;
case ExpressionState.LeadingNeg:
case ExpressionState.Number:
final ExpressionToken last = outList.removeLast()!;
final String value = last.stringRep!;
newToken = FloatToken('$value.');
break;
case ExpressionState.Point:
case ExpressionState.NumberWithPoint:
case ExpressionState.Result:
@ -292,10 +286,8 @@ class CalcExpression {
switch (opToken.operation) {
case Operation.Addition:
currentTermValue += nextTermValue;
break;
case Operation.Subtraction:
currentTermValue -= nextTermValue;
break;
case Operation.Multiplication:
case Operation.Division:
// Logic error.

View file

@ -603,11 +603,9 @@ class Tab2ConversationBubble extends StatelessWidget {
case Tab2ConversationBubbleColor.gray:
backgroundColor = CupertinoDynamicColor.resolve(CupertinoColors.systemFill, context);
foregroundColor = CupertinoDynamicColor.resolve(CupertinoColors.label, context);
break;
case Tab2ConversationBubbleColor.blue:
backgroundColor = CupertinoTheme.of(context).primaryColor;
foregroundColor = CupertinoColors.white;
break;
case null:
break;
}

View file

@ -34,13 +34,10 @@ class _BannerDemoState extends State<BannerDemo> {
_displayBanner = true;
_showMultipleActions = true;
_showLeading = true;
break;
case BannerDemoAction.showMultipleActions:
_showMultipleActions = !_showMultipleActions;
break;
case BannerDemoAction.showLeading:
_showLeading = !_showLeading;
break;
}
});
}

View file

@ -382,13 +382,10 @@ class _CardsDemoState extends State<CardsDemo> {
switch (destination.type) {
case CardDemoType.standard:
child = TravelDestinationItem(destination: destination, shape: _shape);
break;
case CardDemoType.tappable:
child = TappableTravelDestinationItem(destination: destination, shape: _shape);
break;
case CardDemoType.selectable:
child = SelectableTravelDestinationItem(destination: destination, shape: _shape);
break;
}
return Container(

View file

@ -68,19 +68,14 @@ class LeaveBehindDemoState extends State<LeaveBehindDemo> {
switch (action) {
case LeaveBehindDemoAction.reset:
initListItems();
break;
case LeaveBehindDemoAction.horizontalSwipe:
_dismissDirection = DismissDirection.horizontal;
break;
case LeaveBehindDemoAction.leftSwipe:
_dismissDirection = DismissDirection.endToStart;
break;
case LeaveBehindDemoAction.rightSwipe:
_dismissDirection = DismissDirection.startToEnd;
break;
case LeaveBehindDemoAction.confirmDismiss:
_confirmDismiss = !_confirmDismiss;
break;
}
});
}

View file

@ -212,13 +212,10 @@ class _ListDemoState extends State<ListDemo> {
case _MaterialListType.oneLine:
case _MaterialListType.oneLineWithAvatar:
itemTypeText = 'Single-line';
break;
case _MaterialListType.twoLine:
itemTypeText = 'Two-line';
break;
case _MaterialListType.threeLine:
itemTypeText = 'Three-line';
break;
case null:
break;
}

View file

@ -57,11 +57,9 @@ class _ProgressIndicatorDemoState extends State<ProgressIndicatorDemo> with Sing
case AnimationStatus.dismissed:
case AnimationStatus.forward:
_controller.forward();
break;
case AnimationStatus.reverse:
case AnimationStatus.completed:
_controller.reverse();
break;
}
}
});

View file

@ -143,7 +143,6 @@ class _ListDemoState extends State<ReorderableListDemo> {
subtitle: secondary,
secondary: const Icon(Icons.drag_handle),
);
break;
case _ReorderableListType.horizontalAvatar:
case _ReorderableListType.verticalAvatar:
listTile = SizedBox(
@ -155,12 +154,10 @@ class _ListDemoState extends State<ReorderableListDemo> {
child: Text(item.value),
),
);
break;
case null:
listTile = Container(
key: Key(item.value),
);
break;
}
return listTile;

View file

@ -86,26 +86,20 @@ class _CustomRangeThumbShape extends RangeSliderThumbShape {
switch (thumb) {
case Thumb.start:
thumbPath = _rightTriangle(size, center);
break;
case Thumb.end:
thumbPath = _leftTriangle(size, center);
break;
case null:
break;
}
break;
case TextDirection.ltr:
switch (thumb) {
case Thumb.start:
thumbPath = _leftTriangle(size, center);
break;
case Thumb.end:
thumbPath = _rightTriangle(size, center);
break;
case null:
break;
}
break;
case null:
break;
}

View file

@ -208,7 +208,6 @@ class MotionEventsBodyState extends State<MotionEventsBody> {
flutterViewEvents.removeLast();
}
setState(() {});
break;
}
return Future<dynamic>.value();
}
@ -222,7 +221,6 @@ class MotionEventsBodyState extends State<MotionEventsBody> {
embeddedViewEvents.removeLast();
}
setState(() {});
break;
}
return Future<dynamic>.value();
}

View file

@ -236,13 +236,10 @@ class _MyHomePageState extends State<MyHomePage> {
switch (widget.setup) {
case Setup.none:
imageWidget = Container();
break;
case Setup.image:
imageWidget = Image.memory(base64Decode(_displayP3Logo));
break;
case Setup.canvasSaveLayer:
imageWidget = CustomPaint(painter: _SaveLayerDrawer(_image));
break;
case Setup.blur:
imageWidget = Stack(
children: <Widget>[
@ -258,7 +255,6 @@ class _MyHomePageState extends State<MyHomePage> {
child: Image.memory(base64Decode(_displayP3Logo))),
],
);
break;
}
return Scaffold(

View file

@ -286,19 +286,15 @@ class CardCollectionState extends State<CardCollection> {
switch (_dismissDirection) {
case DismissDirection.horizontal:
backgroundMessage = 'Swipe in either direction';
break;
case DismissDirection.endToStart:
backgroundMessage = 'Swipe left to dismiss';
break;
case DismissDirection.startToEnd:
backgroundMessage = 'Swipe right to dismiss';
break;
case DismissDirection.vertical:
case DismissDirection.up:
case DismissDirection.down:
case DismissDirection.none:
backgroundMessage = 'Unsupported dismissDirection';
break;
}
// This icon is wrong in RTL.

View file

@ -160,12 +160,10 @@ class _PointDemoState extends State<_PointDemo> {
setState(() {
_begin = _begin! + details.delta;
});
break;
case _DragTarget.end:
setState(() {
_end = _end! + details.delta;
});
break;
}
}
@ -322,12 +320,10 @@ class _RectangleDemoState extends State<_RectangleDemo> {
setState(() {
_begin = _begin?.shift(details.delta);
});
break;
case _DragTarget.end:
setState(() {
_end = _end?.shift(details.delta);
});
break;
}
}

View file

@ -481,13 +481,10 @@ class _TestMenusState extends State<_TestMenus> {
switch (checkboxState) {
case false:
checkboxState = true;
break;
case true:
checkboxState = null;
break;
case null:
checkboxState = false;
break;
}
});
}
@ -506,10 +503,8 @@ class _TestMenusState extends State<_TestMenus> {
case TestMenu.radioMenu2:
case TestMenu.radioMenu3:
shortcuts[item.shortcut!] = VoidCallbackIntent(() => _setRadio(item));
break;
case TestMenu.subMenu1:
shortcuts[item.shortcut!] = VoidCallbackIntent(() => _setCheck(item));
break;
case TestMenu.mainMenu1:
case TestMenu.mainMenu2:
case TestMenu.mainMenu3:
@ -529,7 +524,6 @@ class _TestMenusState extends State<_TestMenus> {
case TestMenu.standaloneMenu1:
case TestMenu.standaloneMenu2:
shortcuts[item.shortcut!] = VoidCallbackIntent(() => _itemSelected(item));
break;
}
}
_shortcutsEntry = ShortcutRegistry.of(context).addAll(shortcuts);

View file

@ -170,8 +170,7 @@ class _FuzzerState extends State<Fuzzer> with SingleTickerProviderStateMixin {
case 0:
return const TextStyle();
case 1:
style = const TextStyle();
break; // and mutate it below
style = const TextStyle(); // is mutated below
default:
return null;
}
@ -211,7 +210,6 @@ class _FuzzerState extends State<Fuzzer> with SingleTickerProviderStateMixin {
case 3:
return value.withBlue(value.blue + _random.nextInt(10) - 5);
}
break;
case 1:
return null;
}
@ -322,10 +320,8 @@ class _FuzzerState extends State<Fuzzer> with SingleTickerProviderStateMixin {
case 3:
case 4:
children.insert(_random.nextInt(children.length + 1), _createRandomTextSpan());
break;
case 10:
children = children.reversed.toList();
break;
case 20:
if (children.isEmpty) {
break;
@ -337,7 +333,6 @@ class _FuzzerState extends State<Fuzzer> with SingleTickerProviderStateMixin {
if (depthOf(children[index]) < 3) {
children.removeAt(index);
}
break;
}
if (children.isEmpty && _random.nextBool()) {
return null;

View file

@ -405,10 +405,8 @@ String generateType(Map<String, dynamic>? attributes) {
switch (attributes['x-flutter-type'] as String?) {
case 'icuShortTimePattern':
type = 'TimeOfDayFormat';
break;
case 'scriptCategory':
type = 'ScriptCategory';
break;
}
}
return type + (optional ? '?' : '');

View file

@ -71,12 +71,10 @@ class LocaleInfo implements Comparable<LocaleInfo> {
case 'CN':
case 'SG':
scriptCode = 'Hans';
break;
case 'TW':
case 'HK':
case 'MO':
scriptCode = 'Hant';
break;
}
break;
}
@ -339,13 +337,10 @@ void precacheLanguageAndRegionTags() {
switch (type) {
case 'language':
_languages[subtag] = description;
break;
case 'region':
_regions[subtag] = description;
break;
case 'script':
_scripts[subtag] = description;
break;
}
}
}

View file

@ -156,16 +156,12 @@ class PathCommandAnimation {
switch (type) {
case 'M':
dartCommandClass = '_PathMoveTo';
break;
case 'C':
dartCommandClass = '_PathCubicTo';
break;
case 'L':
dartCommandClass = '_PathLineTo';
break;
case 'Z':
dartCommandClass = '_PathClose';
break;
default:
throw Exception('unsupported path command: $type');
}

View file

@ -80,10 +80,8 @@ class _MyStatefulWidgetState extends State<MyStatefulWidget> {
curve: Curves.easeOut,
);
}
break;
case 1:
showModal(context);
break;
}
setState(
() {

View file

@ -178,22 +178,17 @@ class _MyCascadingMenuState extends State<MyCascadingMenu> {
applicationName: 'MenuBar Sample',
applicationVersion: '1.0.0',
);
break;
case MenuEntry.hideMessage:
case MenuEntry.showMessage:
showingMessage = !showingMessage;
break;
case MenuEntry.colorMenu:
break;
case MenuEntry.colorRed:
backgroundColor = Colors.red;
break;
case MenuEntry.colorGreen:
backgroundColor = Colors.green;
break;
case MenuEntry.colorBlue:
backgroundColor = Colors.blue;
break;
}
}
}

View file

@ -169,22 +169,17 @@ class _MyContextMenuState extends State<MyContextMenu> {
applicationName: 'MenuBar Sample',
applicationVersion: '1.0.0',
);
break;
case MenuEntry.showMessage:
case MenuEntry.hideMessage:
showingMessage = !showingMessage;
break;
case MenuEntry.colorMenu:
break;
case MenuEntry.colorRed:
backgroundColor = Colors.red;
break;
case MenuEntry.colorGreen:
backgroundColor = Colors.green;
break;
case MenuEntry.colorBlue:
backgroundColor = Colors.blue;
break;
}
}

View file

@ -46,12 +46,10 @@ class _PlatformMenuBarExampleState extends State<PlatformMenuBarExample> {
applicationName: 'MenuBar Sample',
applicationVersion: '1.0.0',
);
break;
case MenuSelection.showMessage:
setState(() {
_showMessage = !_showMessage;
});
break;
}
}

View file

@ -185,15 +185,12 @@ class _RenderSelectableAdapter extends RenderProxyBox with Selectable, Selection
_end = adjustedPoint;
}
result = SelectionUtils.getResultBasedOnRect(renderObjectRect, point);
break;
case SelectionEventType.clear:
_start = _end = null;
break;
case SelectionEventType.selectAll:
case SelectionEventType.selectWord:
_start = Offset.zero;
_end = Offset.infinite;
break;
case SelectionEventType.granularlyExtendSelection:
result = SelectionResult.end;
final GranularlyExtendSelectionEvent extendSelectionEvent = event as GranularlyExtendSelectionEvent;
@ -218,7 +215,6 @@ class _RenderSelectableAdapter extends RenderProxyBox with Selectable, Selection
}
_start = newOffset;
}
break;
case SelectionEventType.directionallyExtendSelection:
result = SelectionResult.end;
final DirectionallyExtendSelectionEvent extendSelectionEvent = event as DirectionallyExtendSelectionEvent;
@ -240,7 +236,6 @@ class _RenderSelectableAdapter extends RenderProxyBox with Selectable, Selection
} else {
newOffset = Offset.infinite;
}
break;
case SelectionExtendDirection.nextLine:
case SelectionExtendDirection.forward:
forward = true;
@ -254,7 +249,6 @@ class _RenderSelectableAdapter extends RenderProxyBox with Selectable, Selection
} else {
newOffset = Offset.zero;
}
break;
}
if (extendSelectionEvent.isEnd) {
if (newOffset == _end) {
@ -267,7 +261,6 @@ class _RenderSelectableAdapter extends RenderProxyBox with Selectable, Selection
}
_start = newOffset;
}
break;
}
_updateGeometry();
return result;

View file

@ -87,7 +87,6 @@ class _MyStatefulWidgetState extends State<MyStatefulWidget> {
child: Text('Select a lot'),
),
];
break;
case ConnectionState.waiting:
children = const <Widget>[
SizedBox(
@ -100,7 +99,6 @@ class _MyStatefulWidgetState extends State<MyStatefulWidget> {
child: Text('Awaiting bids...'),
),
];
break;
case ConnectionState.active:
children = <Widget>[
const Icon(
@ -113,7 +111,6 @@ class _MyStatefulWidgetState extends State<MyStatefulWidget> {
child: Text('\$${snapshot.data}'),
),
];
break;
case ConnectionState.done:
children = <Widget>[
const Icon(
@ -126,7 +123,6 @@ class _MyStatefulWidgetState extends State<MyStatefulWidget> {
child: Text('\$${snapshot.data} (closed)'),
),
];
break;
}
}

View file

@ -49,7 +49,6 @@ class _CascadeLayoutDelegate extends MultiChildLayoutDelegate {
switch (textDirection) {
case TextDirection.rtl:
childPosition += Offset(size.width, 0);
break;
case TextDirection.ltr:
break;
}
@ -66,11 +65,9 @@ class _CascadeLayoutDelegate extends MultiChildLayoutDelegate {
case TextDirection.rtl:
positionChild(color, childPosition - Offset(currentSize.width, 0));
childPosition += Offset(-currentSize.width, currentSize.height - overlap);
break;
case TextDirection.ltr:
positionChild(color, childPosition);
childPosition += Offset(currentSize.width, currentSize.height - overlap);
break;
}
}
}

View file

@ -105,7 +105,6 @@ class SignUpPage extends StatelessWidget {
// Assume CollectPersonalInfoPage collects personal info and then
// navigates to 'signup/choose_credentials'.
builder = (BuildContext context) => const CollectPersonalInfoPage();
break;
case 'signup/choose_credentials':
// Assume ChooseCredentialsPage collects new credentials and then
// invokes 'onSignupComplete()'.
@ -119,7 +118,6 @@ class SignUpPage extends StatelessWidget {
Navigator.of(context).pop();
},
);
break;
default:
throw Exception('Invalid route: ${settings.name}');
}

View file

@ -32,18 +32,14 @@ void main() {
switch (defaultTargetPlatform) {
case TargetPlatform.iOS:
expect(find.byType(CupertinoTextSelectionToolbarButton), findsAtLeastNWidgets(1));
break;
case TargetPlatform.android:
case TargetPlatform.fuchsia:
expect(find.byType(TextSelectionToolbarTextButton), findsAtLeastNWidgets(1));
break;
case TargetPlatform.linux:
case TargetPlatform.windows:
expect(find.byType(DesktopTextSelectionToolbarButton), findsAtLeastNWidgets(1));
break;
case TargetPlatform.macOS:
expect(find.byType(CupertinoDesktopTextSelectionToolbarButton), findsAtLeastNWidgets(1));
break;
}
expect(find.text('Copy'), findsNothing);
expect(find.text('Cut'), findsNothing);

View file

@ -23,18 +23,14 @@ void main() {
switch (platform) {
case TargetPlatform.iOS:
expect(theme.builders[platform], isA<CupertinoPageTransitionsBuilder>());
break;
case TargetPlatform.linux:
expect(theme.builders[platform], isA<OpenUpwardsPageTransitionsBuilder>());
break;
case TargetPlatform.macOS:
expect(theme.builders[platform], isA<FadeUpwardsPageTransitionsBuilder>());
break;
case TargetPlatform.android:
case TargetPlatform.fuchsia:
case TargetPlatform.windows:
expect(theme.builders[platform], isNull);
break;
}
}

View file

@ -25,14 +25,12 @@ void main() {
expect(theme.builders[platform], isA<ZoomPageTransitionsBuilder>());
final ZoomPageTransitionsBuilder builder = theme.builders[platform]! as ZoomPageTransitionsBuilder;
expect(builder.allowSnapshotting, isFalse);
break;
case TargetPlatform.iOS:
case TargetPlatform.macOS:
case TargetPlatform.linux:
case TargetPlatform.fuchsia:
case TargetPlatform.windows:
expect(theme.builders[platform], isNull);
break;
}
}

View file

@ -576,7 +576,6 @@ class AnimationController extends Animation<double>
// pattern of an eternally repeating animation might cause an endless loop if it weren't delayed
// for at least one frame.
scale = 0.05;
break;
case AnimationBehavior.preserve:
break;
}
@ -696,7 +695,6 @@ class AnimationController extends Animation<double>
switch (behavior) {
case AnimationBehavior.normal:
scale = 200.0; // This is arbitrary (it was chosen because it worked for the drawer widget).
break;
case AnimationBehavior.preserve:
break;
}

View file

@ -424,13 +424,10 @@ class CurvedAnimation extends Animation<double> with AnimationWithParentMixin<do
case AnimationStatus.dismissed:
case AnimationStatus.completed:
_curveDirection = null;
break;
case AnimationStatus.forward:
_curveDirection ??= AnimationStatus.forward;
break;
case AnimationStatus.reverse:
_curveDirection ??= AnimationStatus.reverse;
break;
}
}
@ -571,10 +568,8 @@ class TrainHoppingAnimation extends Animation<double>
switch (_mode!) {
case _TrainHoppingMode.minimize:
hop = _nextTrain!.value <= _currentTrain!.value;
break;
case _TrainHoppingMode.maximize:
hop = _nextTrain!.value >= _currentTrain!.value;
break;
}
if (hop) {
_currentTrain!

View file

@ -1041,20 +1041,15 @@ class CupertinoDynamicColor extends Color with Diagnosticable {
switch (level) {
case CupertinoUserInterfaceLevelData.base:
resolved = isHighContrastEnabled ? highContrastColor : color;
break;
case CupertinoUserInterfaceLevelData.elevated:
resolved = isHighContrastEnabled ? highContrastElevatedColor : elevatedColor;
break;
}
break;
case Brightness.dark:
switch (level) {
case CupertinoUserInterfaceLevelData.base:
resolved = isHighContrastEnabled ? darkHighContrastColor : darkColor;
break;
case CupertinoUserInterfaceLevelData.elevated:
resolved = isHighContrastEnabled ? darkHighContrastElevatedColor : darkElevatedColor;
break;
}
}

View file

@ -564,7 +564,6 @@ class _CupertinoContextMenuState extends State<CupertinoContextMenu> with Ticker
}
_lastOverlayEntry?.remove();
_lastOverlayEntry = null;
break;
case AnimationStatus.completed:
setState(() {
@ -580,7 +579,6 @@ class _CupertinoContextMenuState extends State<CupertinoContextMenu> with Ticker
_lastOverlayEntry = null;
_openController.reset();
});
break;
case AnimationStatus.forward:
case AnimationStatus.reverse:

View file

@ -428,7 +428,6 @@ class CupertinoDatePicker extends StatefulWidget {
longestText = date;
}
}
break;
case _PickerColumnType.hour:
for (int i = 0; i < 24; i++) {
final String hour = localizations.datePickerHour(i);
@ -436,7 +435,6 @@ class CupertinoDatePicker extends StatefulWidget {
longestText = hour;
}
}
break;
case _PickerColumnType.minute:
for (int i = 0; i < 60; i++) {
final String minute = localizations.datePickerMinute(i);
@ -444,13 +442,11 @@ class CupertinoDatePicker extends StatefulWidget {
longestText = minute;
}
}
break;
case _PickerColumnType.dayPeriod:
longestText =
localizations.anteMeridiemAbbreviation.length > localizations.postMeridiemAbbreviation.length
? localizations.anteMeridiemAbbreviation
: localizations.postMeridiemAbbreviation;
break;
case _PickerColumnType.dayOfMonth:
int longestDayOfMonth = 1;
for (int i = 1; i <=31; i++) {
@ -468,7 +464,6 @@ class CupertinoDatePicker extends StatefulWidget {
}
}
}
break;
case _PickerColumnType.month:
for (int i = 1; i <=12; i++) {
final String month = localizations.datePickerMonth(i);
@ -476,10 +471,8 @@ class CupertinoDatePicker extends StatefulWidget {
longestText = month;
}
}
break;
case _PickerColumnType.year:
longestText = localizations.datePickerYear(2018);
break;
}
assert(longestText != '', 'column type is not appropriate');
@ -1400,7 +1393,6 @@ class _CupertinoDatePickerDateState extends State<CupertinoDatePicker> {
estimatedColumnWidths[_PickerColumnType.dayOfMonth.index]!,
estimatedColumnWidths[_PickerColumnType.year.index]!,
];
break;
case DatePickerDateOrder.dmy:
pickerBuilders = <_ColumnBuilder>[_buildDayPicker, _buildMonthPicker, _buildYearPicker];
columnWidths = <double>[
@ -1408,7 +1400,6 @@ class _CupertinoDatePickerDateState extends State<CupertinoDatePicker> {
estimatedColumnWidths[_PickerColumnType.month.index]!,
estimatedColumnWidths[_PickerColumnType.year.index]!,
];
break;
case DatePickerDateOrder.ymd:
pickerBuilders = <_ColumnBuilder>[_buildYearPicker, _buildMonthPicker, _buildDayPicker];
columnWidths = <double>[
@ -1416,7 +1407,6 @@ class _CupertinoDatePickerDateState extends State<CupertinoDatePicker> {
estimatedColumnWidths[_PickerColumnType.month.index]!,
estimatedColumnWidths[_PickerColumnType.dayOfMonth.index]!,
];
break;
case DatePickerDateOrder.ydm:
pickerBuilders = <_ColumnBuilder>[_buildYearPicker, _buildDayPicker, _buildMonthPicker];
columnWidths = <double>[
@ -1424,7 +1414,6 @@ class _CupertinoDatePickerDateState extends State<CupertinoDatePicker> {
estimatedColumnWidths[_PickerColumnType.dayOfMonth.index]!,
estimatedColumnWidths[_PickerColumnType.month.index]!,
];
break;
}
final List<Widget> pickers = <Widget>[];
@ -2099,7 +2088,6 @@ class _CupertinoTimerPickerState extends State<CupertinoTimerPicker> {
_endSelectionOverlay,
),
];
break;
case CupertinoTimerPickerMode.ms:
final double secondLabelContentWidth = baseLabelContentWidth + secondLabelWidth;
double secondColumnEndPadding =
@ -2130,7 +2118,6 @@ class _CupertinoTimerPickerState extends State<CupertinoTimerPicker> {
_endSelectionOverlay,
),
];
break;
case CupertinoTimerPickerMode.hms:
final double hourColumnEndPadding =
pickerColumnWidth - baseLabelContentWidth - hourLabelWidth - _kTimerPickerMinHorizontalPadding;
@ -2162,7 +2149,6 @@ class _CupertinoTimerPickerState extends State<CupertinoTimerPicker> {
_endSelectionOverlay,
),
];
break;
}
final CupertinoThemeData themeData = CupertinoTheme.of(context);
return MediaQuery(

View file

@ -898,10 +898,8 @@ class _CupertinoDialogRenderElement extends RenderObjectElement {
switch (slot) {
case _AlertDialogSections.contentSection:
renderObject.contentSection = child as RenderBox;
break;
case _AlertDialogSections.actionsSection:
renderObject.actionsSection = child as RenderBox;
break;
}
}
}

View file

@ -420,10 +420,8 @@ class CupertinoListSection extends StatelessWidget {
switch (type) {
case CupertinoListSectionType.insetGrouped:
childrenGroupBorderRadius = _kDefaultInsetGroupedBorderRadius;
break;
case CupertinoListSectionType.base:
childrenGroupBorderRadius = BorderRadius.zero;
break;
}
// Refactored the decorate children group in one place to avoid repeating it

View file

@ -292,10 +292,8 @@ class _CupertinoListTileState extends State<CupertinoListTile> {
switch (widget._type) {
case _CupertinoListTileType.base:
padding = widget.subtitle == null ? _kPadding : _kPaddingWithSubtitle;
break;
case _CupertinoListTileType.notched:
padding = widget.leading == null ? _kNotchedPaddingWithoutLeading : _kNotchedPadding;
break;
}
}
@ -331,10 +329,8 @@ class _CupertinoListTileState extends State<CupertinoListTile> {
switch (widget._type) {
case _CupertinoListTileType.base:
minHeight = subtitle == null ? _kMinHeight : _kMinHeightWithSubtitle;
break;
case _CupertinoListTileType.notched:
minHeight = widget.leading == null ? _kNotchedMinHeightWithoutLeading : _kNotchedMinHeight;
break;
}
final Widget child = Container(

View file

@ -144,10 +144,8 @@ Widget _wrapWithBackground({
switch (newBrightness) {
case Brightness.dark:
overlayStyle = SystemUiOverlayStyle.light;
break;
case Brightness.light:
overlayStyle = SystemUiOverlayStyle.dark;
break;
}
// [SystemUiOverlayStyle.light] and [SystemUiOverlayStyle.dark] set some system
// navigation bar properties,
@ -1544,7 +1542,6 @@ class _BackChevron extends StatelessWidget {
transformHitTests: false,
child: iconWidget,
);
break;
case TextDirection.ltr:
break;
}

View file

@ -237,14 +237,12 @@ class _CupertinoPickerState extends State<CupertinoPicker> {
switch (defaultTargetPlatform) {
case TargetPlatform.iOS:
hasSuitableHapticHardware = true;
break;
case TargetPlatform.android:
case TargetPlatform.fuchsia:
case TargetPlatform.linux:
case TargetPlatform.macOS:
case TargetPlatform.windows:
hasSuitableHapticHardware = false;
break;
}
if (hasSuitableHapticHardware && index != _lastHapticIndex) {
_lastHapticIndex = index;

View file

@ -533,7 +533,6 @@ class _CupertinoSliverRefreshControlState extends State<CupertinoSliverRefreshCo
} else {
nextState = RefreshIndicatorMode.inactive;
}
break;
}
return nextState;

View file

@ -948,11 +948,9 @@ class _CupertinoEdgeShadowPainter extends BoxPainter {
case TextDirection.rtl:
start = offset.dx + configuration.size!.width;
shadowDirection = 1;
break;
case TextDirection.ltr:
start = offset.dx;
shadowDirection = -1;
break;
}
int bandColorIndex = 0;

View file

@ -188,10 +188,8 @@ class _CupertinoScrollbarState extends RawScrollbarState<CupertinoScrollbar> {
switch (direction) {
case Axis.vertical:
_pressStartAxisPosition = localPosition.dy;
break;
case Axis.horizontal:
_pressStartAxisPosition = localPosition.dx;
break;
}
}
@ -220,13 +218,11 @@ class _CupertinoScrollbarState extends RawScrollbarState<CupertinoScrollbar> {
(localPosition.dy - _pressStartAxisPosition).abs() > 0) {
HapticFeedback.mediumImpact();
}
break;
case Axis.horizontal:
if (velocity.pixelsPerSecond.dx.abs() < 10 &&
(localPosition.dx - _pressStartAxisPosition).abs() > 0) {
HapticFeedback.mediumImpact();
}
break;
}
}

View file

@ -657,14 +657,12 @@ class _RenderSegmentedControl<T> extends RenderBox
lastChild,
firstChild,
);
break;
case TextDirection.ltr:
_layoutRects(
childAfter,
firstChild,
lastChild,
);
break;
}
size = _computeOverallSizeFromChildSize(childSize);

View file

@ -456,10 +456,8 @@ class _RenderCupertinoSlider extends RenderConstrainedBox implements MouseTracke
switch (textDirection) {
case TextDirection.rtl:
visualPosition = 1.0 - _value;
break;
case TextDirection.ltr:
visualPosition = _value;
break;
}
return lerpDouble(_trackLeft + CupertinoThumbPainter.radius, _trackRight - CupertinoThumbPainter.radius, visualPosition)!;
}
@ -475,10 +473,8 @@ class _RenderCupertinoSlider extends RenderConstrainedBox implements MouseTracke
switch (textDirection) {
case TextDirection.rtl:
_currentDragValue -= valueDelta;
break;
case TextDirection.ltr:
_currentDragValue += valueDelta;
break;
}
onChanged!(_discretizedCurrentDragValue);
}
@ -522,12 +518,10 @@ class _RenderCupertinoSlider extends RenderConstrainedBox implements MouseTracke
visualPosition = 1.0 - _position.value;
leftColor = _activeColor;
rightColor = trackColor;
break;
case TextDirection.ltr:
visualPosition = _position.value;
leftColor = trackColor;
rightColor = _activeColor;
break;
}
final double trackCenter = offset.dy + size.height / 2.0;

View file

@ -498,7 +498,6 @@ class _SegmentedControlState<T> extends State<CupertinoSlidingSegmentedControl<T
break;
case TextDirection.rtl:
index = numOfChildren - 1 - index;
break;
}
return widget.children.keys.elementAt(index);
@ -682,7 +681,6 @@ class _SegmentedControlState<T> extends State<CupertinoSlidingSegmentedControl<T
if (highlightedIndex != null) {
highlightedIndex = index - 1 - highlightedIndex;
}
break;
}
return UnconstrainedBox(

View file

@ -303,10 +303,8 @@ class _CupertinoSwitchState extends State<CupertinoSwitch> with TickerProviderSt
switch (Directionality.of(context)) {
case TextDirection.rtl:
_positionController.value -= delta;
break;
case TextDirection.ltr:
_positionController.value += delta;
break;
}
}
}
@ -325,7 +323,6 @@ class _CupertinoSwitchState extends State<CupertinoSwitch> with TickerProviderSt
switch (defaultTargetPlatform) {
case TargetPlatform.iOS:
HapticFeedback.lightImpact();
break;
case TargetPlatform.android:
case TargetPlatform.fuchsia:
case TargetPlatform.linux:
@ -609,10 +606,8 @@ class _RenderCupertinoSwitch extends RenderConstrainedBox {
switch (textDirection) {
case TextDirection.rtl:
visualPosition = 1.0 - currentValue;
break;
case TextDirection.ltr:
visualPosition = currentValue;
break;
}
final Paint paint = Paint()

View file

@ -1005,7 +1005,6 @@ class _CupertinoTextFieldState extends State<CupertinoTextField> with Restoratio
if (cause == SelectionChangedCause.longPress) {
_editableText.bringIntoView(selection.extent);
}
break;
}
switch (defaultTargetPlatform) {
@ -1019,7 +1018,6 @@ class _CupertinoTextFieldState extends State<CupertinoTextField> with Restoratio
if (cause == SelectionChangedCause.drag) {
_editableText.hideToolbar();
}
break;
}
}
@ -1186,7 +1184,6 @@ class _CupertinoTextFieldState extends State<CupertinoTextField> with Restoratio
case TargetPlatform.fuchsia:
case TargetPlatform.linux:
textSelectionControls ??= cupertinoTextSelectionHandleControls;
break;
case TargetPlatform.macOS:
case TargetPlatform.windows:
@ -1197,7 +1194,6 @@ class _CupertinoTextFieldState extends State<CupertinoTextField> with Restoratio
_effectiveFocusNode.requestFocus();
}
};
break;
}
final bool enabled = widget.enabled ?? true;

View file

@ -587,13 +587,10 @@ class _CupertinoTextSelectionToolbarItemsElement extends RenderObjectElement {
switch (slot) {
case _CupertinoTextSelectionToolbarItemsSlot.backButton:
renderObject.backButton = child;
break;
case _CupertinoTextSelectionToolbarItemsSlot.nextButton:
renderObject.nextButton = child;
break;
case _CupertinoTextSelectionToolbarItemsSlot.nextButtonDisabled:
renderObject.nextButtonDisabled = child;
break;
}
}

View file

@ -76,13 +76,10 @@ mixin ToggleableStateMixin<S extends StatefulWidget> on TickerProviderStateMixin
switch (value) {
case false:
onChanged!(true);
break;
case true:
onChanged!(tristate ? null : false);
break;
case null:
onChanged!(false);
break;
}
context.findRenderObject()!.sendSemanticsEvent(const TapSemanticEvent());
}

View file

@ -566,22 +566,16 @@ abstract class BindingBase {
switch (parameters['value']) {
case 'android':
debugDefaultTargetPlatformOverride = TargetPlatform.android;
break;
case 'fuchsia':
debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia;
break;
case 'iOS':
debugDefaultTargetPlatformOverride = TargetPlatform.iOS;
break;
case 'linux':
debugDefaultTargetPlatformOverride = TargetPlatform.linux;
break;
case 'macOS':
debugDefaultTargetPlatformOverride = TargetPlatform.macOS;
break;
case 'windows':
debugDefaultTargetPlatformOverride = TargetPlatform.windows;
break;
case 'default':
default:
debugDefaultTargetPlatformOverride = null;
@ -607,10 +601,8 @@ abstract class BindingBase {
switch (parameters['value']) {
case 'Brightness.light':
debugBrightnessOverride = ui.Brightness.light;
break;
case 'Brightness.dark':
debugBrightnessOverride = ui.Brightness.dark;
break;
default:
debugBrightnessOverride = null;
}

View file

@ -65,12 +65,10 @@ Future<Uint8List> consolidateHttpClientResponseBytes(
// We need to un-compress the bytes as they come in.
sink = gzip.decoder.startChunkedConversion(output);
}
break;
case HttpClientResponseCompressionState.decompressed:
// response.contentLength will not match our bytes stream, so we declare
// that we don't know the expected content length.
expectedContentLength = null;
break;
case HttpClientResponseCompressionState.notCompressed:
// Fall-through.
break;

View file

@ -907,13 +907,11 @@ class _PrefixedStringBuilder {
}
lastWordStart = index;
mode = _WordWrapParseMode.inWord;
break;
case _WordWrapParseMode.inWord: // looking for a good break point. Treat all text
while ((index < message.length) && (message[index] != ' ' || noWrap(index))) {
index += 1;
}
mode = _WordWrapParseMode.atBreak;
break;
case _WordWrapParseMode.atBreak: // at start of break point
if ((index - startForLengthCalculations > width) || (index == message.length)) {
// we are over the width line, so break
@ -953,7 +951,6 @@ class _PrefixedStringBuilder {
// skip to the end of this break point
mode = _WordWrapParseMode.inSpace;
}
break;
}
}
}

View file

@ -176,12 +176,10 @@ class LicenseEntryWithLineBreaks extends LicenseEntry {
lineStart = currentPosition + 1;
currentLineIndent += 1;
state = _LicenseEntryWithLineBreaksParserState.beforeParagraph;
break;
case '\t':
lineStart = currentPosition + 1;
currentLineIndent += 8;
state = _LicenseEntryWithLineBreaksParserState.beforeParagraph;
break;
case '\r':
case '\n':
case '\f':
@ -197,7 +195,6 @@ class LicenseEntryWithLineBreaks extends LicenseEntry {
currentParagraphIndentation = null;
lineStart = currentPosition + 1;
state = _LicenseEntryWithLineBreaksParserState.beforeParagraph;
break;
case '[':
// This is a bit of a hack for the LGPL 2.1, which does something like this:
//
@ -224,7 +221,6 @@ class LicenseEntryWithLineBreaks extends LicenseEntry {
}
state = _LicenseEntryWithLineBreaksParserState.inParagraph;
}
break;
case _LicenseEntryWithLineBreaksParserState.inParagraph:
switch (text[currentPosition]) {
case '\n':
@ -233,7 +229,6 @@ class LicenseEntryWithLineBreaks extends LicenseEntry {
currentLineIndent = 0;
lineStart = currentPosition + 1;
state = _LicenseEntryWithLineBreaksParserState.beforeParagraph;
break;
case '\f':
addLine();
result.add(getParagraph());
@ -242,11 +237,9 @@ class LicenseEntryWithLineBreaks extends LicenseEntry {
currentParagraphIndentation = null;
lineStart = currentPosition + 1;
state = _LicenseEntryWithLineBreaksParserState.beforeParagraph;
break;
default:
state = _LicenseEntryWithLineBreaksParserState.inParagraph;
}
break;
}
currentPosition += 1;
}
@ -255,11 +248,9 @@ class LicenseEntryWithLineBreaks extends LicenseEntry {
if (lines.isNotEmpty) {
result.add(getParagraph());
}
break;
case _LicenseEntryWithLineBreaksParserState.inParagraph:
addLine();
result.add(getParagraph());
break;
}
return result;
}

View file

@ -136,13 +136,11 @@ Iterable<String> debugWordWrap(String message, int width, { String wrapIndent =
}
lastWordStart = index;
mode = _WordWrapParseMode.inWord;
break;
case _WordWrapParseMode.inWord: // looking for a good break point
while ((index < message.length) && (message[index] != ' ')) {
index += 1;
}
mode = _WordWrapParseMode.atBreak;
break;
case _WordWrapParseMode.atBreak: // at start of break point
if ((index - startForLengthCalculations > width) || (index == message.length)) {
// we are over the width line, so break
@ -184,7 +182,6 @@ Iterable<String> debugWordWrap(String message, int width, { String wrapIndent =
// skip to the end of this break point
mode = _WordWrapParseMode.inSpace;
}
break;
}
}
}

View file

@ -580,7 +580,6 @@ class LongPressGestureRecognizer extends PrimaryPointerGestureRecognizer {
onLongPressUp == null) {
return false;
}
break;
case kSecondaryButton:
if (onSecondaryLongPressDown == null &&
onSecondaryLongPressCancel == null &&
@ -591,7 +590,6 @@ class LongPressGestureRecognizer extends PrimaryPointerGestureRecognizer {
onSecondaryLongPressUp == null) {
return false;
}
break;
case kTertiaryButton:
if (onTertiaryLongPressDown == null &&
onTertiaryLongPressCancel == null &&
@ -602,7 +600,6 @@ class LongPressGestureRecognizer extends PrimaryPointerGestureRecognizer {
onTertiaryLongPressUp == null) {
return false;
}
break;
default:
return false;
}
@ -669,17 +666,14 @@ class LongPressGestureRecognizer extends PrimaryPointerGestureRecognizer {
if (onLongPressDown != null) {
invokeCallback<void>('onLongPressDown', () => onLongPressDown!(details));
}
break;
case kSecondaryButton:
if (onSecondaryLongPressDown != null) {
invokeCallback<void>('onSecondaryLongPressDown', () => onSecondaryLongPressDown!(details));
}
break;
case kTertiaryButton:
if (onTertiaryLongPressDown != null) {
invokeCallback<void>('onTertiaryLongPressDown', () => onTertiaryLongPressDown!(details));
}
break;
default:
assert(false, 'Unhandled button $_initialButtons');
}
@ -692,17 +686,14 @@ class LongPressGestureRecognizer extends PrimaryPointerGestureRecognizer {
if (onLongPressCancel != null) {
invokeCallback<void>('onLongPressCancel', onLongPressCancel!);
}
break;
case kSecondaryButton:
if (onSecondaryLongPressCancel != null) {
invokeCallback<void>('onSecondaryLongPressCancel', onSecondaryLongPressCancel!);
}
break;
case kTertiaryButton:
if (onTertiaryLongPressCancel != null) {
invokeCallback<void>('onTertiaryLongPressCancel', onTertiaryLongPressCancel!);
}
break;
default:
assert(false, 'Unhandled button $_initialButtons');
}
@ -722,7 +713,6 @@ class LongPressGestureRecognizer extends PrimaryPointerGestureRecognizer {
if (onLongPress != null) {
invokeCallback<void>('onLongPress', onLongPress!);
}
break;
case kSecondaryButton:
if (onSecondaryLongPressStart != null) {
final LongPressStartDetails details = LongPressStartDetails(
@ -734,7 +724,6 @@ class LongPressGestureRecognizer extends PrimaryPointerGestureRecognizer {
if (onSecondaryLongPress != null) {
invokeCallback<void>('onSecondaryLongPress', onSecondaryLongPress!);
}
break;
case kTertiaryButton:
if (onTertiaryLongPressStart != null) {
final LongPressStartDetails details = LongPressStartDetails(
@ -746,7 +735,6 @@ class LongPressGestureRecognizer extends PrimaryPointerGestureRecognizer {
if (onTertiaryLongPress != null) {
invokeCallback<void>('onTertiaryLongPress', onTertiaryLongPress!);
}
break;
default:
assert(false, 'Unhandled button $_initialButtons');
}
@ -764,17 +752,14 @@ class LongPressGestureRecognizer extends PrimaryPointerGestureRecognizer {
if (onLongPressMoveUpdate != null) {
invokeCallback<void>('onLongPressMoveUpdate', () => onLongPressMoveUpdate!(details));
}
break;
case kSecondaryButton:
if (onSecondaryLongPressMoveUpdate != null) {
invokeCallback<void>('onSecondaryLongPressMoveUpdate', () => onSecondaryLongPressMoveUpdate!(details));
}
break;
case kTertiaryButton:
if (onTertiaryLongPressMoveUpdate != null) {
invokeCallback<void>('onTertiaryLongPressMoveUpdate', () => onTertiaryLongPressMoveUpdate!(details));
}
break;
default:
assert(false, 'Unhandled button $_initialButtons');
}
@ -800,7 +785,6 @@ class LongPressGestureRecognizer extends PrimaryPointerGestureRecognizer {
if (onLongPressUp != null) {
invokeCallback<void>('onLongPressUp', onLongPressUp!);
}
break;
case kSecondaryButton:
if (onSecondaryLongPressEnd != null) {
invokeCallback<void>('onSecondaryLongPressEnd', () => onSecondaryLongPressEnd!(details));
@ -808,7 +792,6 @@ class LongPressGestureRecognizer extends PrimaryPointerGestureRecognizer {
if (onSecondaryLongPressUp != null) {
invokeCallback<void>('onSecondaryLongPressUp', onSecondaryLongPressUp!);
}
break;
case kTertiaryButton:
if (onTertiaryLongPressEnd != null) {
invokeCallback<void>('onTertiaryLongPressEnd', () => onTertiaryLongPressEnd!(details));
@ -816,7 +799,6 @@ class LongPressGestureRecognizer extends PrimaryPointerGestureRecognizer {
if (onTertiaryLongPressUp != null) {
invokeCallback<void>('onTertiaryLongPressUp', onTertiaryLongPressUp!);
}
break;
default:
assert(false, 'Unhandled button $_initialButtons');
}

View file

@ -411,10 +411,8 @@ abstract class DragGestureRecognizer extends OneSequenceGestureRecognizer {
case DragStartBehavior.start:
_initialPosition = _initialPosition + delta;
localUpdateDelta = Offset.zero;
break;
case DragStartBehavior.down:
localUpdateDelta = _getDeltaForDetails(delta.local);
break;
}
_pendingDragOffset = OffsetPair.zero;
_lastPendingEventTimestamp = null;
@ -460,11 +458,9 @@ abstract class DragGestureRecognizer extends OneSequenceGestureRecognizer {
case _DragState.possible:
resolve(GestureDisposition.rejected);
_checkCancel();
break;
case _DragState.accepted:
_checkEnd(pointer);
break;
}
_velocityTrackers.clear();
_initialButtons = null;

View file

@ -762,15 +762,12 @@ class ScaleGestureRecognizer extends OneSequenceGestureRecognizer {
switch (_state) {
case _ScaleState.possible:
resolve(GestureDisposition.rejected);
break;
case _ScaleState.ready:
assert(false); // We should have not seen a pointer yet
break;
case _ScaleState.accepted:
break;
case _ScaleState.started:
assert(false); // We should be in the accepted state when user is done
break;
}
_state = _ScaleState.ready;
}

View file

@ -593,7 +593,6 @@ class TapGestureRecognizer extends BaseTapGestureRecognizer {
onTapCancel == null) {
return false;
}
break;
case kSecondaryButton:
if (onSecondaryTap == null &&
onSecondaryTapDown == null &&
@ -601,14 +600,12 @@ class TapGestureRecognizer extends BaseTapGestureRecognizer {
onSecondaryTapCancel == null) {
return false;
}
break;
case kTertiaryButton:
if (onTertiaryTapDown == null &&
onTertiaryTapUp == null &&
onTertiaryTapCancel == null) {
return false;
}
break;
default:
return false;
}
@ -628,17 +625,14 @@ class TapGestureRecognizer extends BaseTapGestureRecognizer {
if (onTapDown != null) {
invokeCallback<void>('onTapDown', () => onTapDown!(details));
}
break;
case kSecondaryButton:
if (onSecondaryTapDown != null) {
invokeCallback<void>('onSecondaryTapDown', () => onSecondaryTapDown!(details));
}
break;
case kTertiaryButton:
if (onTertiaryTapDown != null) {
invokeCallback<void>('onTertiaryTapDown', () => onTertiaryTapDown!(details));
}
break;
default:
}
}
@ -659,7 +653,6 @@ class TapGestureRecognizer extends BaseTapGestureRecognizer {
if (onTap != null) {
invokeCallback<void>('onTap', onTap!);
}
break;
case kSecondaryButton:
if (onSecondaryTapUp != null) {
invokeCallback<void>('onSecondaryTapUp', () => onSecondaryTapUp!(details));
@ -667,12 +660,10 @@ class TapGestureRecognizer extends BaseTapGestureRecognizer {
if (onSecondaryTap != null) {
invokeCallback<void>('onSecondaryTap', () => onSecondaryTap!());
}
break;
case kTertiaryButton:
if (onTertiaryTapUp != null) {
invokeCallback<void>('onTertiaryTapUp', () => onTertiaryTapUp!(details));
}
break;
default:
}
}
@ -686,17 +677,14 @@ class TapGestureRecognizer extends BaseTapGestureRecognizer {
if (onTapCancel != null) {
invokeCallback<void>('${note}onTapCancel', onTapCancel!);
}
break;
case kSecondaryButton:
if (onSecondaryTapCancel != null) {
invokeCallback<void>('${note}onSecondaryTapCancel', onSecondaryTapCancel!);
}
break;
case kTertiaryButton:
if (onTertiaryTapCancel != null) {
invokeCallback<void>('${note}onTertiaryTapCancel', onTertiaryTapCancel!);
}
break;
default:
}
}

View file

@ -105,14 +105,12 @@ class _ActionIcon extends StatelessWidget {
switch (defaultTargetPlatform) {
case TargetPlatform.android:
semanticsLabel = getAndroidSemanticsLabel(MaterialLocalizations.of(context));
break;
case TargetPlatform.fuchsia:
case TargetPlatform.linux:
case TargetPlatform.windows:
case TargetPlatform.iOS:
case TargetPlatform.macOS:
semanticsLabel = null;
break;
}
return Icon(data, semanticLabel: semanticsLabel);

View file

@ -766,10 +766,8 @@ class _AppBarState extends State<AppBar> {
case AxisDirection.up:
// Scroll view is reversed
_scrolledUnder = metrics.extentAfter > 0;
break;
case AxisDirection.down:
_scrolledUnder = metrics.extentBefore > 0;
break;
case AxisDirection.right:
case AxisDirection.left:
// Scrolled under is only supported in the vertical axis, and should
@ -955,7 +953,6 @@ class _AppBarState extends State<AppBar> {
case TargetPlatform.linux:
case TargetPlatform.windows:
namesRoute = true;
break;
case TargetPlatform.iOS:
case TargetPlatform.macOS:
break;
@ -2121,10 +2118,8 @@ class _ScrollUnderFlexibleSpace extends StatelessWidget {
switch (variant) {
case _ScrollUnderFlexibleVariant.medium:
config = _MediumScrollUnderFlexibleConfig(context);
break;
case _ScrollUnderFlexibleVariant.large:
config = _LargeScrollUnderFlexibleConfig(context);
break;
}
late final Widget? collapsedTitle;

View file

@ -516,10 +516,8 @@ class _BottomNavigationTile extends StatelessWidget {
switch (type) {
case BottomNavigationBarType.fixed:
size = 1;
break;
case BottomNavigationBarType.shifting:
size = (flex! * 1000.0).round();
break;
}
Widget result = InkResponse(
@ -862,7 +860,6 @@ class _BottomNavigationBarState extends State<BottomNavigationBar> with TickerPr
_backgroundColor = circle.color;
circle.dispose();
});
break;
case AnimationStatus.dismissed:
case AnimationStatus.forward:
case AnimationStatus.reverse:
@ -890,7 +887,6 @@ class _BottomNavigationBarState extends State<BottomNavigationBar> with TickerPr
break;
case BottomNavigationBarType.shifting:
_pushCircle(widget.currentIndex);
break;
}
_controllers[oldWidget.currentIndex].reverse();
_controllers[widget.currentIndex].forward();
@ -928,10 +924,8 @@ class _BottomNavigationBarState extends State<BottomNavigationBar> with TickerPr
switch (themeData.brightness) {
case Brightness.light:
themeColor = themeData.colorScheme.primary;
break;
case Brightness.dark:
themeColor = themeData.colorScheme.secondary;
break;
}
final TextStyle effectiveSelectedLabelStyle =
@ -979,7 +973,6 @@ class _BottomNavigationBarState extends State<BottomNavigationBar> with TickerPr
?? widget.fixedColor
?? themeColor,
);
break;
case BottomNavigationBarType.shifting:
colorTween = ColorTween(
begin: widget.unselectedItemColor
@ -989,7 +982,6 @@ class _BottomNavigationBarState extends State<BottomNavigationBar> with TickerPr
?? bottomTheme.selectedItemColor
?? themeData.colorScheme.surface,
);
break;
}
final ColorTween labelColorTween;
@ -1006,7 +998,6 @@ class _BottomNavigationBarState extends State<BottomNavigationBar> with TickerPr
?? widget.fixedColor
?? themeColor,
);
break;
case BottomNavigationBarType.shifting:
labelColorTween = ColorTween(
begin: effectiveUnselectedLabelStyle.color
@ -1018,7 +1009,6 @@ class _BottomNavigationBarState extends State<BottomNavigationBar> with TickerPr
?? bottomTheme.selectedItemColor
?? themeColor,
);
break;
}
final ColorTween iconColorTween;
@ -1035,7 +1025,6 @@ class _BottomNavigationBarState extends State<BottomNavigationBar> with TickerPr
?? widget.fixedColor
?? themeColor,
);
break;
case BottomNavigationBarType.shifting:
iconColorTween = ColorTween(
begin: effectiveUnselectedIconTheme.color
@ -1047,7 +1036,6 @@ class _BottomNavigationBarState extends State<BottomNavigationBar> with TickerPr
?? bottomTheme.selectedItemColor
?? themeColor,
);
break;
}
final List<Widget> tiles = <Widget>[];
@ -1104,10 +1092,8 @@ class _BottomNavigationBarState extends State<BottomNavigationBar> with TickerPr
switch (_effectiveType) {
case BottomNavigationBarType.fixed:
backgroundColor = widget.backgroundColor ?? bottomTheme.backgroundColor;
break;
case BottomNavigationBarType.shifting:
backgroundColor = _backgroundColor;
break;
}
return Semantics(
@ -1277,10 +1263,8 @@ class _RadialPainter extends CustomPainter {
switch (textDirection) {
case TextDirection.rtl:
leftFraction = 1.0 - circle.horizontalLeadingOffset;
break;
case TextDirection.ltr:
leftFraction = circle.horizontalLeadingOffset;
break;
}
final Offset center = Offset(leftFraction * size.width, size.height / 2.0);
final Tween<double> radiusTween = Tween<double>(

View file

@ -415,10 +415,8 @@ class _RawMaterialButtonState extends State<RawMaterialButton> with MaterialStat
);
assert(minSize.width >= 0.0);
assert(minSize.height >= 0.0);
break;
case MaterialTapTargetSize.shrinkWrap:
minSize = Size.zero;
break;
}
return Semantics(

View file

@ -357,10 +357,8 @@ class _RenderButtonBarRow extends RenderFlex {
switch (verticalDirection) {
case VerticalDirection.down:
child = firstChild;
break;
case VerticalDirection.up:
child = lastChild;
break;
}
while (child != null) {
@ -380,44 +378,34 @@ class _RenderButtonBarRow extends RenderFlex {
case MainAxisAlignment.center:
final double midpoint = (constraints.maxWidth - child.size.width) / 2.0;
childParentData.offset = Offset(midpoint, currentHeight);
break;
case MainAxisAlignment.end:
childParentData.offset = Offset(constraints.maxWidth - child.size.width, currentHeight);
break;
case MainAxisAlignment.spaceAround:
case MainAxisAlignment.spaceBetween:
case MainAxisAlignment.spaceEvenly:
case MainAxisAlignment.start:
childParentData.offset = Offset(0, currentHeight);
break;
}
break;
case TextDirection.rtl:
switch (mainAxisAlignment) {
case MainAxisAlignment.center:
final double midpoint = constraints.maxWidth / 2.0 - child.size.width / 2.0;
childParentData.offset = Offset(midpoint, currentHeight);
break;
case MainAxisAlignment.end:
childParentData.offset = Offset(0, currentHeight);
break;
case MainAxisAlignment.spaceAround:
case MainAxisAlignment.spaceBetween:
case MainAxisAlignment.spaceEvenly:
case MainAxisAlignment.start:
childParentData.offset = Offset(constraints.maxWidth - child.size.width, currentHeight);
break;
}
break;
}
currentHeight += child.size.height;
switch (verticalDirection) {
case VerticalDirection.down:
child = childParentData.nextSibling;
break;
case VerticalDirection.up:
child = childParentData.previousSibling;
break;
}
if (overflowButtonSpacing != null && child != null) {

View file

@ -419,10 +419,8 @@ class _ButtonStyleState extends State<ButtonStyleButton> with TickerProviderStat
);
assert(minSize.width >= 0.0);
assert(minSize.height >= 0.0);
break;
case MaterialTapTargetSize.shrinkWrap:
minSize = Size.zero;
break;
}
return Semantics(

View file

@ -201,7 +201,6 @@ class _CalendarDatePickerState extends State<CalendarDatePicker> {
case TargetPlatform.linux:
case TargetPlatform.windows:
HapticFeedback.vibrate();
break;
case TargetPlatform.iOS:
case TargetPlatform.macOS:
break;

View file

@ -425,10 +425,8 @@ class _CheckboxState extends State<Checkbox> with TickerProviderStateMixin, Togg
switch (effectiveMaterialTapTargetSize) {
case MaterialTapTargetSize.padded:
size = const Size(kMinInteractiveDimension, kMinInteractiveDimension);
break;
case MaterialTapTargetSize.shrinkWrap:
size = const Size(kMinInteractiveDimension - 8.0, kMinInteractiveDimension - 8.0);
break;
}
size += effectiveVisualDensity.baseSizeAdjustment;

View file

@ -411,13 +411,10 @@ class CheckboxListTile extends StatelessWidget {
switch (value) {
case false:
onChanged!(true);
break;
case true:
onChanged!(tristate ? null : false);
break;
case null:
onChanged!(false);
break;
}
}
@ -445,12 +442,10 @@ class CheckboxListTile extends StatelessWidget {
case ListTileControlAffinity.leading:
leading = control;
trailing = secondary;
break;
case ListTileControlAffinity.trailing:
case ListTileControlAffinity.platform:
leading = secondary;
trailing = control;
break;
}
final ThemeData theme = Theme.of(context);
final CheckboxThemeData checkboxTheme = CheckboxTheme.of(context);

View file

@ -1295,10 +1295,8 @@ class _RawChipState extends State<RawChip> with MaterialStateMixin, TickerProvid
minWidth: kMinInteractiveDimension + densityAdjustment.dx,
minHeight: kMinInteractiveDimension + densityAdjustment.dy,
);
break;
case MaterialTapTargetSize.shrinkWrap:
constraints = const BoxConstraints();
break;
}
result = _ChipRedirectingHitDetectionWidget(
constraints: constraints,
@ -1842,7 +1840,6 @@ class _RenderChip extends RenderBox with SlottedContainerRenderObjectMixin<_Chip
} else {
_pressRect = Rect.zero;
}
break;
case TextDirection.ltr:
double start = left;
if (theme.showCheckmark || theme.showAvatar) {
@ -1875,7 +1872,6 @@ class _RenderChip extends RenderBox with SlottedContainerRenderObjectMixin<_Chip
} else {
_deleteButtonRect = Rect.zero;
}
break;
}
// Center the label vertically.
labelOffset = labelOffset +
@ -1919,13 +1915,11 @@ class _RenderChip extends RenderBox with SlottedContainerRenderObjectMixin<_Chip
begin: Colors.white.withAlpha(_kDisabledAlpha),
end: Colors.white,
);
break;
case Brightness.dark:
enableTween = ColorTween(
begin: Colors.black.withAlpha(_kDisabledAlpha),
end: Colors.black,
);
break;
}
return enableTween.evaluate(enableAnimation)!;
}
@ -1938,10 +1932,8 @@ class _RenderChip extends RenderBox with SlottedContainerRenderObjectMixin<_Chip
switch (theme.brightness) {
case Brightness.light:
paintColor = theme.showAvatar ? Colors.white : Colors.black.withAlpha(_kCheckmarkAlpha);
break;
case Brightness.dark:
paintColor = theme.showAvatar ? Colors.black : Colors.white.withAlpha(_kCheckmarkAlpha);
break;
}
}

View file

@ -207,19 +207,15 @@ class CircleAvatar extends StatelessWidget {
switch (ThemeData.estimateBrightnessForColor(textStyle.color!)) {
case Brightness.dark:
effectiveBackgroundColor = theme.primaryColorLight;
break;
case Brightness.light:
effectiveBackgroundColor = theme.primaryColorDark;
break;
}
} else if (effectiveForegroundColor == null) {
switch (ThemeData.estimateBrightnessForColor(backgroundColor!)) {
case Brightness.dark:
textStyle = textStyle.copyWith(color: theme.primaryColorLight);
break;
case Brightness.light:
textStyle = textStyle.copyWith(color: theme.primaryColorDark);
break;
}
}
final double minDiameter = _minDiameter;

View file

@ -205,10 +205,8 @@ class ColorScheme with Diagnosticable {
switch (brightness) {
case Brightness.light:
scheme = Scheme.light(seedColor.value);
break;
case Brightness.dark:
scheme = Scheme.dark(seedColor.value);
break;
}
return ColorScheme(
primary: primary ?? Color(scheme.primary),
@ -1067,10 +1065,8 @@ class ColorScheme with Diagnosticable {
switch (brightness) {
case Brightness.light:
scheme = Scheme.light(baseColor.value);
break;
case Brightness.dark:
scheme = Scheme.dark(baseColor.value);
break;
}
return ColorScheme(primary: primary ?? Color(scheme.primary),

View file

@ -421,16 +421,13 @@ class _DatePickerDialogState extends State<DatePickerDialog> with RestorationMix
_autovalidateMode.value = AutovalidateMode.disabled;
_entryMode.value = DatePickerEntryMode.input;
_handleOnDatePickerModeChange();
break;
case DatePickerEntryMode.input:
_formKey.currentState!.save();
_entryMode.value = DatePickerEntryMode.calendar;
_handleOnDatePickerModeChange();
break;
case DatePickerEntryMode.calendarOnly:
case DatePickerEntryMode.inputOnly:
assert(false, 'Can not change entry mode from _entryMode');
break;
}
});
}
@ -577,12 +574,10 @@ class _DatePickerDialogState extends State<DatePickerDialog> with RestorationMix
tooltip: localizations.inputDateModeButtonLabel,
onPressed: _handleEntryModeToggle,
);
break;
case DatePickerEntryMode.calendarOnly:
picker = calendarDatePicker();
entryModeButton = null;
break;
case DatePickerEntryMode.input:
picker = inputDatePicker();
@ -592,12 +587,10 @@ class _DatePickerDialogState extends State<DatePickerDialog> with RestorationMix
tooltip: localizations.calendarModeButtonLabel,
onPressed: _handleEntryModeToggle,
);
break;
case DatePickerEntryMode.inputOnly:
picker = inputDatePicker();
entryModeButton = null;
break;
}
final Widget header = _DatePickerHeader(
@ -1303,7 +1296,6 @@ class _DateRangePickerDialogState extends State<DateRangePickerDialog> with Rest
case DatePickerEntryMode.calendar:
_autoValidate.value = false;
_entryMode.value = DatePickerEntryMode.input;
break;
case DatePickerEntryMode.input:
// Validate the range dates
@ -1322,12 +1314,10 @@ class _DateRangePickerDialogState extends State<DateRangePickerDialog> with Rest
_selectedEnd.value = null;
}
_entryMode.value = DatePickerEntryMode.calendar;
break;
case DatePickerEntryMode.calendarOnly:
case DatePickerEntryMode.inputOnly:
assert(false, 'Can not change entry mode from $_entryMode');
break;
}
});
}
@ -1401,7 +1391,6 @@ class _DateRangePickerDialogState extends State<DateRangePickerDialog> with Rest
shadowColor = datePickerTheme.rangePickerShadowColor ?? defaults.rangePickerShadowColor!;
surfaceTintColor = datePickerTheme.rangePickerSurfaceTintColor ?? defaults.rangePickerSurfaceTintColor!;
shape = datePickerTheme.rangePickerShape ?? defaults.rangePickerShape;
break;
case DatePickerEntryMode.input:
case DatePickerEntryMode.inputOnly:
@ -1477,7 +1466,6 @@ class _DateRangePickerDialogState extends State<DateRangePickerDialog> with Rest
: datePickerTheme.shape ?? dialogTheme.shape ?? defaults.shape;
insetPadding = const EdgeInsets.symmetric(horizontal: 16.0, vertical: 24.0);
break;
}
return Dialog(
@ -1766,7 +1754,6 @@ class _CalendarDateRangePickerState extends State<_CalendarDateRangePicker> {
case TargetPlatform.android:
case TargetPlatform.fuchsia:
HapticFeedback.vibrate();
break;
case TargetPlatform.iOS:
case TargetPlatform.linux:
case TargetPlatform.macOS:
@ -2289,11 +2276,9 @@ class _MonthItemState extends State<_MonthItem> {
case TraversalDirection.up:
case TraversalDirection.left:
policy = ScrollPositionAlignmentPolicy.keepVisibleAtStart;
break;
case TraversalDirection.right:
case TraversalDirection.down:
policy = ScrollPositionAlignmentPolicy.keepVisibleAtEnd;
break;
}
Scrollable.ensureVisible(primaryFocus!.context!,
duration: _monthScrollDuration,
@ -2609,19 +2594,16 @@ class _HighlightPainter extends CustomPainter {
textDirection == TextDirection.ltr ? rectRight : rectLeft,
paint,
);
break;
case _HighlightPainterStyle.highlightLeading:
canvas.drawRect(
textDirection == TextDirection.ltr ? rectLeft : rectRight,
paint,
);
break;
case _HighlightPainterStyle.highlightAll:
canvas.drawRect(
Rect.fromLTWH(0, 0, size.width, size.height),
paint,
);
break;
case _HighlightPainterStyle.none:
break;
}

View file

@ -495,7 +495,6 @@ class DrawerControllerState extends State<DrawerController> with SingleTickerPro
case AnimationStatus.completed:
case AnimationStatus.dismissed:
_controller.value = widget.isDrawerOpen ? 1.0 : 0.0;
break;
case AnimationStatus.forward:
case AnimationStatus.reverse:
break;
@ -527,11 +526,9 @@ class DrawerControllerState extends State<DrawerController> with SingleTickerPro
switch (status) {
case AnimationStatus.forward:
_ensureHistoryEntry();
break;
case AnimationStatus.reverse:
_historyEntry?.remove();
_historyEntry = null;
break;
case AnimationStatus.dismissed:
break;
case AnimationStatus.completed:
@ -581,15 +578,12 @@ class DrawerControllerState extends State<DrawerController> with SingleTickerPro
break;
case DrawerAlignment.end:
delta = -delta;
break;
}
switch (Directionality.of(context)) {
case TextDirection.rtl:
_controller.value -= delta;
break;
case TextDirection.ltr:
_controller.value += delta;
break;
}
final bool opened = _controller.value > 0.5;
@ -610,17 +604,14 @@ class DrawerControllerState extends State<DrawerController> with SingleTickerPro
break;
case DrawerAlignment.end:
visualVelocity = -visualVelocity;
break;
}
switch (Directionality.of(context)) {
case TextDirection.rtl:
_controller.fling(velocity: -visualVelocity);
widget.drawerCallback?.call(visualVelocity < 0.0);
break;
case TextDirection.ltr:
_controller.fling(velocity: visualVelocity);
widget.drawerCallback?.call(visualVelocity > 0.0);
break;
}
} else if (_controller.value < 0.5) {
close();
@ -682,12 +673,10 @@ class DrawerControllerState extends State<DrawerController> with SingleTickerPro
case TargetPlatform.iOS:
case TargetPlatform.fuchsia:
isDesktop = false;
break;
case TargetPlatform.macOS:
case TargetPlatform.linux:
case TargetPlatform.windows:
isDesktop = true;
break;
}
double? dragAreaWidth = widget.edgeDragWidth;
@ -697,11 +686,9 @@ class DrawerControllerState extends State<DrawerController> with SingleTickerPro
case TextDirection.ltr:
dragAreaWidth = _kEdgeDragWidth +
(drawerIsStart ? padding.left : padding.right);
break;
case TextDirection.rtl:
dragAreaWidth = _kEdgeDragWidth +
(drawerIsStart ? padding.right : padding.left);
break;
}
}
@ -727,14 +714,12 @@ class DrawerControllerState extends State<DrawerController> with SingleTickerPro
switch (Theme.of(context).platform) {
case TargetPlatform.android:
platformHasBackButton = true;
break;
case TargetPlatform.iOS:
case TargetPlatform.macOS:
case TargetPlatform.fuchsia:
case TargetPlatform.linux:
case TargetPlatform.windows:
platformHasBackButton = false;
break;
}
final Widget child = _DrawerControllerScope(

View file

@ -120,10 +120,8 @@ class _DropdownMenuItemButtonState<T> extends State<_DropdownMenuItemButton<T>>
switch (FocusManager.instance.highlightMode) {
case FocusHighlightMode.touch:
inTraditionalMode = false;
break;
case FocusHighlightMode.traditional:
inTraditionalMode = true;
break;
}
if (focused && inTraditionalMode) {
@ -377,10 +375,8 @@ class _DropdownMenuRouteLayout<T> extends SingleChildLayoutDelegate {
switch (textDirection!) {
case TextDirection.rtl:
left = clampDouble(buttonRect.right, 0.0, size.width) - childSize.width;
break;
case TextDirection.ltr:
left = clampDouble(buttonRect.left, 0.0, size.width - childSize.width);
break;
}
return Offset(left, menuLimits.top);

View file

@ -366,12 +366,10 @@ class _DropdownMenuState<T> extends State<DropdownMenu<T>> {
defaultStyle = MenuItemButton.styleFrom(
padding: EdgeInsets.only(left: _kDefaultHorizontalPadding, right: padding),
);
break;
case TextDirection.ltr:
defaultStyle = MenuItemButton.styleFrom(
padding: EdgeInsets.only(left: padding, right: _kDefaultHorizontalPadding),
);
break;
}
for (int i = 0; i < filteredEntries.length; i++) {

View file

@ -286,7 +286,6 @@ class _FlexibleSpaceBarState extends State<FlexibleSpaceBar> {
case TargetPlatform.iOS:
case TargetPlatform.macOS:
title = widget.title;
break;
case TargetPlatform.android:
case TargetPlatform.fuchsia:
case TargetPlatform.linux:
@ -295,7 +294,6 @@ class _FlexibleSpaceBarState extends State<FlexibleSpaceBar> {
namesRoute: true,
child: widget.title,
);
break;
}
// StretchMode.fadeTitle

View file

@ -559,13 +559,10 @@ class FloatingActionButton extends StatelessWidget {
switch(_floatingActionButtonType) {
case _FloatingActionButtonType.regular:
sizeConstraints = floatingActionButtonTheme.sizeConstraints ?? defaults.sizeConstraints!;
break;
case _FloatingActionButtonType.small:
sizeConstraints = floatingActionButtonTheme.smallSizeConstraints ?? defaults.smallSizeConstraints!;
break;
case _FloatingActionButtonType.large:
sizeConstraints = floatingActionButtonTheme.largeSizeConstraints ?? defaults.largeSizeConstraints!;
break;
case _FloatingActionButtonType.extended:
sizeConstraints = floatingActionButtonTheme.extendedSizeConstraints ?? defaults.extendedSizeConstraints!;
final double iconLabelSpacing = extendedIconLabelSpacing ?? floatingActionButtonTheme.extendedIconLabelSpacing ?? 8.0;
@ -588,7 +585,6 @@ class FloatingActionButton extends StatelessWidget {
),
),
);
break;
}
Widget result = RawMaterialButton(

View file

@ -112,7 +112,6 @@ class InkHighlight extends InteractiveInkFeature {
switch (_shape) {
case BoxShape.circle:
canvas.drawCircle(rect.center, _radius ?? Material.defaultSplashRadius, paint);
break;
case BoxShape.rectangle:
if (_borderRadius != BorderRadius.zero) {
final RRect clipRRect = RRect.fromRectAndCorners(
@ -124,7 +123,6 @@ class InkHighlight extends InteractiveInkFeature {
} else {
canvas.drawRect(rect, paint);
}
break;
}
canvas.restore();
}

View file

@ -920,12 +920,10 @@ class _InkResponseState extends State<_InkResponseStateWidget>
switch (type) {
case _HighlightType.pressed:
statesController.update(MaterialState.pressed, value);
break;
case _HighlightType.hover:
if (callOnHover) {
statesController.update(MaterialState.hovered, value);
}
break;
case _HighlightType.focus:
// see handleFocusUpdate()
break;
@ -947,13 +945,10 @@ class _InkResponseState extends State<_InkResponseStateWidget>
switch (type) {
case _HighlightType.pressed:
resolvedOverlayColor = widget.highlightColor ?? theme.highlightColor;
break;
case _HighlightType.focus:
resolvedOverlayColor = widget.focusColor ?? theme.focusColor;
break;
case _HighlightType.hover:
resolvedOverlayColor = widget.hoverColor ?? theme.hoverColor;
break;
}
}
final RenderBox referenceBox = context.findRenderObject()! as RenderBox;
@ -982,12 +977,10 @@ class _InkResponseState extends State<_InkResponseStateWidget>
switch (type) {
case _HighlightType.pressed:
widget.onHighlightChanged?.call(value);
break;
case _HighlightType.hover:
if (callOnHover) {
widget.onHover?.call(value);
}
break;
case _HighlightType.focus:
break;
}
@ -1055,10 +1048,8 @@ class _InkResponseState extends State<_InkResponseStateWidget>
switch (FocusManager.instance.highlightMode) {
case FocusHighlightMode.touch:
showFocus = false;
break;
case FocusHighlightMode.traditional:
showFocus = _shouldShowFocus;
break;
}
updateHighlight(_HighlightType.focus, value: showFocus);
}

View file

@ -529,12 +529,10 @@ class OutlineInputBorder extends InputBorder {
case TextDirection.rtl:
final Path path = _gapBorderPath(canvas, center, math.max(0.0, gapStart + gapPadding - extent), extent);
canvas.drawPath(path, paint);
break;
case TextDirection.ltr:
final Path path = _gapBorderPath(canvas, center, math.max(0.0, gapStart - gapPadding), extent);
canvas.drawPath(path, paint);
break;
}
}
}

View file

@ -1364,10 +1364,8 @@ class _RenderDecoration extends RenderBox with SlottedContainerRenderObjectMixin
switch (textDirection) {
case TextDirection.rtl:
x = 0.0;
break;
case TextDirection.ltr:
x = _boxSize(icon).width;
break;
}
_boxParentData(container).offset = Offset(x, 0.0);
}
@ -1395,10 +1393,8 @@ class _RenderDecoration extends RenderBox with SlottedContainerRenderObjectMixin
switch (textDirection) {
case TextDirection.rtl:
x = overallWidth - icon!.size.width;
break;
case TextDirection.ltr:
x = 0.0;
break;
}
centerLayout(icon!, x);
}
@ -1482,7 +1478,6 @@ class _RenderDecoration extends RenderBox with SlottedContainerRenderObjectMixin
if (counter != null) {
baselineLayout(counter!, left);
}
break;
case TextDirection.ltr:
if (helperError != null) {
baselineLayout(helperError!, left + _boxSize(icon).width);
@ -1490,7 +1485,6 @@ class _RenderDecoration extends RenderBox with SlottedContainerRenderObjectMixin
if (counter != null) {
baselineLayout(counter!, right - counter!.size.width);
}
break;
}
}
@ -1511,7 +1505,6 @@ class _RenderDecoration extends RenderBox with SlottedContainerRenderObjectMixin
_boxSize(container).width / 2.0 + floatWidth / 2.0,
floatAlign);
break;
case TextDirection.ltr:
// The value of _InputBorderGap.start is relative to the origin of the
// _BorderContainer which is inset by the icon's width. Although, when
@ -1523,7 +1516,6 @@ class _RenderDecoration extends RenderBox with SlottedContainerRenderObjectMixin
decoration.borderGap.start = lerpDouble(labelX - _boxSize(icon).width + offsetToPrefixIcon,
_boxSize(container).width / 2.0 - floatWidth / 2.0,
floatAlign);
break;
}
decoration.borderGap.extent = label!.size.width * _kFinalLabelScale;
} else {
@ -1576,14 +1568,12 @@ class _RenderDecoration extends RenderBox with SlottedContainerRenderObjectMixin
if (prefixIcon != null && !decoration.alignLabelWithHint && isOutlineBorder) {
floatStartX += material3 ? _boxSize(prefixIcon).width - contentPadding.left : 0.0;
}
break;
case TextDirection.ltr: // origin on the left
startX = labelOffset.dx;
floatStartX = startX;
if (prefixIcon != null && !decoration.alignLabelWithHint && isOutlineBorder) {
floatStartX += material3 ? -_boxSize(prefixIcon).width + contentPadding.left : 0.0;
}
break;
}
final double floatEndX = lerpDouble(floatStartX, centeredFloatX, floatAlign)!;
final double dx = lerpDouble(startX, floatEndX, t)!;

View file

@ -440,10 +440,8 @@ class _MaterialState extends State<Material> with TickerProviderStateMixin {
switch (widget.type) {
case MaterialType.canvas:
color = theme.canvasColor;
break;
case MaterialType.card:
color = theme.cardColor;
break;
case MaterialType.button:
case MaterialType.circle:
case MaterialType.transparency:

View file

@ -1262,13 +1262,10 @@ class CheckboxMenuButton extends StatelessWidget {
switch (value) {
case false:
onChanged!.call(true);
break;
case true:
onChanged!.call(tristate ? null : false);
break;
case null:
onChanged!.call(false);
break;
}
},
onHover: onHover,
@ -1805,15 +1802,11 @@ class _SubmenuButtonState extends State<SubmenuButton> {
switch (Directionality.of(context)) {
case TextDirection.rtl:
menuPaddingOffset += Offset(menuPadding.right, 0);
break;
case TextDirection.ltr:
menuPaddingOffset += Offset(-menuPadding.left, 0);
break;
}
break;
case Axis.vertical:
menuPaddingOffset += Offset(0, -menuPadding.top);
break;
}
return MenuAnchor(
@ -2021,14 +2014,12 @@ class _LocalizedShortcutLabeler {
case TargetPlatform.macOS:
// Use "⌃ ⇧ A" style on macOS and iOS.
keySeparator = ' ';
break;
case TargetPlatform.android:
case TargetPlatform.fuchsia:
case TargetPlatform.linux:
case TargetPlatform.windows:
// Use "Ctrl+Shift+A" style.
keySeparator = '+';
break;
}
if (serialized.trigger != null) {
final List<String> modifiers = <String>[];
@ -2316,7 +2307,6 @@ class _MenuDirectionalFocusAction extends DirectionalFocusAction {
if (_moveToParent(anchor)) {
return;
}
break;
case Axis.vertical:
if (firstItemIsFocused) {
if (_moveToParent(anchor)) {
@ -2326,23 +2316,18 @@ class _MenuDirectionalFocusAction extends DirectionalFocusAction {
if (_moveToPrevious(anchor)) {
return;
}
break;
}
break;
case TraversalDirection.down:
switch (orientation) {
case Axis.horizontal:
if (_moveToSubmenu(anchor)) {
return;
}
break;
case Axis.vertical:
if (_moveToNext(anchor)) {
return;
}
break;
}
break;
case TraversalDirection.left:
switch (orientation) {
case Axis.horizontal:
@ -2351,14 +2336,11 @@ class _MenuDirectionalFocusAction extends DirectionalFocusAction {
if (_moveToNext(anchor)) {
return;
}
break;
case TextDirection.ltr:
if (_moveToPrevious(anchor)) {
return;
}
break;
}
break;
case Axis.vertical:
switch (Directionality.of(context)) {
case TextDirection.rtl:
@ -2371,14 +2353,12 @@ class _MenuDirectionalFocusAction extends DirectionalFocusAction {
return;
}
}
break;
case TextDirection.ltr:
switch (anchor._parent!._orientation) {
case Axis.horizontal:
if (_moveToPreviousTopLevel(anchor)) {
return;
}
break;
case Axis.vertical:
if (buttonIsFocused) {
if (_moveToPreviousTopLevel(anchor)) {
@ -2389,13 +2369,9 @@ class _MenuDirectionalFocusAction extends DirectionalFocusAction {
return;
}
}
break;
}
break;
}
break;
}
break;
case TraversalDirection.right:
switch (orientation) {
case Axis.horizontal:
@ -2404,14 +2380,11 @@ class _MenuDirectionalFocusAction extends DirectionalFocusAction {
if (_moveToPrevious(anchor)) {
return;
}
break;
case TextDirection.ltr:
if (_moveToNext(anchor)) {
return;
}
break;
}
break;
case Axis.vertical:
switch (Directionality.of(context)) {
case TextDirection.rtl:
@ -2420,14 +2393,11 @@ class _MenuDirectionalFocusAction extends DirectionalFocusAction {
if (_moveToPreviousTopLevel(anchor)) {
return;
}
break;
case Axis.vertical:
if (_moveToParent(anchor)) {
return;
}
break;
}
break;
case TextDirection.ltr:
if (buttonIsFocused) {
if (_moveToSubmenu(anchor)) {
@ -2438,11 +2408,8 @@ class _MenuDirectionalFocusAction extends DirectionalFocusAction {
return;
}
}
break;
}
break;
}
break;
}
super.invoke(intent);
}
@ -3113,10 +3080,8 @@ class _MenuLayout extends SingleChildLayoutDelegate {
switch (textDirection) {
case TextDirection.rtl:
directionalOffset = Offset(-alignmentOffset.dx, alignmentOffset.dy);
break;
case TextDirection.ltr:
directionalOffset = alignmentOffset;
break;
}
} else {
directionalOffset = alignmentOffset;
@ -3127,7 +3092,6 @@ class _MenuLayout extends SingleChildLayoutDelegate {
switch (textDirection) {
case TextDirection.rtl:
x -= childSize.width;
break;
case TextDirection.ltr:
break;
}
@ -3274,11 +3238,9 @@ class _MenuPanelState extends State<_MenuPanel> {
case Axis.horizontal:
themeStyle = MenuBarTheme.of(context).style;
defaultStyle = _MenuBarDefaultsM3(context);
break;
case Axis.vertical:
themeStyle = MenuTheme.of(context).style;
defaultStyle = _MenuDefaultsM3(context);
break;
}
final MenuStyle? widgetStyle = widget.menuStyle;
@ -3422,11 +3384,9 @@ class _Submenu extends StatelessWidget {
case Axis.horizontal:
themeStyle = MenuBarTheme.of(context).style;
defaultStyle = _MenuBarDefaultsM3(context);
break;
case Axis.vertical:
themeStyle = MenuTheme.of(context).style;
defaultStyle = _MenuDefaultsM3(context);
break;
}
T? effectiveValue<T>(T? Function(MenuStyle? style) getProperty) {
return getProperty(menuStyle) ?? getProperty(themeStyle) ?? getProperty(defaultStyle);

View file

@ -520,13 +520,10 @@ class _IndicatorInkWell extends InkResponse {
switch (labelBehavior) {
case NavigationDestinationLabelBehavior.alwaysShow:
labelPadding = labelRect.height / 2;
break;
case NavigationDestinationLabelBehavior.onlyShowSelected:
labelPadding = selected ? labelRect.height / 2 : 0;
break;
case NavigationDestinationLabelBehavior.alwaysHide:
labelPadding = 0;
break;
}
final double indicatorOffsetX = referenceBox.size.width / 2;
final double indicatorOffsetY = referenceBox.size.height / 2 - labelPadding;

Some files were not shown because too many files have changed in this diff Show more