// 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; /** Interface for classes implementing concrete implementation of UI behavior. */ public interface DownloadServiceDelegate { /** * Called to cancel a download. * @param downloadGuid GUID of the download. * @param isOffTheRecord Whether the download is off the record. * @param isNotificationDismissed Whether cancel is caused by dismissing the notification. */ void cancelDownload(String downloadGuid, boolean isOffTheRecord, boolean isNotificationDismissed); /** * Called to pause a download. * @param downloadGuid GUID of the download. * @param isOffTheRecord Whether the download is off the record. */ void pauseDownload(String downloadGuid, boolean isOffTheRecord); /** * Called to resume a paused download. * @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(DownloadItem item, boolean hasUserGesture); /** Called to destroy the delegate, in case it needs to be destroyed. */ void destroyServiceDelegate(); }