blob: 40202e1c1a6b5663d885fba8c0a56675be2d339b [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.download;
import org.chromium.components.offline_items_collection.ContentId;
/** Interface for classes implementing concrete implementation of UI behavior. */
public interface DownloadServiceDelegate {
/**
* Called to cancel a download.
* @param id The {@link ContentId} of the download to cancel.
* @param isOffTheRecord Whether the download is off the record.
*/
void cancelDownload(ContentId id, boolean isOffTheRecord);
/**
* Called to pause a download.
* @param id The {@link ContentId} of the download to pause.
* @param isOffTheRecord Whether the download is off the record.
*/
void pauseDownload(ContentId id, boolean isOffTheRecord);
/**
* Called to resume a paused download.
* @param id The {@link ContentId} of the download to cancel.
* @param item Download item to resume.
* @param hasUserGesture Whether the resumption is triggered by user gesture.
* TODO(fgorski): Update the interface to not require download item.
*/
void resumeDownload(ContentId id, DownloadItem item, boolean hasUserGesture);
/** Called to destroy the delegate, in case it needs to be destroyed. */
void destroyServiceDelegate();
}