package com.novoda.downloadmanager.lib;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.net.Uri;
import android.text.TextUtils;
import com.novoda.downloadmanager.lib.logger.LLog;
import java.io.File;
class DownloadDeleter {
private final ContentResolver resolver;
public DownloadDeleter(ContentResolver resolver) {
this.resolver = resolver;
}
public void deleteFileAndDatabaseRow(FileDownloadInfo info) {
deleteFileAndMediaReference(info);
resolver.delete(info.getAllDownloadsUri(), null, null);
}
public void deleteFileAndMediaReference(FileDownloadInfo info) {
if (!TextUtils.isEmpty(info.getMediaProviderUri())) {
resolver.delete(Uri.parse(info.getMediaProviderUri()), null, null);
}
if (!TextUtils.isEmpty(info.getFileName())) {
deleteFileIfExists(info.getFileName());
ContentValues blankData = new ContentValues();
blankData.put(DownloadContract.Downloads.COLUMN_DATA, (String) null);
resolver.update(info.getAllDownloadsUri(), blankData, null, null);
}
}
private void deleteFileIfExists(String path) {
if (!TextUtils.isEmpty(path)) {
LLog.d("deleteFileIfExists() deleting " + path);
final File file = new File(path);
if (file.exists() && !file.delete()) {
LLog.w("file: '" + path + "' couldn't be deleted");
}
}
}
}