diff options
| author | John Reck <jreck@google.com> | 2011-07-26 16:13:53 -0700 |
|---|---|---|
| committer | John Reck <jreck@google.com> | 2011-07-26 16:27:54 -0700 |
| commit | ba287c2673922ac51c4e4258224574411c0117e1 (patch) | |
| tree | 84f6074f290921a12964109b502511fd197baec7 /src | |
| parent | 52afe3d6108b4d6e9d179d6d88b20244cd10c1cf (diff) | |
| download | packages_apps_Browser-ba287c2673922ac51c4e4258224574411c0117e1.tar.gz packages_apps_Browser-ba287c2673922ac51c4e4258224574411c0117e1.tar.bz2 packages_apps_Browser-ba287c2673922ac51c4e4258224574411c0117e1.zip | |
Show prelogin only once
Bug: 5081641
Change-Id: I1c625e3528de9a7cd37dae5b8b428ff141759e14
Diffstat (limited to 'src')
| -rw-r--r-- | src/com/android/browser/GoogleAccountLogin.java | 33 | ||||
| -rw-r--r-- | src/com/android/browser/PreferenceKeys.java | 1 | ||||
| -rw-r--r-- | src/com/android/browser/preferences/DebugPreferencesFragment.java | 17 |
3 files changed, 30 insertions, 21 deletions
diff --git a/src/com/android/browser/GoogleAccountLogin.java b/src/com/android/browser/GoogleAccountLogin.java index 93996cdb1..cd963464c 100644 --- a/src/com/android/browser/GoogleAccountLogin.java +++ b/src/com/android/browser/GoogleAccountLogin.java @@ -16,12 +16,6 @@ package com.android.browser; -import org.apache.http.HttpEntity; -import org.apache.http.HttpResponse; -import org.apache.http.HttpStatus; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.util.EntityUtils; - import android.accounts.Account; import android.accounts.AccountManager; import android.accounts.AccountManagerCallback; @@ -35,13 +29,17 @@ import android.content.SharedPreferences.Editor; import android.net.Uri; import android.net.http.AndroidHttpClient; import android.os.Bundle; -import android.os.Handler; -import android.preference.PreferenceManager; import android.util.Log; import android.webkit.CookieSyncManager; import android.webkit.WebView; import android.webkit.WebViewClient; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.HttpStatus; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.util.EntityUtils; + public class GoogleAccountLogin implements Runnable, AccountManagerCallback<Bundle>, OnCancelListener { @@ -56,14 +54,11 @@ public class GoogleAccountLogin implements Runnable, // Google account type private static final String GOOGLE = "com.google"; // Last auto login time - private static final String PREF_AUTOLOGIN_TIME = "last_autologin_time"; + public static final String PREF_AUTOLOGIN_TIME = "last_autologin_time"; private final Activity mActivity; private final Account mAccount; private final WebView mWebView; - // Does not matter if this is initialized in a non-ui thread. - // Dialog.dismiss() will post to the right handler. - private final Handler mHandler = new Handler(); private Runnable mRunnable; private ProgressDialog mProgressDialog; @@ -93,15 +88,13 @@ public class GoogleAccountLogin implements Runnable, } @Override public void onPageFinished(WebView view, String url) { - saveLoginTime(); done(); } }); } private void saveLoginTime() { - Editor ed = PreferenceManager. - getDefaultSharedPreferences(mActivity).edit(); + Editor ed = BrowserSettings.getInstance().getPreferences().edit(); ed.putLong(PREF_AUTOLOGIN_TIME, System.currentTimeMillis()); ed.apply(); } @@ -228,7 +221,7 @@ public class GoogleAccountLogin implements Runnable, public static void startLoginIfNeeded(Activity activity, Runnable runnable) { // Already logged in? - if (isLoggedIn(activity)) { + if (isLoggedIn()) { runnable.run(); return; } @@ -246,6 +239,7 @@ public class GoogleAccountLogin implements Runnable, } private void startLogin() { + saveLoginTime(); mProgressDialog = ProgressDialog.show(mActivity, mActivity.getString(R.string.pref_autologin_title), mActivity.getString(R.string.pref_autologin_progress, @@ -263,11 +257,10 @@ public class GoogleAccountLogin implements Runnable, } // Checks if we already did pre-login. - private static boolean isLoggedIn(Context ctx) { + private static boolean isLoggedIn() { // See if we last logged in less than a week ago. - long lastLogin = PreferenceManager. - getDefaultSharedPreferences(ctx). - getLong(PREF_AUTOLOGIN_TIME, -1); + long lastLogin = BrowserSettings.getInstance().getPreferences() + .getLong(PREF_AUTOLOGIN_TIME, -1); if (lastLogin == -1) { return false; } diff --git a/src/com/android/browser/PreferenceKeys.java b/src/com/android/browser/PreferenceKeys.java index 41747324a..ce8ec9f79 100644 --- a/src/com/android/browser/PreferenceKeys.java +++ b/src/com/android/browser/PreferenceKeys.java @@ -70,6 +70,7 @@ public interface PreferenceKeys { static final String PREF_NORMAL_LAYOUT = "normal_layout"; static final String PREF_SMALL_SCREEN = "small_screen"; static final String PREF_WIDE_VIEWPORT = "wide_viewport"; + static final String PREF_RESET_PRELOGIN = "reset_prelogin"; // ---------------------- // Keys for lab_preferences.xml diff --git a/src/com/android/browser/preferences/DebugPreferencesFragment.java b/src/com/android/browser/preferences/DebugPreferencesFragment.java index 984c12a9b..566eee216 100644 --- a/src/com/android/browser/preferences/DebugPreferencesFragment.java +++ b/src/com/android/browser/preferences/DebugPreferencesFragment.java @@ -18,6 +18,7 @@ package com.android.browser.preferences; import com.android.browser.BrowserActivity; import com.android.browser.BrowserSettings; +import com.android.browser.GoogleAccountLogin; import com.android.browser.PreferenceKeys; import com.android.browser.R; @@ -25,10 +26,11 @@ import android.content.Intent; import android.os.Bundle; import android.preference.Preference; import android.preference.Preference.OnPreferenceChangeListener; +import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceFragment; public class DebugPreferencesFragment extends PreferenceFragment - implements OnPreferenceChangeListener { + implements OnPreferenceChangeListener, OnPreferenceClickListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -38,6 +40,8 @@ public class DebugPreferencesFragment extends PreferenceFragment Preference e = findPreference(PreferenceKeys.PREF_ENABLE_HARDWARE_ACCEL); e.setOnPreferenceChangeListener(this); + e = findPreference(PreferenceKeys.PREF_RESET_PRELOGIN); + e.setOnPreferenceClickListener(this); } @Override @@ -47,4 +51,15 @@ public class DebugPreferencesFragment extends PreferenceFragment getActivity(), BrowserActivity.class)); return true; } + + @Override + public boolean onPreferenceClick(Preference preference) { + if (PreferenceKeys.PREF_RESET_PRELOGIN.equals(preference.getKey())) { + BrowserSettings.getInstance().getPreferences().edit() + .remove(GoogleAccountLogin.PREF_AUTOLOGIN_TIME) + .apply(); + return true; + } + return false; + } } |
