Fixes issue with download path selection
Ensure that onActivityResult is called on the correct fragment
to handle changing the path.
CR-Fixed: 897602
Change-Id: I0527771558b02551c861929fd076f03a99ba4be3
diff --git a/src/com/android/browser/preferences/AdvancedPreferencesFragment.java b/src/com/android/browser/preferences/AdvancedPreferencesFragment.java
index 3d98894..6524767 100644
--- a/src/com/android/browser/preferences/AdvancedPreferencesFragment.java
+++ b/src/com/android/browser/preferences/AdvancedPreferencesFragment.java
@@ -97,36 +97,6 @@
}
}
- public void onActivityResult(int requestCode, int resultCode, Intent intent) {
- if (requestCode == ContentPreferencesFragment.DOWNLOAD_PATH_RESULT_CODE) {
- 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 = intent.getData();
- if(uri != null)
- downloadPath = uri.getPath();
- }
- if (downloadPath != null) {
- PreferenceScreen downloadPathPreset =
- (PreferenceScreen) mFragment.findPreference(
- PreferenceKeys.PREF_DOWNLOAD_PATH);
- Editor editor = downloadPathPreset.getEditor();
- editor.putString(PreferenceKeys.PREF_DOWNLOAD_PATH, downloadPath);
- editor.apply();
- String downloadPathForUser = DownloadHandler.getDownloadPathForUser(
- mFragment.getActivity(), downloadPath);
- downloadPathPreset.setSummary(downloadPathForUser);
- }
-
- return;
- }
- }
- return;
- }
-
void updateListPreferenceSummary(ListPreference e) {
e.setSummary(e.getEntry());
}
diff --git a/src/com/android/browser/preferences/ContentPreferencesFragment.java b/src/com/android/browser/preferences/ContentPreferencesFragment.java
index 63bae5b..1f32fc9 100644
--- a/src/com/android/browser/preferences/ContentPreferencesFragment.java
+++ b/src/com/android/browser/preferences/ContentPreferencesFragment.java
@@ -29,11 +29,14 @@
package com.android.browser.preferences;
+import android.app.Activity;
+import android.net.Uri;
import android.app.ActionBar;
import android.content.Intent;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
+import android.content.SharedPreferences.Editor;
import android.preference.PreferenceScreen;
import android.text.TextUtils;
import android.util.Log;
@@ -101,6 +104,33 @@
}
@Override
+ public void onActivityResult(int requestCode, int resultCode, Intent intent) {
+ if (requestCode == DOWNLOAD_PATH_RESULT_CODE &&
+ (resultCode == Activity.RESULT_OK && intent != null)) {
+ final String result_dir_sel =
+ getActivity().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 = intent.getData();
+ if(uri != null)
+ downloadPath = uri.getPath();
+ }
+ if (downloadPath != null) {
+ PreferenceScreen downloadPathPreset =
+ (PreferenceScreen) findPreference(
+ PreferenceKeys.PREF_DOWNLOAD_PATH);
+ Editor editor = downloadPathPreset.getEditor();
+ editor.putString(PreferenceKeys.PREF_DOWNLOAD_PATH, downloadPath);
+ editor.apply();
+ String downloadPathForUser = DownloadHandler.getDownloadPathForUser(
+ getActivity(), downloadPath);
+ downloadPathPreset.setSummary(downloadPathForUser);
+ }
+ }
+ }
+
+ @Override
public void onResume() {
super.onResume();
ActionBar bar = getActivity().getActionBar();
diff --git a/src/com/android/browser/preferences/GeneralPreferencesFragment.java b/src/com/android/browser/preferences/GeneralPreferencesFragment.java
index dbffafb..52b9142 100644
--- a/src/com/android/browser/preferences/GeneralPreferencesFragment.java
+++ b/src/com/android/browser/preferences/GeneralPreferencesFragment.java
@@ -240,7 +240,6 @@
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
- mAdvFrag.onActivityResult(requestCode,resultCode, data);
}
void refreshUi() {