summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/BrowserPreferencesPage.java
diff options
context:
space:
mode:
authorNicolas Roard <nicolas@android.com>2009-09-22 15:17:52 +0100
committerNicolas Roard <nicolas@android.com>2009-09-22 15:17:52 +0100
commit99b3ae1a384981f96fca5432f3d20bf4e8d13667 (patch)
tree9a74c0d60772dd7d5075382a7f5237ce22c8c97f /src/com/android/browser/BrowserPreferencesPage.java
parentf4672127dba061c9d4d69a1139e9c8e43d740a49 (diff)
downloadpackages_apps_browser-99b3ae1a384981f96fca5432f3d20bf4e8d13667.zip
packages_apps_browser-99b3ae1a384981f96fca5432f3d20bf4e8d13667.tar.gz
packages_apps_browser-99b3ae1a384981f96fca5432f3d20bf4e8d13667.tar.bz2
Reimplement the settings to use async callbacks
Diffstat (limited to 'src/com/android/browser/BrowserPreferencesPage.java')
-rw-r--r--src/com/android/browser/BrowserPreferencesPage.java29
1 files changed, 20 insertions, 9 deletions
diff --git a/src/com/android/browser/BrowserPreferencesPage.java b/src/com/android/browser/BrowserPreferencesPage.java
index ec3561f..fb0b2ba 100644
--- a/src/com/android/browser/BrowserPreferencesPage.java
+++ b/src/com/android/browser/BrowserPreferencesPage.java
@@ -17,8 +17,9 @@
package com.android.browser;
import java.util.List;
-import java.util.Vector;
+import java.util.Map;
import java.util.Set;
+import java.util.Vector;
import android.content.Intent;
import android.net.Uri;
@@ -30,13 +31,14 @@ import android.preference.PreferenceActivity;
import android.preference.PreferenceScreen;
import android.util.Log;
import android.webkit.GeolocationPermissions;
+import android.webkit.ValueCallback;
import android.webkit.WebStorage;
import android.webkit.WebView;
public class BrowserPreferencesPage extends PreferenceActivity
implements Preference.OnPreferenceChangeListener {
- String TAG = "BrowserPreferencesPage";
+ private String LOGTAG = "BrowserPreferencesPage";
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -86,14 +88,23 @@ public class BrowserPreferencesPage extends PreferenceActivity
@Override
protected void onResume() {
super.onResume();
- PreferenceScreen websiteSettings = (PreferenceScreen)
+ final PreferenceScreen websiteSettings = (PreferenceScreen)
findPreference(BrowserSettings.PREF_WEBSITE_SETTINGS);
- Set webStorageOrigins = WebStorage.getInstance().getOrigins();
- Set geolocationOrigins =
- GeolocationPermissions.getInstance().getOrigins();
- websiteSettings.setEnabled(
- ((webStorageOrigins != null) && !webStorageOrigins.isEmpty()) ||
- ((geolocationOrigins != null) && !geolocationOrigins.isEmpty()));
+ websiteSettings.setEnabled(false);
+ WebStorage.getInstance().getOrigins(new ValueCallback<Map>() {
+ public void onReceiveValue(Map webStorageOrigins) {
+ if ((webStorageOrigins != null) && !webStorageOrigins.isEmpty()) {
+ websiteSettings.setEnabled(true);
+ }
+ }
+ });
+ GeolocationPermissions.getInstance().getOrigins(new ValueCallback<Set>() {
+ public void onReceiveValue(Set geolocationOrigins) {
+ if ((geolocationOrigins != null) && !geolocationOrigins.isEmpty()) {
+ websiteSettings.setEnabled(true);
+ }
+ }
+ });
}
@Override