1a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun/* 2a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * Copyright (C) 2012 The Android Open Source Project 3a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * 4a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * Licensed under the Apache License, Version 2.0 (the "License"); 5a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * you may not use this file except in compliance with the License. 6a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * You may obtain a copy of the License at 7a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * 8a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * http://www.apache.org/licenses/LICENSE-2.0 9a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * 10a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * Unless required by applicable law or agreed to in writing, software 11a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * distributed under the License is distributed on an "AS IS" BASIS, 12a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * See the License for the specific language governing permissions and 14a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * limitations under the License. 15a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun */ 16a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun 17a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurunpackage android.webkit; 18a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun 19a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun/** 20a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * An abstract download listener that allows passing extra information as 21a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * part of onDownloadStart callback. 22a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * @hide 23a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun */ 24a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurunpublic abstract class BrowserDownloadListener implements DownloadListener { 25a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun 26a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun /** 27a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * Notify the host application that a file should be downloaded 28a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * @param url The full url to the content that should be downloaded 29a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * @param userAgent the user agent to be used for the download. 30a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * @param contentDisposition Content-disposition http header, if 31a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * present. 32a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * @param mimetype The mimetype of the content reported by the server 33a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * @param referer The referer associated with this url 34a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * @param contentLength The file size reported by the server 35a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun */ 36a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun public abstract void onDownloadStart(String url, String userAgent, 37a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun String contentDisposition, String mimetype, String referer, 38a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun long contentLength); 39a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun 40a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun 41a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun /** 42a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * Notify the host application that a file should be downloaded 43a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * @param url The full url to the content that should be downloaded 44a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * @param userAgent the user agent to be used for the download. 45a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * @param contentDisposition Content-disposition http header, if 46a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * present. 47a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * @param mimetype The mimetype of the content reported by the server 48a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun * @param contentLength The file size reported by the server 49a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun */ 50a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun @Override 51a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun public void onDownloadStart(String url, String userAgent, 52a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun String contentDisposition, String mimetype, long contentLength) { 53a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun 54a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun onDownloadStart(url, userAgent, contentDisposition, mimetype, null, 55a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun contentLength); 56a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun } 57a36dcfdfe0e93cf18ae2c98f92625a593d624bb7Selim Gurun} 58