# Below is a list of Flutter team members who are suggested reviewers
# for contributions to packages in this repository.
#
# These names are just suggestions. It is fine to have your changes
# reviewed by someone else.

packages/animations/**                                   @hannah-hyj
packages/camera/**                                       @bparrishMines
packages/cross_file/**                                   @stuartmorgan-g
packages/cupertino_ui/**                                 @dkwingsmt
packages/extension_google_sign_in_as_googleapis_auth/**  @stuartmorgan-g
packages/file_selector/**                                @stuartmorgan-g
packages/flutter_lints/**                                @chunhtai
packages/flutter_template_images/**                      @stuartmorgan-g
packages/go_router/**                                    @chunhtai
packages/go_router_builder/**                            @chunhtai
packages/google_adsense/**                               @sokoloff06 @ditman
packages/google_identity_services_web/**                 @mdebbar
packages/google_fonts/**                                 @Piinks
packages/google_maps_flutter/**                          @stuartmorgan-g
packages/google_sign_in/**                               @stuartmorgan-g
packages/image_picker/**                                 @tarrinneal
packages/interactive_media_ads/**                        @bparrishMines
packages/in_app_purchase/**                              @bparrishMines
packages/local_auth/**                                   @stuartmorgan-g
packages/material_ui/**                                  @qunccccccc
packages/metrics_center/**                               @bkonyi
packages/multicast_dns/**                                @vashworth
packages/path_provider/**                                @stuartmorgan-g
packages/pigeon/**                                       @tarrinneal
packages/platform/**                                     @stuartmorgan-g
packages/plugin_platform_interface/**                    @stuartmorgan-g
packages/pointer_interceptor/**                          @ditman
packages/quick_actions/**                                @bparrishMines
packages/rfw/**                                          @Hixie
packages/shared_preferences/**                           @tarrinneal
packages/standard_message_codec/**                       @stuartmorgan-g
packages/two_dimensional_scrollables/**                  @Piinks
packages/url_launcher/**                                 @stuartmorgan-g
packages/vector_graphics/**                              @jtmcdole
packages/vector_graphics_codec/**                        @jtmcdole
packages/vector_graphics_compiler/**                     @jtmcdole
packages/video_player/**                                 @tarrinneal
packages/web_benchmarks/**                               @yjbanov
packages/webview_flutter/**                              @bparrishMines
packages/xdg_directories/**                              @stuartmorgan-g
third_party/packages/cupertino_icons/**                  @victorsanni
third_party/packages/cupertino_icons/test/goldens/**     @LongCatIsLooong
third_party/packages/flutter_svg/**                      @domesticmouse
third_party/packages/flutter_svg_test/**                 @domesticmouse
third_party/packages/mustache_template/**                @bkonyi @parlough
third_party/packages/path_parsing/**                     @domesticmouse

# Plugin platform implementation rules. These should stay last, since the last
# matching entry takes precedence.

# - Web
packages/camera/camera_web/**                                 @mdebbar
packages/file_selector/file_selector_web/**                   @mdebbar
packages/google_maps_flutter/google_maps_flutter_web/**       @mdebbar
packages/google_sign_in/google_sign_in_web/**                 @mdebbar
packages/image_picker/image_picker_for_web/**                 @mdebbar
packages/pointer_interceptor/pointer_interceptor_web/**       @mdebbar
packages/shared_preferences/shared_preferences_web/**         @mdebbar
packages/url_launcher/url_launcher_web/**                     @mdebbar
packages/video_player/video_player_web/**                     @mdebbar
packages/webview_flutter/webview_flutter_web/**               @mdebbar

# - Android
packages/camera/camera_android/**                             @camsim99
packages/camera/camera_android_camerax/**                     @camsim99
packages/espresso/**                                          @jesswrd
packages/file_selector/file_selector_android/**               @mboetger
packages/flutter_plugin_android_lifecycle/**                  @reidbaker
packages/google_maps_flutter/google_maps_flutter_android/**   @reidbaker
packages/google_sign_in/google_sign_in_android/**             @reidbaker
packages/image_picker/image_picker_android/**                 @gmackall
packages/in_app_purchase/in_app_purchase_android/**           @gmackall
packages/local_auth/local_auth_android/**                     @mboetger
packages/path_provider/path_provider_android/**               @camsim99
packages/quick_actions/quick_actions_android/**               @jesswrd
packages/shared_preferences/shared_preferences_android/**     @jesswrd
packages/url_launcher/url_launcher_android/**                 @gmackall
packages/video_player/video_player_android/**                 @mboetger
# Owned by ecosystem team for now during the wrapper evaluation.
packages/webview_flutter/webview_flutter_android/**           @bparrishMines

# - Darwin
packages/camera/camera_avfoundation/**                        @hellohuanlin @louisehsu
packages/file_selector/file_selector_ios/**                   @okorohelijah @vashworth
packages/file_selector/file_selector_macos/**                 @okorohelijah @vashworth
packages/google_maps_flutter/google_maps_flutter_ios/**       @vashworth @LongCatIsLooong
packages/google_maps_flutter/google_maps_flutter_ios_sdk9/**  @vashworth @LongCatIsLooong
packages/google_maps_flutter/google_maps_flutter_ios_sdk10/** @vashworth @LongCatIsLooong
packages/google_sign_in/google_sign_in_ios/**                 @LongCatIsLooong @okorohelijah
packages/image_picker/image_picker_ios/**                     @okorohelijah @vashworth
packages/image_picker/image_picker_macos/**                   @okorohelijah @vashworth
packages/in_app_purchase/in_app_purchase_storekit/**          @louisehsu @LongCatIsLooong
packages/local_auth/local_auth_darwin/**                      @louisehsu @okorohelijah
packages/path_provider/path_provider_foundation/**            @LongCatIsLooong @vashworth
packages/pointer_interceptor/pointer_interceptor_ios/**       @louisehsu @hellohuanlin
packages/quick_actions/quick_actions_ios/**                   @louisehsu @LongCatIsLooong
packages/shared_preferences/shared_preferences_foundation/**  @tarrinneal
packages/url_launcher/url_launcher_ios/**                     @vashworth @LongCatIsLooong
packages/url_launcher/url_launcher_macos/**                   @vashworth @LongCatIsLooong
packages/video_player/video_player_avfoundation/**            @hellohuanlin @louisehsu
packages/webview_flutter/webview_flutter_wkwebview/**         @LongCatIsLooong @hellohuanlin

# - Linux
packages/file_selector/file_selector_linux/**                 @robert-ancell @stuartmorgan-g
packages/image_picker/image_picker_linux/**                   @robert-ancell @stuartmorgan-g
packages/path_provider/path_provider_linux/**                 @robert-ancell @stuartmorgan-g
packages/shared_preferences/shared_preferences_linux/**       @robert-ancell @stuartmorgan-g
packages/url_launcher/url_launcher_linux/**                   @robert-ancell @stuartmorgan-g

# - Windows
packages/camera/camera_windows/**                             @stuartmorgan-g
packages/file_selector/file_selector_windows/**               @stuartmorgan-g
packages/image_picker/image_picker_windows/**                 @stuartmorgan-g
packages/local_auth/local_auth_windows/**                     @stuartmorgan-g
packages/path_provider/path_provider_windows/**               @stuartmorgan-g
packages/shared_preferences/shared_preferences_windows/**     @stuartmorgan-g
packages/url_launcher/url_launcher_windows/**                 @stuartmorgan-g

# - DevTools extensions
# @adsonpleal is the actual maintainer of shared_preferences_tool but is not yet a committer, so can't be listed as the owner.
packages/shared_preferences/shared_preferences_tool/**        @tarrinneal
