List of usage examples for android.app DownloadManager STATUS_SUCCESSFUL
int STATUS_SUCCESSFUL
To view the source code for android.app DownloadManager STATUS_SUCCESSFUL.
Click Source Link
From source file:org.mozilla.focus.broadcastreceiver.DownloadBroadcastReceiver.java
private void displaySnackbar(final Context context, long completedDownloadReference, DownloadManager downloadManager) { if (!isFocusDownload(completedDownloadReference)) { return;//from w w w . j a va2 s . c o m } final DownloadManager.Query query = new DownloadManager.Query(); query.setFilterById(completedDownloadReference); try (Cursor cursor = downloadManager.query(query)) { if (cursor.moveToFirst()) { int statusColumnIndex = cursor.getColumnIndex(DownloadManager.COLUMN_STATUS); if (DownloadManager.STATUS_SUCCESSFUL == cursor.getInt(statusColumnIndex)) { String uriString = cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI)); final String localUri = uriString.startsWith(FILE_SCHEME) ? uriString.substring(FILE_SCHEME.length()) : uriString; final String fileExtension = MimeTypeMap.getFileExtensionFromUrl(localUri); final String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(fileExtension); final String fileName = URLUtil.guessFileName(Uri.decode(localUri), null, mimeType); final File file = new File(Uri.decode(localUri)); final Uri uriForFile = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + FILE_PROVIDER_EXTENSION, file); final Intent openFileIntent = IntentUtils.createOpenFileIntent(uriForFile, mimeType); showSnackbarForFilename(openFileIntent, context, fileName); } } } removeFromHashSet(completedDownloadReference); }
From source file:Main.java
public static void CheckDwnloadStatus(DownloadManager downloadManager, Activity activity, long id) { // TODO Auto-generated method stub DownloadManager.Query query = new DownloadManager.Query(); query.setFilterById(id);//from w ww . ja v a 2 s . c o m Cursor cursor = downloadManager.query(query); if (cursor.moveToFirst()) { int columnIndex = cursor.getColumnIndex(DownloadManager.COLUMN_STATUS); int status = cursor.getInt(columnIndex); int columnReason = cursor.getColumnIndex(DownloadManager.COLUMN_REASON); int reason = cursor.getInt(columnReason); switch (status) { case DownloadManager.STATUS_FAILED: String failedReason = ""; switch (reason) { case DownloadManager.ERROR_CANNOT_RESUME: failedReason = "ERROR_CANNOT_RESUME"; break; case DownloadManager.ERROR_DEVICE_NOT_FOUND: failedReason = "ERROR_DEVICE_NOT_FOUND"; break; case DownloadManager.ERROR_FILE_ALREADY_EXISTS: failedReason = "ERROR_FILE_ALREADY_EXISTS"; break; case DownloadManager.ERROR_FILE_ERROR: failedReason = "ERROR_FILE_ERROR"; break; case DownloadManager.ERROR_HTTP_DATA_ERROR: failedReason = "ERROR_HTTP_DATA_ERROR"; break; case DownloadManager.ERROR_INSUFFICIENT_SPACE: failedReason = "ERROR_INSUFFICIENT_SPACE"; break; case DownloadManager.ERROR_TOO_MANY_REDIRECTS: failedReason = "ERROR_TOO_MANY_REDIRECTS"; break; case DownloadManager.ERROR_UNHANDLED_HTTP_CODE: failedReason = "ERROR_UNHANDLED_HTTP_CODE"; break; case DownloadManager.ERROR_UNKNOWN: failedReason = "ERROR_UNKNOWN"; break; default: failedReason = "unknown reason"; break; } Toast.makeText(activity, "FAILED: " + failedReason, Toast.LENGTH_LONG).show(); break; case DownloadManager.STATUS_PAUSED: String pausedReason = ""; switch (reason) { case DownloadManager.PAUSED_QUEUED_FOR_WIFI: pausedReason = "PAUSED_QUEUED_FOR_WIFI"; break; case DownloadManager.PAUSED_UNKNOWN: pausedReason = "PAUSED_UNKNOWN"; break; case DownloadManager.PAUSED_WAITING_FOR_NETWORK: pausedReason = "PAUSED_WAITING_FOR_NETWORK"; break; case DownloadManager.PAUSED_WAITING_TO_RETRY: pausedReason = "PAUSED_WAITING_TO_RETRY"; break; } Toast.makeText(activity, "PAUSED: " + pausedReason, Toast.LENGTH_LONG).show(); break; case DownloadManager.STATUS_PENDING: Toast.makeText(activity, "PENDING", Toast.LENGTH_LONG).show(); break; case DownloadManager.STATUS_RUNNING: Toast.makeText(activity, "RUNNING", Toast.LENGTH_LONG).show(); break; case DownloadManager.STATUS_SUCCESSFUL: Toast.makeText(activity, "SUCCESSFUL", Toast.LENGTH_LONG).show(); break; } } }
From source file:com.otaupdater.DownloadReceiver.java
@Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action == null) return;/* w w w .j av a 2 s .c o m*/ if (action.equals(DL_ROM_ACTION)) { RomInfo.FACTORY.clearUpdateNotif(context); RomInfo.FACTORY.fromIntent(intent).startDownload(context); } else if (action.equals(DL_KERNEL_ACTION)) { KernelInfo.FACTORY.clearUpdateNotif(context); KernelInfo.FACTORY.fromIntent(intent).startDownload(context); } else if (action.equals(CLEAR_DL_ACTION)) { if (intent.hasExtra(DownloadManager.EXTRA_DOWNLOAD_ID)) { DownloadManager dm = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE); dm.remove(intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1)); DownloadBarFragment.notifyActiveFragment(); } } else if (action.equals(DownloadManager.ACTION_DOWNLOAD_COMPLETE)) { DownloadStatus status = DownloadStatus.forDownloadID(context, intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1)); if (status == null) return; BaseInfo info = status.getInfo(); if (info == null) return; int error = status.getStatus() == DownloadManager.STATUS_SUCCESSFUL ? info.checkDownloadedFile() : status.getReason(); NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); if (error == 0) { Intent mainIntent = new Intent(context, OTAUpdaterActivity.class); mainIntent.setAction(info.getNotifAction()); mainIntent.putExtra(OTAUpdaterActivity.EXTRA_FLAG_DOWNLOAD_DIALOG, true); PendingIntent mainPIntent = PendingIntent.getActivity(context, 0, mainIntent, PendingIntent.FLAG_CANCEL_CURRENT); Intent flashIntent = new Intent(context, DownloadsActivity.class); flashIntent.setAction(info.getFlashAction()); info.addToIntent(flashIntent); PendingIntent flashPIntent = PendingIntent.getActivity(context, 0, flashIntent, PendingIntent.FLAG_CANCEL_CURRENT); Notification notif = new NotificationCompat.Builder(context) .setTicker(context.getString(info.getDownloadDoneTitle())) .setContentTitle(context.getString(info.getDownloadDoneTitle())) .setSmallIcon(R.drawable.ic_stat_av_download) .setContentText(context.getString(R.string.notif_completed)).setContentIntent(mainPIntent) .addAction(R.drawable.ic_action_system_update, context.getString(R.string.install), flashPIntent) .build(); nm.notify(info.getFlashNotifID(), notif); } else { Intent mainIntent = new Intent(context, OTAUpdaterActivity.class); mainIntent.setAction(info.getNotifAction()); info.addToIntent(mainIntent); PendingIntent mainPIntent = PendingIntent.getActivity(context, 0, mainIntent, PendingIntent.FLAG_CANCEL_CURRENT); Intent dlIntent = new Intent(context, DownloadReceiver.class); dlIntent.setAction(info.getDownloadAction()); info.addToIntent(dlIntent); PendingIntent dlPIntent = PendingIntent.getBroadcast(context, 1, dlIntent, PendingIntent.FLAG_CANCEL_CURRENT); Intent clearIntent = new Intent(context, DownloadReceiver.class); clearIntent.setAction(CLEAR_DL_ACTION); clearIntent.putExtra(DownloadManager.EXTRA_DOWNLOAD_ID, status.getId()); PendingIntent clearPIntent = PendingIntent.getBroadcast(context, 2, clearIntent, PendingIntent.FLAG_CANCEL_CURRENT); Notification notif = new NotificationCompat.Builder(context) .setTicker(context.getString(info.getDownloadFailedTitle())) .setContentTitle(context.getString(info.getDownloadFailedTitle())) .setContentText(status.getErrorString(context)).setSmallIcon(R.drawable.ic_stat_warning) .setContentIntent(mainPIntent).setDeleteIntent(clearPIntent) .addAction(R.drawable.ic_action_refresh, context.getString(R.string.retry), dlPIntent) .build(); nm.notify(info.getFailedNotifID(), notif); } } else if (action.equals(DownloadManager.ACTION_NOTIFICATION_CLICKED)) { long[] ids = intent.getLongArrayExtra(DownloadManager.EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS); if (ids.length == 0) return; DownloadStatus status = DownloadStatus.forDownloadID(context, ids[0]); if (status == null) return; BaseInfo info = status.getInfo(); if (info == null) return; Intent i = new Intent(context, OTAUpdaterActivity.class); i.setAction(info.getNotifAction()); i.putExtra(OTAUpdaterActivity.EXTRA_FLAG_DOWNLOAD_DIALOG, true); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } }
From source file:com.nks.nksmod.otaupdater.DownloadReceiver.java
@Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action == null) return;/*ww w . j av a 2 s. c o m*/ if (action.equals(DL_ROM_ACTION)) { RomInfo.FACTORY.clearUpdateNotif(context); RomInfo.FACTORY.fromIntent(intent).startDownload(context); /* } else if (action.equals(DL_KERNEL_ACTION)) { KernelInfo.FACTORY.clearUpdateNotif(context); KernelInfo.FACTORY.fromIntent(intent).startDownload(context); */ } else if (action.equals(CLEAR_DL_ACTION)) { if (intent.hasExtra(DownloadManager.EXTRA_DOWNLOAD_ID)) { DownloadManager dm = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE); dm.remove(intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1)); DownloadBarFragment.notifyActiveFragment(); } } else if (action.equals(DownloadManager.ACTION_DOWNLOAD_COMPLETE)) { DownloadStatus status = DownloadStatus.forDownloadID(context, intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1)); if (status == null) return; BaseInfo info = status.getInfo(); if (info == null) return; int error = status.getStatus() == DownloadManager.STATUS_SUCCESSFUL ? info.checkDownloadedFile() : status.getReason(); NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); if (error == 0) { Intent mainIntent = new Intent(context, OTAUpdaterActivity.class); mainIntent.setAction(info.getNotifAction()); mainIntent.putExtra(OTAUpdaterActivity.EXTRA_FLAG_DOWNLOAD_DIALOG, true); PendingIntent mainPIntent = PendingIntent.getActivity(context, 0, mainIntent, PendingIntent.FLAG_CANCEL_CURRENT); Intent flashIntent = new Intent(context, DownloadsActivity.class); flashIntent.setAction(info.getFlashAction()); info.addToIntent(flashIntent); PendingIntent flashPIntent = PendingIntent.getActivity(context, 0, flashIntent, PendingIntent.FLAG_CANCEL_CURRENT); Notification notif = new NotificationCompat.Builder(context) .setTicker(context.getString(info.getDownloadDoneTitle())) .setContentTitle(context.getString(info.getDownloadDoneTitle())) .setSmallIcon(R.drawable.ic_stat_av_download) .setContentText(context.getString(R.string.notif_completed)).setContentIntent(mainPIntent) .addAction(R.drawable.ic_action_system_update, context.getString(R.string.install), flashPIntent) .build(); nm.notify(info.getFlashNotifID(), notif); } else { Intent mainIntent = new Intent(context, OTAUpdaterActivity.class); mainIntent.setAction(info.getNotifAction()); info.addToIntent(mainIntent); PendingIntent mainPIntent = PendingIntent.getActivity(context, 0, mainIntent, PendingIntent.FLAG_CANCEL_CURRENT); Intent dlIntent = new Intent(context, DownloadReceiver.class); dlIntent.setAction(info.getDownloadAction()); info.addToIntent(dlIntent); PendingIntent dlPIntent = PendingIntent.getBroadcast(context, 1, dlIntent, PendingIntent.FLAG_CANCEL_CURRENT); Intent clearIntent = new Intent(context, DownloadReceiver.class); clearIntent.setAction(CLEAR_DL_ACTION); clearIntent.putExtra(DownloadManager.EXTRA_DOWNLOAD_ID, status.getId()); PendingIntent clearPIntent = PendingIntent.getBroadcast(context, 2, clearIntent, PendingIntent.FLAG_CANCEL_CURRENT); Notification notif = new NotificationCompat.Builder(context) .setTicker(context.getString(info.getDownloadFailedTitle())) .setContentTitle(context.getString(info.getDownloadFailedTitle())) .setContentText(status.getErrorString(context)).setSmallIcon(R.drawable.ic_stat_warning) .setContentIntent(mainPIntent).setDeleteIntent(clearPIntent) .addAction(R.drawable.ic_action_refresh, context.getString(R.string.retry), dlPIntent) .build(); nm.notify(info.getFailedNotifID(), notif); } } else if (action.equals(DownloadManager.ACTION_NOTIFICATION_CLICKED)) { long[] ids = intent.getLongArrayExtra(DownloadManager.EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS); if (ids.length == 0) return; DownloadStatus status = DownloadStatus.forDownloadID(context, ids[0]); if (status == null) return; BaseInfo info = status.getInfo(); if (info == null) return; Intent i = new Intent(context, OTAUpdaterActivity.class); i.setAction(info.getNotifAction()); i.putExtra(OTAUpdaterActivity.EXTRA_FLAG_DOWNLOAD_DIALOG, true); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } }
From source file:ru.appsm.inapphelp.service.AttachmentDownloadReceiver.java
private void downloadCompleted(Context context, Intent intent) { StringBuilder text = new StringBuilder(); //Files are ready String filename = context.getString(R.string.iah_attachment); String filepath = null;//from w w w . j a va2s . com String mediaType = null; DownloadManager dm = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE); long downloadId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, 0); Query query = new Query(); query.setFilterById(downloadId); Cursor c = dm.query(query); if (c.moveToFirst()) { int status = c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS)); filename = c.getString(c.getColumnIndex(DownloadManager.COLUMN_TITLE)); filepath = c.getString(c.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI)); mediaType = c.getString(c.getColumnIndex(DownloadManager.COLUMN_MEDIA_TYPE)); if (status == DownloadManager.STATUS_SUCCESSFUL) { text.append(context.getString(R.string.iah_download_complete)); } else { text.append(context.getString(R.string.iah_error_during_download)); } } NotificationManager notificationManager = (NotificationManager) context .getSystemService(Context.NOTIFICATION_SERVICE); NotificationCompat.Builder notificationbuilder = new NotificationCompat.Builder(context); notificationbuilder.setAutoCancel(true); notificationbuilder.setContentText(text.toString()); notificationbuilder.setContentTitle(filename); notificationbuilder.setSmallIcon(R.drawable.iah_notification_download_light_img); notificationbuilder.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE); notificationbuilder.setContentIntent(getPendingIntent(context)); notificationManager.notify(filename, NOTIFICATION_ID, notificationbuilder.build()); }
From source file:com.tenmiles.helpstack.service.AttachmentDownloadReceiver.java
private void downloadCompleted(Context context, Intent intent) { StringBuilder text = new StringBuilder(); //Files are ready String filename = context.getString(R.string.hs_attachment); String filepath = null;//www .j av a 2 s .com String mediaType = null; DownloadManager dm = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE); long downloadId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, 0); Query query = new Query(); query.setFilterById(downloadId); Cursor c = dm.query(query); if (c.moveToFirst()) { int status = c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS)); filename = c.getString(c.getColumnIndex(DownloadManager.COLUMN_TITLE)); filepath = c.getString(c.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI)); mediaType = c.getString(c.getColumnIndex(DownloadManager.COLUMN_MEDIA_TYPE)); if (status == DownloadManager.STATUS_SUCCESSFUL) { text.append(context.getString(R.string.hs_download_complete)); } else { text.append(context.getString(R.string.hs_error_during_download)); } } NotificationManager notificationManager = (NotificationManager) context .getSystemService(Context.NOTIFICATION_SERVICE); NotificationCompat.Builder notificationbuilder = new NotificationCompat.Builder(context); notificationbuilder.setAutoCancel(true); notificationbuilder.setContentText(text.toString()); notificationbuilder.setContentTitle(filename); notificationbuilder.setSmallIcon(R.drawable.hs_notification_download_img); notificationbuilder.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE); notificationbuilder.setContentIntent(getPendingIntent(context)); notificationManager.notify(filename, NOTIFICATION_ID, notificationbuilder.build()); }
From source file:com.ota.updates.receivers.AppReceiver.java
@Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Bundle extras = intent.getExtras();//w ww . j ava 2s . c om long mRomDownloadID = Preferences.getDownloadID(context); if (action.equals(DownloadManager.ACTION_DOWNLOAD_COMPLETE)) { long id = extras.getLong(DownloadManager.EXTRA_DOWNLOAD_ID); boolean isAddonDownload = false; int keyForAddonDownload = 0; Set<Integer> set = OtaUpdates.getAddonDownloadKeySet(); Iterator<Integer> iterator = set.iterator(); while (iterator.hasNext() && isAddonDownload != true) { int nextValue = iterator.next(); if (id == OtaUpdates.getAddonDownload(nextValue)) { isAddonDownload = true; keyForAddonDownload = nextValue; if (DEBUGGING) { Log.d(TAG, "Checking ID " + nextValue); } } } if (isAddonDownload) { DownloadManager downloadManager = (DownloadManager) context .getSystemService(Context.DOWNLOAD_SERVICE); DownloadManager.Query query = new DownloadManager.Query(); query.setFilterById(id); Cursor cursor = downloadManager.query(query); // it shouldn't be empty, but just in case if (!cursor.moveToFirst()) { if (DEBUGGING) Log.e(TAG, "Addon Download Empty row"); return; } int statusIndex = cursor.getColumnIndex(DownloadManager.COLUMN_STATUS); if (DownloadManager.STATUS_SUCCESSFUL != cursor.getInt(statusIndex)) { if (DEBUGGING) Log.w(TAG, "Download Failed"); Log.d(TAG, "Removing Addon download with id " + keyForAddonDownload); OtaUpdates.removeAddonDownload(keyForAddonDownload); AddonActivity.AddonsArrayAdapter.updateProgress(keyForAddonDownload, 0, true); AddonActivity.AddonsArrayAdapter.updateButtons(keyForAddonDownload, false); return; } else { if (DEBUGGING) Log.v(TAG, "Download Succeeded"); Log.d(TAG, "Removing Addon download with id " + keyForAddonDownload); OtaUpdates.removeAddonDownload(keyForAddonDownload); AddonActivity.AddonsArrayAdapter.updateButtons(keyForAddonDownload, true); return; } } else { if (DEBUGGING) Log.v(TAG, "Receiving " + mRomDownloadID); if (id != mRomDownloadID) { if (DEBUGGING) Log.v(TAG, "Ignoring unrelated non-ROM download " + id); return; } DownloadManager downloadManager = (DownloadManager) context .getSystemService(Context.DOWNLOAD_SERVICE); DownloadManager.Query query = new DownloadManager.Query(); query.setFilterById(id); Cursor cursor = downloadManager.query(query); // it shouldn't be empty, but just in case if (!cursor.moveToFirst()) { if (DEBUGGING) Log.e(TAG, "Rom download Empty row"); return; } int statusIndex = cursor.getColumnIndex(DownloadManager.COLUMN_STATUS); if (DownloadManager.STATUS_SUCCESSFUL != cursor.getInt(statusIndex)) { if (DEBUGGING) Log.w(TAG, "Download Failed"); Preferences.setDownloadFinished(context, false); if (Utils.isLollipop()) { AvailableActivity.setupMenuToolbar(context); // Reset options menu } else { AvailableActivity.invalidateMenu(); } return; } else { if (DEBUGGING) Log.v(TAG, "Download Succeeded"); Preferences.setDownloadFinished(context, true); AvailableActivity.setupProgress(context); if (Utils.isLollipop()) { AvailableActivity.setupMenuToolbar(context); // Reset options menu } else { AvailableActivity.invalidateMenu(); } return; } } } if (action.equals(DownloadManager.ACTION_NOTIFICATION_CLICKED)) { long[] ids = extras.getLongArray(DownloadManager.EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS); for (long id : ids) { if (id != mRomDownloadID) { if (DEBUGGING) Log.v(TAG, "mDownloadID is " + mRomDownloadID + " and ID is " + id); return; } else { Intent i = new Intent(context, AvailableActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } } } if (action.equals(MANIFEST_CHECK_BACKGROUND)) { if (DEBUGGING) Log.d(TAG, "Receiving background check confirmation"); boolean updateAvailable = RomUpdate.getUpdateAvailability(context); String filename = RomUpdate.getFilename(context); if (updateAvailable) { Utils.setupNotification(context, filename); Utils.scheduleNotification(context, !Preferences.getBackgroundService(context)); } } if (action.equals(START_UPDATE_CHECK)) { if (DEBUGGING) Log.d(TAG, "Update check started"); new LoadUpdateManifest(context, false).execute(); } if (action.equals(Intent.ACTION_BOOT_COMPLETED)) { if (DEBUGGING) { Log.d(TAG, "Boot received"); } boolean backgroundCheck = Preferences.getBackgroundService(context); if (backgroundCheck) { if (DEBUGGING) Log.d(TAG, "Starting background check alarm"); Utils.scheduleNotification(context, !Preferences.getBackgroundService(context)); } } if (action.equals(IGNORE_RELEASE)) { if (DEBUGGING) { Log.d(TAG, "Ignore release"); } Preferences.setIgnoredRelease(context, Integer.toString(RomUpdate.getVersionNumber(context))); final NotificationManager mNotifyManager = (NotificationManager) context .getSystemService(Context.NOTIFICATION_SERVICE); Builder mBuilder = new NotificationCompat.Builder(context); mBuilder.setContentTitle(context.getString(R.string.main_release_ignored)) .setSmallIcon(R.drawable.ic_notif) .setContentIntent(PendingIntent.getActivity(context, 0, new Intent(), 0)); mNotifyManager.notify(NOTIFICATION_ID, mBuilder.build()); Handler h = new Handler(); long delayInMilliseconds = 1500; h.postDelayed(new Runnable() { public void run() { mNotifyManager.cancel(NOTIFICATION_ID); } }, delayInMilliseconds); } }
From source file:com.appjma.appdeployer.adapter.AppVersionsAdapter.java
@Override public void bindView(View view, Context context, Cursor cursor) { ViewHolder holder = (ViewHolder) view.getTag(); String version = cursor.getString(PROJECTION_VERSION); long updatedAt = cursor.getLong(PROJECTION_UPDATED_AT); long id = cursor.getLong(PROJECTION_APP_VERSION_ID); String downloadManagerId = cursor.getString(PROJECTION_DOWNLOAD_MANAGER_ID); int status = -1; if (downloadManagerId != null) { DownloadItem downloadItem = mMap.get(downloadManagerId); if (downloadItem != null) { status = downloadItem.mStatus; }// ww w. j a v a2 s.c o m } if (status == DownloadManager.STATUS_PENDING || status == DownloadManager.STATUS_RUNNING) { holder.mButton.setBackgroundResource(R.drawable.ic_list_item_downloading); } else if (status == DownloadManager.STATUS_SUCCESSFUL) { holder.mButton.setBackgroundResource(R.drawable.ic_list_item_downloaded); } else { holder.mButton.setBackgroundResource(R.drawable.ic_list_item_download); } holder.mPosition = cursor.getPosition(); holder.mText1.setText(String.format(mVersionFormat, version)); CharSequence updatedAtText = DateUtils.getRelativeTimeSpanString(updatedAt, mNow, DateUtils.MINUTE_IN_MILLIS); holder.mText2.setText(updatedAtText); holder.mId = id; }
From source file:com.cypher.cota.helpers.DownloadHelper.java
private static void checkDownloadFinished(long downloadId, boolean installIfFinished) { long id = Long.parseLong(PreferenceUtils.getPreference(sContext, PreferenceUtils.DOWNLOAD_ROM_ID, "-1")); if (id == -1L || (downloadId != 0 && downloadId != id)) { return;/* ww w . ja v a2s . co m*/ } String md5 = PreferenceUtils.getPreference(sContext, PreferenceUtils.DOWNLOAD_ROM_MD5, null); DownloadManager.Query query = new DownloadManager.Query(); query.setFilterById(id); Cursor cursor = sDownloadManager.query(query); if (cursor.moveToFirst()) { int columnIndex = cursor.getColumnIndex(DownloadManager.COLUMN_STATUS); int status = cursor.getInt(columnIndex); switch (status) { case DownloadManager.STATUS_FAILED: removeDownload(id, true); int reasonText = getDownloadError(cursor); sCallback.onDownloadError(sContext.getResources().getString(reasonText)); break; case DownloadManager.STATUS_SUCCESSFUL: if (installIfFinished) { String uriString = cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI)); sCallback.onDownloadFinished(Uri.parse(uriString), md5); } downloadSuccesful(); break; default: cancelDownload(id); break; } } else { removeDownload(id, true); } cursor.close(); }
From source file:com.rdrive.updateapk.MainActivity.java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_update = (Button) findViewById(R.id.button_update); btn_update.setEnabled(false);/*from w ww. j av a 2 s . com*/ currentVersionValue = (TextView) findViewById(R.id.currentVersionValue); lastVersionValue = (TextView) findViewById(R.id.lastVersionValue); dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); new CheckUpdate() { @Override protected void onPostExecute(Boolean aBoolean) { currentVersionValue.setText(this.getCurrentVersion().toString()); lastVersionValue.setText(this.getLastVersion().toString()); if (!aBoolean) { btn_update.setEnabled(true); } } }.execute(getContext()); btn_update.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (Build.VERSION.SDK_INT > 22) { if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(getActivity(), new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE }, ASK_WRITE_EXTERNAL_STORAGE_FOR_UPDATE); return; } } downloadLastVersion(getContext(), dm); } }); BroadcastReceiver attachmentDownloadCompleteReceive = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) { long downloadId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, 0); DownloadManager.Query query = new DownloadManager.Query(); query.setFilterById(downloadId); Cursor cursor = dm.query(query); if (cursor.moveToFirst()) { int downloadStatus = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS)); String downloadLocalUri = cursor .getString(cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI)); if ((downloadStatus == DownloadManager.STATUS_SUCCESSFUL) && downloadLocalUri != null) { openApk(getContext(), downloadLocalUri); } } cursor.close(); } } }; registerReceiver(attachmentDownloadCompleteReceive, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); }