diff options
Diffstat (limited to 'src/com/android')
4 files changed, 25 insertions, 11 deletions
diff --git a/src/com/android/browser/GoogleAccountLogin.java b/src/com/android/browser/GoogleAccountLogin.java index 6bec8dc..f019b52 100644 --- a/src/com/android/browser/GoogleAccountLogin.java +++ b/src/com/android/browser/GoogleAccountLogin.java @@ -280,13 +280,15 @@ public class GoogleAccountLogin extends Thread implements return false; } + // Use /a/ to grab hosted cookies as well as the base set of google.com + // cookies. String cookies = CookieManager.getInstance().getCookie( - "http://www.google.com"); + "http://www.google.com/a/"); if (cookies != null) { StringTokenizer tokenizer = new StringTokenizer(cookies, ";"); while (tokenizer.hasMoreTokens()) { String cookie = tokenizer.nextToken().trim(); - if (cookie.startsWith("SID=")) { + if (cookie.startsWith("SID=") || cookie.startsWith("ASIDAP=")) { return true; } } diff --git a/src/com/android/browser/SuggestionsAdapter.java b/src/com/android/browser/SuggestionsAdapter.java index 3c1a689..6e55539 100644 --- a/src/com/android/browser/SuggestionsAdapter.java +++ b/src/com/android/browser/SuggestionsAdapter.java @@ -78,8 +78,6 @@ public class SuggestionsAdapter extends BaseAdapter implements Filterable, public void onSelect(String txt, int type, String extraData); - public void onFilterComplete(int count); - } public SuggestionsAdapter(Context ctx, CompletionListener listener) { @@ -240,7 +238,6 @@ public class SuggestionsAdapter extends BaseAdapter implements Filterable, mSuggestResults = items; mMixedResults = buildSuggestionResults(); notifyDataSetChanged(); - mListener.onFilterComplete(mMixedResults.getLineCount()); } } @@ -334,9 +331,8 @@ public class SuggestionsAdapter extends BaseAdapter implements Filterable, protected void publishResults(CharSequence constraint, FilterResults fresults) { if (fresults.values instanceof SuggestionResults) { mMixedResults = (SuggestionResults) fresults.values; - mListener.onFilterComplete(fresults.count); + notifyDataSetChanged(); } - notifyDataSetChanged(); } } diff --git a/src/com/android/browser/preferences/PrivacySecurityPreferencesFragment.java b/src/com/android/browser/preferences/PrivacySecurityPreferencesFragment.java index 91705e5..409ddb7 100644 --- a/src/com/android/browser/preferences/PrivacySecurityPreferencesFragment.java +++ b/src/com/android/browser/preferences/PrivacySecurityPreferencesFragment.java @@ -71,8 +71,12 @@ public class PrivacySecurityPreferencesFragment extends PreferenceFragment values[i] = ""; autologinPref.setEntries(names); autologinPref.setEntryValues(values); - autologinPref.setValue(BrowserSettings.getInstance() - .getAutoLoginAccount(getActivity())); + BrowserSettings bs = BrowserSettings.getInstance(); + if (bs.isAutoLoginEnabled()) { + autologinPref.setValue(bs.getAutoLoginAccount(getActivity())); + } else { + autologinPref.setValue(""); + } } private void updateAutoLoginSummary(Preference pref) { diff --git a/src/com/android/browser/widget/BookmarkThumbnailWidgetService.java b/src/com/android/browser/widget/BookmarkThumbnailWidgetService.java index 631bf84..cc06349 100644 --- a/src/com/android/browser/widget/BookmarkThumbnailWidgetService.java +++ b/src/com/android/browser/widget/BookmarkThumbnailWidgetService.java @@ -109,7 +109,10 @@ public class BookmarkThumbnailWidgetService extends RemoteViewsService { int[] ids = intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS); if (ids != null) { for (int id : ids) { - mFactories.remove(id); + BookmarkFactory bf = mFactories.remove(id); + // Workaround a known framework bug + // onDestroy is currently never called + bf.onDestroy(); } } } else if (ACTION_CHANGE_FOLDER.equals(action)) { @@ -309,9 +312,18 @@ public class BookmarkThumbnailWidgetService extends RemoteViewsService { @Override public void onDestroy() { - recycleBitmaps(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext); prefs.unregisterOnSharedPreferenceChangeListener(this); + + // Workaround known framework bug + // This class currently leaks, so free as much memory as we can + recycleBitmaps(); + mBookmarks.clear(); + mBreadcrumbs.clear(); + if (mLoadTask != null) { + mLoadTask.cancel(false); + mLoadTask = null; + } } @Override |