Use overlay in Setting's UI for download path selection
- Query overlay resource in Setting UI for file explorer intent that
needs to be invoked during the download path selection.
CR-Fixed: 771031
Change-Id: Icda0c85d47009e4eaa5b15f23779c172a36c5768
diff --git a/src/com/android/browser/preferences/AdvancedPreferencesFragment.java b/src/com/android/browser/preferences/AdvancedPreferencesFragment.java
index 91c24e8..5edf8e6 100644
--- a/src/com/android/browser/preferences/AdvancedPreferencesFragment.java
+++ b/src/com/android/browser/preferences/AdvancedPreferencesFragment.java
@@ -32,6 +32,7 @@
import android.util.Log;
import android.webkit.ValueCallback;
import android.widget.Toast;
+import android.text.TextUtils;
import com.android.browser.BrowserActivity;
import com.android.browser.BrowserConfig;
@@ -49,6 +50,7 @@
implements Preference.OnPreferenceChangeListener, Preference.OnPreferenceClickListener {
private static final int DOWNLOAD_PATH_RESULT_CODE = 1;
+ private final static String LOGTAG = "AdvancedPreferencesFragment";
PreferenceFragment mFragment = null;
@@ -107,27 +109,37 @@
private Preference.OnPreferenceClickListener onClickDownloadPathSettings() {
return new Preference.OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
- try {
- Intent i = new Intent("com.android.fileexplorer.action.DIR_SEL");
- mFragment.startActivityForResult(i,
- DOWNLOAD_PATH_RESULT_CODE);
- } catch (Exception e) {
- String err_msg = mFragment.getResources().getString(R.string.activity_not_found,
- "com.android.fileexplorer.action.DIR_SEL");
- Toast.makeText(mFragment.getActivity(), err_msg, Toast.LENGTH_LONG).show();
+ final String filemanagerIntent =
+ mFragment.getResources().getString(R.string.def_intent_file_manager);
+ if (!TextUtils.isEmpty(filemanagerIntent)) {
+ try {
+ Intent i = new Intent(filemanagerIntent);
+ mFragment.startActivityForResult(i,
+ DOWNLOAD_PATH_RESULT_CODE);
+ } catch (Exception e) {
+ String err_msg = mFragment.getResources().getString(
+ R.string.activity_not_found,
+ filemanagerIntent);
+ Toast.makeText(mFragment.getActivity(), err_msg, Toast.LENGTH_LONG).show();
+ }
+ return true;
+ } else {
+ Log.e(LOGTAG, "File Manager intent not defined !!");
+ return true;
}
- return true;
}
};
}
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
+ public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == DOWNLOAD_PATH_RESULT_CODE) {
- if ( resultCode == Activity.RESULT_OK && data != null) {
- String downloadPath = data.getStringExtra("result_dir_sel");
+ if ( resultCode == Activity.RESULT_OK && intent != null) {
+ final String result_dir_sel =
+ mFragment.getResources().getString(R.string.def_file_manager_result_dir);
+ String downloadPath = intent.getStringExtra(result_dir_sel);
// Fallback logic to stock browser
if (downloadPath == null) {
- Uri uri = data.getData();
+ Uri uri = intent.getData();
if(uri != null)
downloadPath = uri.getPath();
}