summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/browser/BrowserActivity.java6
-rw-r--r--src/com/android/browser/Controller.java23
-rw-r--r--src/com/android/browser/GoogleAccountLogin.java7
3 files changed, 27 insertions, 9 deletions
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index 8c38e59..3c025d2 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -253,6 +253,12 @@ public class BrowserActivity extends Activity {
}
@Override
+ public boolean onKeyLongPress(int keyCode, KeyEvent event) {
+ return mController.onKeyLongPress(keyCode, event) ||
+ super.onKeyLongPress(keyCode, event);
+ }
+
+ @Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
return mController.onKeyUp(keyCode, event) ||
super.onKeyUp(keyCode, event);
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index da98a1c..c1f1313 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -2489,15 +2489,8 @@ public class Controller
return true;
case KeyEvent.KEYCODE_BACK:
if (!noModifiers) break;
- if (event.getRepeatCount() == 0) {
- event.startTracking();
- return true;
- } else if (mUi.showsWeb()
- && event.isLongPress()) {
- bookmarksOrHistoryPicker(true);
- return true;
- }
- break;
+ event.startTracking();
+ return true;
case KeyEvent.KEYCODE_DPAD_LEFT:
if (ctrl) {
webView.goBack();
@@ -2562,6 +2555,18 @@ public class Controller
return mUi.dispatchKey(keyCode, event);
}
+ boolean onKeyLongPress(int keyCode, KeyEvent event) {
+ switch(keyCode) {
+ case KeyEvent.KEYCODE_BACK:
+ if (mUi.showsWeb()) {
+ bookmarksOrHistoryPicker(true);
+ return true;
+ }
+ break;
+ }
+ return false;
+ }
+
boolean onKeyUp(int keyCode, KeyEvent event) {
if (!event.hasNoModifiers()) return false;
switch(keyCode) {
diff --git a/src/com/android/browser/GoogleAccountLogin.java b/src/com/android/browser/GoogleAccountLogin.java
index 3712490..f4ccfd1 100644
--- a/src/com/android/browser/GoogleAccountLogin.java
+++ b/src/com/android/browser/GoogleAccountLogin.java
@@ -41,6 +41,7 @@ import android.os.Handler;
import android.preference.PreferenceManager;
import android.util.Log;
import android.webkit.CookieManager;
+import android.webkit.CookieSyncManager;
import android.webkit.WebView;
import android.webkit.WebViewClient;
@@ -86,6 +87,12 @@ public class GoogleAccountLogin implements Runnable,
mWebView = new WebView(mActivity);
mRunnable = runnable;
+ // XXX: Doing pre-login causes onResume to skip calling
+ // resumeWebViewTimers. So to avoid problems with timers not running, we
+ // duplicate the work here using the off-screen WebView.
+ CookieSyncManager.getInstance().startSync();
+ mWebView.resumeTimers();
+
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {