# Use this reviewer by default.
# gnl-eng@google.com (Googlers only)

# People who can approve changes for submission
#

adamcohen@google.com
hyunyoungs@google.com
twickham@google.com
vadimt@google.com
winsonc@google.com
jonmiranda@google.com
awickham@google.com
agvard@google.com

# Launcher workspace eng team
captaincole@google.com
sunnygoyal@google.com
charlander@google.com
fbaron@google.com
fengjial@google.com
fransebas@google.com
pinyaoting@google.com
andonian@google.com
sihua@google.com

# Multitasking eng team
tracyzhou@google.com
peanutbutter@google.com
jeremysim@google.com
atsjenk@google.com
brianji@google.com

# Overview eng team
alexchau@google.com
samcackett@google.com
silvajordan@google.com
uwaisashraf@google.com

# Physical Keyboard & Trackpad eng team
patmanning@google.com
helencheuk@google.com

# Widget Picker team
shamalip@google.com
zakcohen@google.com

per-file FeatureFlags.java, globs = set noparent
per-file FeatureFlags.java = sunnygoyal@google.com, winsonc@google.com, adamcohen@google.com, hyunyoungs@google.com, captaincole@google.com

per-file DeviceConfigWrapper.java, globs = set noparent
per-file DeviceConfigWrapper.java = sunnygoyal@google.com, winsonc@google.com, adamcohen@google.com, hyunyoungs@google.com

# Predictive Back
per-file LauncherBackAnimationController.java = shanh@google.com, gallmann@google.com