Skip to content

Conversation

@TahaTesser
Copy link
Member

@TahaTesser TahaTesser commented Sep 29, 2023

fixes Chip.iconTheme does not apply the icon theme

Description

  • Fix chip widgets that don't utilize the provided iconTheme.
  • Prevent iconTheme with just color from overriding the default icon size.
  • Add some missing M3 tests for the chip and chip theme properties.

Code sample

expand to view the code sample
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      theme: ThemeData(useMaterial3: true),
      home: const Example(),
    );
  }
}

class Example extends StatefulWidget {
  const Example({super.key});

  @override
  State<Example> createState() => _ExampleState();
}

class _ExampleState extends State<Example> {
  final bool _isEnable = true;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          children: <Widget>[
            RawChip(
              iconTheme: const IconThemeData(color: Colors.amber),
              avatar: const Icon(Icons.favorite_rounded),
              label: const Text('RawChip'),
              onPressed: () {},
              isEnabled: _isEnable,
            ),
            const Chip(
              iconTheme: IconThemeData(color: Colors.amber),
              avatar: Icon(Icons.favorite_rounded),
              label: Text('Chip'),
              // onDeleted: () {},
            ),
            FilterChip(
              iconTheme: const IconThemeData(color: Colors.amber),
              avatar: const Icon(Icons.favorite_rounded),
              label: const Text('FilterChip'),
              selected: false,
              onSelected: _isEnable ? (bool value) {} : null,
            ),
            InputChip(
              iconTheme: const IconThemeData(color: Colors.amber),
              avatar: const Icon(Icons.favorite_rounded),
              label: const Text('InputChip'),
              isEnabled: _isEnable,
              onPressed: () {},
            ),
            ActionChip(
              iconTheme: const IconThemeData(color: Colors.amber),
              avatar: const Icon(Icons.favorite_rounded),
              label: const Text('ActionChip'),
              onPressed: _isEnable ? () {} : null,
            ),
            ChoiceChip(
              iconTheme: const IconThemeData(color: Colors.amber),
              avatar: const Icon(Icons.favorite_rounded),
              label: const Text('ChoiceChip'),
              selected: false,
              onSelected: _isEnable ? (bool value) {} : null,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {},
        child: const Icon(Icons.add),
      ),
    );
  }
}

Before

Screenshot 2023-09-29 at 16 59 39

After

Screenshot 2023-09-29 at 16 55 24

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
  • I signed the CLA.
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is test-exempt.
  • All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@github-actions github-actions bot added framework flutter/packages/flutter repository. See also f: labels. f: material design flutter/packages/flutter/material repository. labels Sep 29, 2023
Copy link
Contributor

@HansMuller HansMuller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@TahaTesser TahaTesser added the autosubmit Merge PR when tree becomes green via auto submit App label Sep 29, 2023
@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Sep 30, 2023
@auto-submit
Copy link
Contributor

auto-submit bot commented Sep 30, 2023

auto label is removed for flutter/flutter/135751, due to - The status or check suite Google testing has failed. Please fix the issues identified (or deflake) before re-applying this label.

@HansMuller
Copy link
Contributor

The Google testing failures seem to be due to tests that had been checking invalid golden images. For example:

Reference Image Test Image
image image

Will check with the developers.

@Piinks
Copy link
Contributor

Piinks commented Oct 11, 2023

Rebasing since the Google testing results have since been deleted

@Piinks Piinks force-pushed the fix_chips_icon_theme branch from 0080da7 to 97bc8f0 Compare October 11, 2023 19:40
@Piinks
Copy link
Contributor

Piinks commented Oct 12, 2023

Confirmed with the customer this is good to go!

@Piinks Piinks added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 12, 2023
@auto-submit auto-submit bot merged commit f65dd3b into flutter:master Oct 12, 2023
@TahaTesser TahaTesser deleted the fix_chips_icon_theme branch October 12, 2023 14:18
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 12, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 12, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 12, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 12, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 12, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 12, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 13, 2023
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Oct 13, 2023
Roll Flutter from 83134ac to 3865e49 (80 revisions)

flutter/flutter@83134ac...3865e49

2023-10-13 [email protected] Roll Flutter Engine from e94f191d0ba4 to f9aed0267352 (2 revisions) (flutter/flutter#136537)
2023-10-13 [email protected] Roll Flutter Engine from 40ddc30b9d6c to e94f191d0ba4 (1 revision) (flutter/flutter#136532)
2023-10-13 [email protected] Roll Flutter Engine from 5acdac549034 to 40ddc30b9d6c (1 revision) (flutter/flutter#136526)
2023-10-13 [email protected] Roll Flutter Engine from b59d779d4f7f to 5acdac549034 (2 revisions) (flutter/flutter#136523)
2023-10-13 [email protected] Roll Flutter Engine from dc30b4cd0239 to b59d779d4f7f (2 revisions) (flutter/flutter#136521)
2023-10-13 [email protected] Roll Flutter Engine from 31ec5e31a914 to dc30b4cd0239 (1 revision) (flutter/flutter#136518)
2023-10-13 [email protected] Roll Flutter Engine from 7a6172e9d34c to 31ec5e31a914 (1 revision) (flutter/flutter#136516)
2023-10-13 [email protected] Roll Flutter Engine from ffb3b5b67f61 to 7a6172e9d34c (1 revision) (flutter/flutter#136515)
2023-10-13 [email protected] SearchAnchor should dispose created FocusNode and SearchController. (flutter/flutter#136120)
2023-10-13 [email protected] Roll Flutter Engine from dee90f16aacd to ffb3b5b67f61 (2 revisions) (flutter/flutter#136506)
2023-10-13 [email protected] Make constraints a covariant argument in RenderBox.computeDryLayout() (flutter/flutter#136432)
2023-10-12 [email protected] [web] remove loading indicator in -d web-server builds (flutter/flutter#136482)
2023-10-12 [email protected] Roll Flutter Engine from cb37ebc81939 to dee90f16aacd (3 revisions) (flutter/flutter#136502)
2023-10-12 [email protected] Roll Flutter Engine from 7eb20a09073e to cb37ebc81939 (2 revisions) (flutter/flutter#136492)
2023-10-12 [email protected] [SingleChildScrollView] Correct the offset pixels if it is out of range during layout (flutter/flutter#136239)
2023-10-12 [email protected] Allow `TapRegion` to consume tap events (flutter/flutter#136305)
2023-10-12 [email protected] Fix doc TODO (flutter/flutter#136485)
2023-10-12 [email protected] Roll Flutter Engine from f02006736390 to 7eb20a09073e (4 revisions) (flutter/flutter#136478)
2023-10-12 [email protected] Bump file,process,process_runner (flutter/flutter#136418)
2023-10-12 [email protected] Roll Flutter Engine from 664657d32992 to f02006736390 (3 revisions) (flutter/flutter#136467)
2023-10-12 [email protected] Fix PageView API doc sample fails on Desktop and Web (flutter/flutter#135910)
2023-10-12 [email protected] Add `--trace-to-file` option to `flutter run` (flutter/flutter#135713)
2023-10-12 [email protected] [flutter_tools] handle ERROR_INVALID_FUNCTION when trying to symlink across drives (flutter/flutter#136424)
2023-10-12 [email protected] Updates references to `finders.dart` in `controller.dart` to use a namespace. (flutter/flutter#136423)
2023-10-12 [email protected] Change some tests to run on macs without iOS devices attached (flutter/flutter#136463)
2023-10-12 [email protected] Roll Packages from 4b483f2 to 93c3f69 (9 revisions) (flutter/flutter#136461)
2023-10-12 [email protected] Fix typo in function name (flutter/flutter#136273)
2023-10-12 [email protected] Fix chip widgets don't the apply provided `iconTheme` (flutter/flutter#135751)
2023-10-12 [email protected] Roll Flutter Engine from 33a6d21b3364 to 664657d32992 (2 revisions) (flutter/flutter#136450)
2023-10-12 [email protected] Roll Flutter Engine from d00fabf0b919 to 33a6d21b3364 (5 revisions) (flutter/flutter#136442)
2023-10-12 [email protected] Roll Flutter Engine from 05e26c1b2c79 to d00fabf0b919 (5 revisions) (flutter/flutter#136431)
2023-10-12 [email protected] Floating `SnackBar` should always float above the bottom widgets (flutter/flutter#136411)
2023-10-12 [email protected] SearchBar should listen to changes to the SearchController and update suggestions on change (flutter/flutter#134337)
2023-10-11 [email protected] Allow latest pkg:material_color_utilities (flutter/flutter#132445)
2023-10-11 [email protected] Roll Flutter Engine from 8bf1460892c6 to 05e26c1b2c79 (3 revisions) (flutter/flutter#136422)
2023-10-11 [email protected] Create template for umbrella issues (flutter/flutter#134235)
2023-10-11 [email protected] [Windows Arm64] Add the 'platform_channel_sample_test_windows' Devicelab test (flutter/flutter#136401)
2023-10-11 [email protected] Roll Flutter Engine from 2b1b4b97f787 to 8bf1460892c6 (4 revisions) (flutter/flutter#136414)
2023-10-11 [email protected] Stop recommending android sdk root (flutter/flutter#136296)
2023-10-11 [email protected] Roll Flutter Engine from 5fcc16772cdd to 2b1b4b97f787 (1 revision) (flutter/flutter#136404)
2023-10-11 [email protected] Switch to Chrome for Testing instead of vanilla Chromium. (flutter/flutter#136214)
2023-10-11 [email protected] Reland "Switch flutter_tools to run frontend server from AOT snapshot" (flutter/flutter#136282)
2023-10-11 [email protected] Roll Flutter Engine from 4b02631b59bf to 5fcc16772cdd (2 revisions) (flutter/flutter#136397)
2023-10-11 [email protected] Fix some deprecation details (flutter/flutter#136385)
2023-10-11 [email protected] Roll Flutter Engine from ed67e8aa9aba to 4b02631b59bf (1 revision) (flutter/flutter#136392)
2023-10-11 [email protected] [leak-tracking] Add leak tracking in test/rendering - 1 (flutter/flutter#136275)
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Chip.iconTheme does not apply the icon theme

3 participants