## Updating from upstream

### Update the freedesktop.org/ subdirectory

1) Run import_snapshot.py freedesktop.org $VERSION

```sh
# Determine the actual version you want from gitlab.freedesktop.org/wayland/wayland-protocols
cd path/to/external/wayland-protocols
./import_snapshot.py freedesktop.org 1.32
```

2) Modify the top-level Android.bp to reference any new .xml protocol files.

### Update the chromium.org/ directory

1) Run import_snapshot.py chromium.org main

```sh
cd path/to/external/wayland-protocols
./import_snapshot.py chromium.org main
```

2) Modify the top-level Android.bp to reference any new .xml protocol files.
