Я смотрю пример использования, предоставленный в документации AWS SDK для TransferManager , в частности для следующего кода:
TransferManager tx = new TransferManager(
credentialProviderChain.getCredentials());
Upload myUpload = tx.upload(myBucket, myFile.getName(), myFile);
// Transfers also allow you to set a <code>ProgressListener</code> to receive
// asynchronous notifications about your transfer's progress.
myUpload.addProgressListener(myProgressListener);
и мне интересно, нет ли у нас здесь случая гонки? AFAIU TransferManager
работает асинхронно, он может начать загрузку файла сразу после создания объекта Upload
, даже до того, как мы добавим прослушиватель, поэтому, если мы используем фрагмент, как предусмотрено в документах, кажется, что мы выиграли не получаю все уведомления. Я кратко посмотрел на addProgressListener
и не вижу там, чтобы прошлые события воспроизводились при подключении нового слушателя. Я ошибся? Я что-то упустил?