diff options
author | Axesh R. Ajmera <aajmera@codeaurora.org> | 2015-07-13 17:10:56 -0700 |
---|---|---|
committer | jrizzoli <joey@cyanogenmoditalia.it> | 2015-08-28 13:15:46 +0200 |
commit | 1ad7c5753de76e1cfaf78289e4f2b05e12c77855 (patch) | |
tree | c9c9a6cd9c1a9b730b629aba9d1644d0eef83853 /src/com | |
parent | 07b2fd9ac55a9f2096423320f5c0e7fdb9b562d8 (diff) | |
download | android_packages_apps_Gello-1ad7c5753de76e1cfaf78289e4f2b05e12c77855.tar.gz android_packages_apps_Gello-1ad7c5753de76e1cfaf78289e4f2b05e12c77855.tar.bz2 android_packages_apps_Gello-1ad7c5753de76e1cfaf78289e4f2b05e12c77855.zip |
Multiple fixes for permissions of site specific setting
- web refiner permission for site specific setting
- fix NPE when fetching origins
- fix clearing of storage data
Change-Id: I366b7292338ee417dda8b5fb6a9548dc9108ef5a
Diffstat (limited to 'src/com')
3 files changed, 12 insertions, 2 deletions
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java index 60f13d50..9de584d5 100644 --- a/src/com/android/browser/BrowserSettings.java +++ b/src/com/android/browser/BrowserSettings.java @@ -155,6 +155,9 @@ public class BrowserSettings implements OnSharedPreferenceChangeListener, for (String origin : origins) { PermissionsServiceFactory.PermissionsService.OriginInfo info = value.getOriginInfo(origin); + if (info == null) { + continue; + } int perm = info.getPermission( PermissionsServiceFactory.PermissionType.WEBREFINER); if (perm == PermissionsServiceFactory.Permission.ALLOW) { diff --git a/src/com/android/browser/preferences/SiteSpecificPreferencesFragment.java b/src/com/android/browser/preferences/SiteSpecificPreferencesFragment.java index a67d96d7..7ee84b2d 100644 --- a/src/com/android/browser/preferences/SiteSpecificPreferencesFragment.java +++ b/src/com/android/browser/preferences/SiteSpecificPreferencesFragment.java @@ -706,8 +706,9 @@ public class SiteSpecificPreferencesFragment extends SWEPreferenceFragment origins[0] = mOriginInfo.getOrigin(); refiner.setPermissionForOrigins(origins, !disable); } + // Distracting contents and web refiner complimentary of each other updateTwoStatePreference(pref, - PermissionsServiceFactory.PermissionType.WEBREFINER, (boolean)objValue); + PermissionsServiceFactory.PermissionType.WEBREFINER, !(boolean)objValue); } else if (pref.getKey().toString().equalsIgnoreCase("popup_windows")) { updateTwoStatePreference(pref, PermissionsServiceFactory.PermissionType.POPUP, (boolean)objValue); diff --git a/src/com/android/browser/preferences/WebsiteSettingsFragment.java b/src/com/android/browser/preferences/WebsiteSettingsFragment.java index f447ced9..3f0215bc 100644 --- a/src/com/android/browser/preferences/WebsiteSettingsFragment.java +++ b/src/com/android/browser/preferences/WebsiteSettingsFragment.java @@ -166,6 +166,13 @@ public class WebsiteSettingsFragment extends ListFragment implements OnClickList Set<String> origins = mPermServ.getOrigins(); String[] originArray = origins.toArray(new String[origins.size()]); + for (String origin : originArray) { + PermissionsServiceFactory.PermissionsService.OriginInfo info = + mPermServ.getOriginInfo(origin); + if (info != null) { + info.clearAllStoredData(); + } + } // purge the permissionservice since its not needed mPermServ.purge(); mPermServ = null; @@ -313,7 +320,6 @@ public class WebsiteSettingsFragment extends ListFragment implements OnClickList new AlertDialog.OnClickListener() { public void onClick(DialogInterface dlg, int which) { mAdapter.deleteAllOrigins(); - WebStorage.getInstance().deleteAllData(); if (GeolocationPermissions.isIncognitoCreated()) { GeolocationPermissions.getIncognitoInstance().clearAll(); } |