Fixed resetting of webrefiner
- WebRefiner site specific settings were not properly cleared
on browser reset to default
Change-Id: I957111763b7b86eb91dc75744ec21deea0425bd5
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java
index cde500c..fef0b44 100644
--- a/src/com/android/browser/BrowserSettings.java
+++ b/src/com/android/browser/BrowserSettings.java
@@ -51,6 +51,7 @@
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
+import java.util.List;
import java.util.Set;
import org.codeaurora.swe.AutoFillProfile;
@@ -591,11 +592,22 @@
}
public void resetDefaultPreferences() {
- mPrefs.edit()
- .clear()
- .apply();
+ WebRefiner webRefiner = WebRefiner.getInstance();
+ if (webRefiner != null) {
+ List<String> webrefiner_list = PermissionsServiceFactory.getOriginsForPermission(
+ PermissionsServiceFactory.PermissionType.WEBREFINER);
+ if (!webrefiner_list.isEmpty()) {
+ String[] origins = webrefiner_list.toArray(new String[webrefiner_list.size()]);
+ webRefiner.useDefaultPermissionForOrigins(origins);
+ }
+ }
+
+ PermissionsServiceFactory.resetDefaultPermissions();
+ mPrefs.edit().clear().apply();
+
resetCachedValues();
- if (WebRefiner.getInstance() != null) {
+
+ if (webRefiner != null) {
mPrefs.edit().putBoolean(PREF_WEB_REFINER, true).apply();
} else {
mPrefs.edit().putBoolean(PREF_WEB_REFINER, false).apply();