Upload recuperável usando a Drive API para Android

Quero fazer upload de arquivos grandes (> 10Mb) para o Google Drive usando a API da unidade. Está funcionando bem com arquivos menores (quando há boa wifi), usando o upload direto:

Drive.Files.Insert insert = driveService.files().insert(fileMetadata, mediaContent);
MediaHttpUploader uploader = insert.getMediaHttpUploader();
uploader.setChunkSize(UPLOAD_CHUNK_SIZE);
uploader.setDirectUploadEnabled(true);
insert.execute();

Agora, suponha que estamos enviando um arquivo maior. Queremos acompanhar a conexão, por isso, usamos o upload recuperável, fornecido pelo método MediaHttpUploader ...

uploader.setDirectUploadEnabled(false);
uploader.setProgressListener(new MediaHttpUploaderProgressListener() {
    @Override
    public void progressChanged(MediaHttpUploader mediaHttpUploader) throws IOException {
        switch (mediaHttpUploader.getUploadState()) {
            case INITIATION_STARTED:     break;
            case INITIATION_COMPLETE:  break;
            case MEDIA_IN_PROGRESS:   break;
            case MEDIA_COMPLETE:        break;
        }
    }
});

Está bem. Mas não há estado paraMEDIA_FAILED, estou correcto? E o que posso fazer quando o upload não alcançaMEDIA_COMPLETE?

Além disso, não encontrei nenhum método para retomar o upload. Então, mesmo que um upload de 100Mb esteja em 90% e falhe, tudo que eu posso fazer é começar tudo de novo ??

PS: este problema foi relatado antes sem sucessoVerificar o progresso de upload e download (Google Drive API para Android ou Java) O upload do Google Resumable do Android Drive falha com muita frequência

questionAnswers(0)

yourAnswerToTheQuestion