diff --git a/dom/bluetooth/bluedroid/BluetoothOppManager.cpp b/dom/bluetooth/bluedroid/BluetoothOppManager.cpp index 5523bfcba73..1652794e1f1 100644 --- a/dom/bluetooth/bluedroid/BluetoothOppManager.cpp +++ b/dom/bluetooth/bluedroid/BluetoothOppManager.cpp @@ -1551,11 +1551,14 @@ BluetoothOppManager::OnSocketDisconnect(BluetoothSocket* aSocket) */ if (!mSuccessFlag) { if (mIsServer) { + // Remove received file and inform gaia of receiving failure DeleteReceivedFile(); - } - - FileTransferComplete(); - if (!mIsServer) { + FileTransferComplete(); + } else { + // Inform gaia of current blob transfer failure + if (mCurrentBlobIndex >= 0) { + FileTransferComplete(); + } // Inform gaia of remaining blobs' sending failure DiscardBlobsToSend(); }