<!-- Download. -->
<string name="downloadFailed">Download failed: \n%s.</string>
+ <string name="downloadManagerQueryFailed">Could not query download manager.\nIs it disabled or missing?</string>
<string name="unzippingDictionary">Unzipping dictionary: \n%s</string>
<string name="unzippingFailed">Unzipping failed: \n%s</string>
<string name="installationFinished">Installation finished: \n%s.</string>
final DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
final Cursor cursor = downloadManager.query(query);
- if (!cursor.moveToFirst()) {
+ if (cursor == null || !cursor.moveToFirst()) {
Log.e(LOG, "Couldn't find download.");
return;
}
query.setFilterByStatus(DownloadManager.STATUS_PAUSED | DownloadManager.STATUS_PENDING | DownloadManager.STATUS_RUNNING);
final Cursor cursor = downloadManager.query(query);
+ // Due to a bug, cursor is null instead of empty when
+ // the download manager is disabled.
if (cursor == null) {
new AlertDialog.Builder(DictionaryManagerActivity.this).setTitle(getString(R.string.error))
- .setMessage(getString(R.string.downloadFailed, "Couldn't query Download Manager"))
+ .setMessage(getString(R.string.downloadFailed, R.string.downloadManagerQueryFailed))
.setNeutralButton("Close", null).show();
return;
}