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

packages/android_alarm_manager/*              @bkonyi
packages/android_intent/*                     @mklim @matthew-carroll
packages/battery/*                            @amirh @matthew-carroll
packages/camera/*                             @bparrishMines @mklim
packages/connectivity/*                       @cyanglaz @matthew-carroll
packages/device_info/*                        @matthew-carroll
packages/e2e/*                                @collinjackson @digiter
packages/espresso/*                           @collinjackson @adazh
packages/google_maps_flutter/*                @cyanglaz
packages/google_sign_in/*                     @cyanglaz @mehmetf
packages/image_picker/*                       @cyanglaz
packages/in_app_purchase/*                    @mklim @cyanglaz
packages/ios_platform_images/*                @gaaclarke
packages/package_info/*                       @cyanglaz @matthew-carroll
packages/path_provider/*                      @matthew-carroll
packages/shared_preferences/*                 @matthew-carroll
packages/url_launcher/*                       @mklim
packages/video_player/*                       @iskakaushik @cyanglaz
packages/webview_flutter/*                    @amirh
