You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.6 KiB
50 lines
1.6 KiB
/* |
|
* Copyright 2014 A.C.R. Development |
|
*/ |
|
package acr.browser.lightning; |
|
|
|
import android.app.Activity; |
|
import android.app.AlertDialog; |
|
import android.content.DialogInterface; |
|
import android.util.Log; |
|
import android.webkit.DownloadListener; |
|
import android.webkit.URLUtil; |
|
|
|
public class LightningDownloadListener implements DownloadListener { |
|
|
|
private Activity mActivity; |
|
|
|
LightningDownloadListener(Activity activity) { |
|
mActivity = activity; |
|
} |
|
|
|
@Override |
|
public void onDownloadStart(final String url, final String userAgent, |
|
final String contentDisposition, final String mimetype, long contentLength) { |
|
String fileName = URLUtil.guessFileName(url, contentDisposition, mimetype); |
|
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { |
|
@Override |
|
public void onClick(DialogInterface dialog, int which) { |
|
switch (which) { |
|
case DialogInterface.BUTTON_POSITIVE: |
|
DownloadHandler.onDownloadStart(mActivity, url, userAgent, |
|
contentDisposition, mimetype, false); |
|
break; |
|
|
|
case DialogInterface.BUTTON_NEGATIVE: |
|
break; |
|
} |
|
} |
|
}; |
|
|
|
AlertDialog.Builder builder = new AlertDialog.Builder(mActivity); // dialog |
|
builder.setTitle(fileName) |
|
.setMessage(mActivity.getResources().getString(R.string.dialog_download)) |
|
.setPositiveButton(mActivity.getResources().getString(R.string.action_download), |
|
dialogClickListener) |
|
.setNegativeButton(mActivity.getResources().getString(R.string.action_cancel), |
|
dialogClickListener).show(); |
|
Log.i(Constants.TAG, "Downloading" + fileName); |
|
|
|
} |
|
}
|
|
|