diff options
Diffstat (limited to 'src/com/android/browser')
-rw-r--r-- | src/com/android/browser/BrowserActivity.java | 6 | ||||
-rw-r--r-- | src/com/android/browser/Controller.java | 23 | ||||
-rw-r--r-- | src/com/android/browser/GoogleAccountLogin.java | 7 |
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) { |