# 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
packages/battery/* @amirh
packages/camera/* @bparrishMines @mklim
packages/connectivity/* @cyanglaz
packages/google_maps_flutter/* @iskakaushik
packages/google_sign_in/* @cyanglaz @mehmetf
packages/image_picker/* @cyanglaz
packages/in_app_purchase/* @mklim @cyanglaz
packages/instrumentation_adapter/* @collinjackson @digiter
packages/package_info/* @cyanglaz
packages/path_provider/* @collinjackson
packages/quick_actions/* @collinjackson
packages/shared_preferences/* @collinjackson
packages/url_launcher/* @mklim
packages/video_player/* @iskakaushik @cyanglaz
packages/webview_flutter/* @amirh
