diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/com/android/browser/BrowserActivity.java | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java index 2260200e8..3535725ae 100644 --- a/src/com/android/browser/BrowserActivity.java +++ b/src/com/android/browser/BrowserActivity.java @@ -1414,17 +1414,26 @@ public class BrowserActivity extends Activity if (LOGD_ENABLED) { Log.d(LOGTAG, "Save as Web Archive"); } - String directory = getExternalFilesDir(null).getAbsolutePath() + File.separator; - getTopWindow().saveWebArchive(directory, true, new ValueCallback<String>() { - @Override - public void onReceiveValue(String value) { - if (value != null) { - Toast.makeText(BrowserActivity.this, R.string.webarchive_saved, Toast.LENGTH_SHORT).show(); - } else { - Toast.makeText(BrowserActivity.this, R.string.webarchive_failed, Toast.LENGTH_SHORT).show(); + String state = Environment.getExternalStorageState(); + if (Environment.MEDIA_MOUNTED.equals(state)) { + String directory = Environment.getExternalStoragePublicDirectory( + Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + File.separator; + getTopWindow().saveWebArchive(directory, true, new ValueCallback<String>() { + @Override + public void onReceiveValue(String value) { + if (value != null) { + Toast.makeText(BrowserActivity.this, R.string.webarchive_saved, + Toast.LENGTH_SHORT).show(); + } else { + Toast.makeText(BrowserActivity.this, R.string.webarchive_failed, + Toast.LENGTH_SHORT).show(); + } } - } - }); + }); + } else { + Toast.makeText(BrowserActivity.this, R.string.webarchive_failed, + Toast.LENGTH_SHORT).show(); + } break; case R.id.page_info_menu_id: |
