Avoid crashing when the Content URL is not found.

I'm not sure when this can happen, but it seems it does
at least on older versions of the platform. Let's avoid
crashing.

Bug: 11618402
Change-Id: If730b5bd8f20e0f60b884eab5900099116afc5f0
main
Jean Chalard 2014-02-18 13:15:17 +09:00
parent 0d32643e69
commit 9967f0a1d0
1 changed files with 10 additions and 0 deletions

View File

@ -59,6 +59,10 @@ public class DownloadManagerWrapper {
// be opened. It may be a problem with file system corruption. In any case, there is // be opened. It may be a problem with file system corruption. In any case, there is
// not much we can do apart from avoiding crashing. // not much we can do apart from avoiding crashing.
Log.e(TAG, "Can't remove files with ID " + ids + " from download manager", e); Log.e(TAG, "Can't remove files with ID " + ids + " from download manager", e);
} catch (IllegalArgumentException e) {
// Not sure how this can happen, but it could be another case where the provider
// is disabled. Or it could be a bug in older versions of the framework.
Log.e(TAG, "Can't find the content URL for DownloadManager?", e);
} }
} }
@ -69,6 +73,8 @@ public class DownloadManagerWrapper {
} }
} catch (SQLiteException e) { } catch (SQLiteException e) {
Log.e(TAG, "Can't open downloaded file with ID " + fileId, e); Log.e(TAG, "Can't open downloaded file with ID " + fileId, e);
} catch (IllegalArgumentException e) {
Log.e(TAG, "Can't find the content URL for DownloadManager?", e);
} }
// We come here if mDownloadManager is null or if an exception was thrown. // We come here if mDownloadManager is null or if an exception was thrown.
throw new FileNotFoundException(); throw new FileNotFoundException();
@ -81,6 +87,8 @@ public class DownloadManagerWrapper {
} }
} catch (SQLiteException e) { } catch (SQLiteException e) {
Log.e(TAG, "Can't query the download manager", e); Log.e(TAG, "Can't query the download manager", e);
} catch (IllegalArgumentException e) {
Log.e(TAG, "Can't find the content URL for DownloadManager?", e);
} }
// We come here if mDownloadManager is null or if an exception was thrown. // We come here if mDownloadManager is null or if an exception was thrown.
return null; return null;
@ -93,6 +101,8 @@ public class DownloadManagerWrapper {
} }
} catch (SQLiteException e) { } catch (SQLiteException e) {
Log.e(TAG, "Can't enqueue a request with the download manager", e); Log.e(TAG, "Can't enqueue a request with the download manager", e);
} catch (IllegalArgumentException e) {
Log.e(TAG, "Can't find the content URL for DownloadManager?", e);
} }
return 0; return 0;
} }