# Use this reviewer by default.
android-settings-core-eng+gerrit@google.com

# People who can approve changes for submission
arcwang@google.com
chaohuiw@google.com
chiujason@google.com
edgarwang@google.com
emilychuang@google.com
millchen@google.com
stanleytfwang@google.com
sunnyshao@google.com
yantingyang@google.com
ykhung@google.com

# Emergency only
hanxu@google.com

# Exempt resource files (because they are in a flat directory and too hard to manage via OWNERS)
per-file *.xml=*
