@Override public void taskEnd(@NonNull DownloadTask task, @NonNull EndCause cause, @Nullable Exception realCause) { if (realCause != null) { Log.e("ContentUriActivity", "taskEnd with realCause", realCause); } final String status = "taskEnd " + cause + " " + speedCalculator.averageSpeed(); statusTv.setText(status); actionView.setTag(null); actionTv.setText(R.string.start); } }
@Override public void blockEnd(@NonNull DownloadTask task, int blockIndex, BlockInfo info, @NonNull SpeedCalculator blockSpeed) { final TextView speedTv = EachBlockProgressUtil.getSpeedTv(blockIndex, block0SpeedTv, block1SpeedTv, block2SpeedTv, block3SpeedTv); if (speedTv != null) speedTv.setText(blockSpeed.averageSpeed()); }
@Override public void taskEnd(@NonNull DownloadTask task, @NonNull EndCause cause, @android.support.annotation.Nullable Exception realCause, @NonNull SpeedCalculator taskSpeed) { statusTv.setText(cause.toString()); taskSpeedTv.setText(taskSpeed.averageSpeed()); actionTv.setText(R.string.start); // mark task.setTag(null); } });
@Override public void taskEnd(@NonNull DownloadTask task, @NonNull EndCause cause, @Nullable Exception realCause, @NonNull SpeedCalculator taskSpeed) { final String statusWithSpeed = cause.toString() + " " + taskSpeed.averageSpeed(); statusTv.setText(statusWithSpeed); actionTv.setText(R.string.start); // mark task.setTag(null); if (cause == EndCause.COMPLETED) { final String realMd5 = fileToMD5(task.getFile().getAbsolutePath()); if (!realMd5.equalsIgnoreCase("f836a37a5eee5dec0611ce15a76e8fd5")) { Log.e(TAG, "file is wrong because of md5 is wrong " + realMd5); } } } });
@Override public void taskEnd(@NonNull final DownloadTask task, @NonNull EndCause cause, @android.support.annotation.Nullable Exception realCause, @NonNull SpeedCalculator taskSpeed) { Log.d("NotificationActivity", "taskEnd " + cause + " " + realCause); builder.setOngoing(false); builder.setAutoCancel(true); builder.setTicker("taskEnd " + cause); builder.setContentText( "task end " + cause + " average speed: " + taskSpeed.averageSpeed()); if (cause == EndCause.COMPLETED) { builder.setProgress(1, 1, false); } new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { @Override public void run() { if (taskEndRunnable != null) taskEndRunnable.run(); manager.notify(task.getId(), builder.build()); } // because of on some android phone too frequency notify for same id would be // ignored. }, 100); } }
@Test public void averageSpeed() { doReturn("1").when(calculator).speedFromBegin(); assertThat(calculator.averageSpeed()).isEqualTo("1"); }