@Override public boolean hasPotentialAvailableSpace(int fileSize) { if (fileSize <= 0) { return false; } // check if enough space left if (getAvailableSpace() > fileSize) { return true; } Iterator<File> it = fileList.iterator(); File file = null; int deletedFileSize = 0; // if not enough space, then if want to clear/delete some files // then check whether it still have space or not boolean result = false; while (it.hasNext()) { file = it.next(); if (!file.isReadOnly()) { deletedFileSize += file.getSize(); } if (deletedFileSize > fileSize) { result = true; break; } } return result; }