From a508d358cac57725caaefeb8e2b648f99934e6c3 Mon Sep 17 00:00:00 2001 From: Pierre-Louis <6655696+guidezpl@users.noreply.github.com> Date: Tue, 1 Dec 2020 19:03:05 +0100 Subject: [PATCH] Use adaptive more icon for popup_menu (#70773) --- .../flutter/lib/src/material/popup_menu.dart | 16 +--------------- .../flutter/test/material/popup_menu_test.dart | 5 ++++- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/packages/flutter/lib/src/material/popup_menu.dart b/packages/flutter/lib/src/material/popup_menu.dart index b9ba4aafdfc..17726816204 100644 --- a/packages/flutter/lib/src/material/popup_menu.dart +++ b/packages/flutter/lib/src/material/popup_menu.dart @@ -1102,20 +1102,6 @@ class PopupMenuButtonState extends State> { } } - Icon _getIcon(TargetPlatform platform) { - assert(platform != null); - switch (platform) { - case TargetPlatform.android: - case TargetPlatform.fuchsia: - case TargetPlatform.linux: - case TargetPlatform.windows: - return const Icon(Icons.more_vert); - case TargetPlatform.iOS: - case TargetPlatform.macOS: - return const Icon(Icons.more_horiz); - } - } - bool get _canRequestFocus { final NavigationMode mode = MediaQuery.maybeOf(context)?.navigationMode ?? NavigationMode.traditional; switch (mode) { @@ -1146,7 +1132,7 @@ class PopupMenuButtonState extends State> { ); return IconButton( - icon: widget.icon ?? _getIcon(Theme.of(context).platform), + icon: widget.icon ?? Icon(Icons.adaptive.more), padding: widget.padding, tooltip: widget.tooltip ?? MaterialLocalizations.of(context).showMenuTooltip, onPressed: widget.enabled ? showButtonMenu : null, diff --git a/packages/flutter/test/material/popup_menu_test.dart b/packages/flutter/test/material/popup_menu_test.dart index b5b3173b353..c807b6411eb 100644 --- a/packages/flutter/test/material/popup_menu_test.dart +++ b/packages/flutter/test/material/popup_menu_test.dart @@ -4,6 +4,7 @@ import 'dart:ui' show window, SemanticsFlag; +import 'package:flutter/foundation.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/rendering.dart'; @@ -368,8 +369,8 @@ void main() { testWidgets('PopupMenuButton is horizontal on iOS', (WidgetTester tester) async { Widget build(TargetPlatform platform) { + debugDefaultTargetPlatformOverride = platform; return MaterialApp( - theme: ThemeData(platform: platform), home: Scaffold( appBar: AppBar( actions: [ @@ -405,6 +406,8 @@ void main() { expect(find.byIcon(Icons.more_vert), findsNothing); expect(find.byIcon(Icons.more_horiz), findsOneWidget); + + debugDefaultTargetPlatformOverride = null; }); group('PopupMenuButton with Icon', () {