diff options
author | Nicolas Roard <nicolas@android.com> | 2009-09-22 15:17:52 +0100 |
---|---|---|
committer | Nicolas Roard <nicolas@android.com> | 2009-09-22 15:17:52 +0100 |
commit | 99b3ae1a384981f96fca5432f3d20bf4e8d13667 (patch) | |
tree | 9a74c0d60772dd7d5075382a7f5237ce22c8c97f /src/com/android/browser/BrowserPreferencesPage.java | |
parent | f4672127dba061c9d4d69a1139e9c8e43d740a49 (diff) | |
download | packages_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.java | 29 |
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 |