diff options
author | Bijan Amirzada <bijana@codeaurora.org> | 2014-03-21 12:12:18 -0700 |
---|---|---|
committer | Bijan Amirzada <bijana@codeaurora.org> | 2014-03-21 15:49:20 -0700 |
commit | 41242f2ff13293612786e7550a934ee13d5f6b50 (patch) | |
tree | e75b2e10dddacf6fe76d45e8546e9d2472c84015 /src/com/android/browser/WebViewTimersControl.java | |
parent | a9a5a583503419d8794356f1a3e515db05bda8d0 (diff) | |
download | android_packages_apps_Gello-41242f2ff13293612786e7550a934ee13d5f6b50.tar.gz android_packages_apps_Gello-41242f2ff13293612786e7550a934ee13d5f6b50.tar.bz2 android_packages_apps_Gello-41242f2ff13293612786e7550a934ee13d5f6b50.zip |
Change SWE app properties back to stock Android
- Changed project package name from com.android.swe.browser
back to com.android.browser along with code references to
old package name.
- Changes to AndroidManifest making it conform closer to stock
browser manifest.
- Changed app and apk name back to Browser.
Change-Id: I778ee1d1197bd50bd4a4850eef6d1d7f4ef0ad0b
Diffstat (limited to 'src/com/android/browser/WebViewTimersControl.java')
-rw-r--r-- | src/com/android/browser/WebViewTimersControl.java | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/src/com/android/browser/WebViewTimersControl.java b/src/com/android/browser/WebViewTimersControl.java new file mode 100644 index 00000000..ac74fa1a --- /dev/null +++ b/src/com/android/browser/WebViewTimersControl.java @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.android.browser; + +import android.os.Looper; +import android.util.Log; +import org.codeaurora.swe.WebView; + +/** + * Centralised point for controlling WebView timers pausing and resuming. + * + * All methods on this class should only be called from the UI thread. + */ +public class WebViewTimersControl { + + private static final boolean LOGD_ENABLED = com.android.browser.Browser.LOGD_ENABLED; + private static final String LOGTAG = "WebViewTimersControl"; + + private static WebViewTimersControl sInstance; + + private boolean mBrowserActive; + private boolean mPrerenderActive; + + /** + * Get the static instance. Must be called from UI thread. + */ + public static WebViewTimersControl getInstance() { + if (Looper.myLooper() != Looper.getMainLooper()) { + throw new IllegalStateException("WebViewTimersControl.get() called on wrong thread"); + } + if (sInstance == null) { + sInstance = new WebViewTimersControl(); + } + return sInstance; + } + + private WebViewTimersControl() { + } + + private void resumeTimers(WebView wv) { + if (LOGD_ENABLED) Log.d(LOGTAG, "Resuming webview timers, view=" + wv); + if (wv != null) { + wv.resumeTimers(); + } + } + + private void maybePauseTimers(WebView wv) { + if (!mBrowserActive && !mPrerenderActive && wv != null) { + if (LOGD_ENABLED) Log.d(LOGTAG, "Pausing webview timers, view=" + wv); + wv.pauseTimers(); + } + } + + public void onBrowserActivityResume(WebView wv) { + if (LOGD_ENABLED) Log.d(LOGTAG, "onBrowserActivityResume"); + mBrowserActive = true; + resumeTimers(wv); + } + + public void onBrowserActivityPause(WebView wv) { + if (LOGD_ENABLED) Log.d(LOGTAG, "onBrowserActivityPause"); + mBrowserActive = false; + maybePauseTimers(wv); + } + + public void onPrerenderStart(WebView wv) { + if (LOGD_ENABLED) Log.d(LOGTAG, "onPrerenderStart"); + mPrerenderActive = true; + resumeTimers(wv); + } + + public void onPrerenderDone(WebView wv) { + if (LOGD_ENABLED) Log.d(LOGTAG, "onPrerenderDone"); + mPrerenderActive = false; + maybePauseTimers(wv); + } + +} |