package com.novoda.downloadmanager.notifications;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.support.v4.app.NotificationCompat;
import com.novoda.downloadmanager.Download;
import com.novoda.downloadmanager.R;
import com.novoda.downloadmanager.lib.DownloadManager;
// TODO make this package - when everything notification-like is moved to /notifications/
public class CancelButtonNotificationCustomiser implements QueuedNotificationCustomiser, DownloadingNotificationCustomiser {
private final Context context;
public CancelButtonNotificationCustomiser(Context context) {
this.context = context;
}
@Override
public void customiseQueued(Download download, NotificationCompat.Builder builder) {
addCancelButton(builder, download);
}
@Override
public void customiseDownloading(Download download, NotificationCompat.Builder builder) {
addCancelButton(builder, download);
}
private void addCancelButton(NotificationCompat.Builder builder, Download download) {
Intent cancelIntent = DownloadManager.createCancelBatchIntent(download.getId(), context);
PendingIntent pendingCancelIntent = PendingIntent.getBroadcast(context, 0, cancelIntent, PendingIntent.FLAG_UPDATE_CURRENT);
builder.addAction(R.drawable.dl__ic_action_cancel, context.getString(R.string.dl__cancel), pendingCancelIntent);
}
}