diff options
author | Julian Kast <julian@livio.com> | 2020-02-14 11:39:39 -0500 |
---|---|---|
committer | Julian Kast <julian@livio.com> | 2020-02-14 11:39:39 -0500 |
commit | 9ef1f3ed4ef2a7de979e26446234e2ce21c978aa (patch) | |
tree | 925a5b6531433de25a28c40a5730eac0bdba2a1d | |
parent | 07d25c628de614cb4329b3fcd78eea92c619972a (diff) | |
download | sdl_android-9ef1f3ed4ef2a7de979e26446234e2ce21c978aa.tar.gz |
Fixed ClassCast Exception for deleteFiles
-rw-r--r-- | base/src/main/java/com/smartdevicelink/managers/file/BaseFileManager.java | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/base/src/main/java/com/smartdevicelink/managers/file/BaseFileManager.java b/base/src/main/java/com/smartdevicelink/managers/file/BaseFileManager.java index e40bb99e8..926a6b276 100644 --- a/base/src/main/java/com/smartdevicelink/managers/file/BaseFileManager.java +++ b/base/src/main/java/com/smartdevicelink/managers/file/BaseFileManager.java @@ -301,21 +301,28 @@ abstract class BaseFileManager extends BaseSubManager { @Override public void onResponse(int correlationId, RPCResponse response) { - PutFileResponse putFileResponse = (PutFileResponse) response; - if (putFileResponse.getSuccess()) { - bytesAvailable = putFileResponse.getSpaceAvailable() != null ? putFileResponse.getSpaceAvailable() : SPACE_AVAILABLE_MAX_VALUE; + if (response.getSuccess()) { + if (response instanceof PutFileResponse) { + PutFileResponse putFileResponse = (PutFileResponse) response; + bytesAvailable = putFileResponse.getSpaceAvailable() != null ? putFileResponse.getSpaceAvailable() : SPACE_AVAILABLE_MAX_VALUE; - if (requestMap.get(correlationId) != null) { - if (deletionOperation) { - remoteFiles.remove(((DeleteFile) requestMap.get(correlationId)).getSdlFileName()); - uploadedEphemeralFileNames.remove(((DeleteFile) requestMap.get(correlationId)).getSdlFileName()); - } else { + if (requestMap.get(correlationId) != null) { remoteFiles.add(((PutFile) requestMap.get(correlationId)).getSdlFileName()); uploadedEphemeralFileNames.add(((PutFile) requestMap.get(correlationId)).getSdlFileName()); } + + } else if (response instanceof DeleteFileResponse) { + DeleteFileResponse deleteFileResponse = (DeleteFileResponse) response; + bytesAvailable = deleteFileResponse.getSpaceAvailable() != null ? deleteFileResponse.getSpaceAvailable() : SPACE_AVAILABLE_MAX_VALUE; + + if (requestMap.get(correlationId) != null) { + remoteFiles.remove(((DeleteFile) requestMap.get(correlationId)).getSdlFileName()); + uploadedEphemeralFileNames.remove(((DeleteFile) requestMap.get(correlationId)).getSdlFileName()); + } } } } + }; internalInterface.sendRequests(requests, onMultipleRequestListener); } |