onComplete не будет вызываться, пока я не подключусь к inte rnet.
Это нормальное поведение. OnCompleteListener
вызывается только тогда, когда данные были записаны или отклонены серверами Firebase.
Слушатель никогда не будет запускать локальные операции записи. Если локальная операция записи не удалась, клиент выдаст обычное исключение. Клиент Firestore предназначен для продолжения работы даже в автономном режиме. Поэтому запись некоторых данных в базу данных в автономном режиме никогда не приведет к ошибке.
Как мне реализовать эту функцию (закрытие при успешном завершении).
Нет способа Вы можете добавить прослушиватель завершения, чтобы знать, когда данные записываются в кэш, и это потому, что эта операция происходит мгновенно. В этой ситуации вам не о чем беспокоиться.
В таких случаях вы можете проверить соединение inte rnet. Если вы не в сети, это означает, что все данные добавляются в локальный кеш.