diff options
author | Michael Kolb <kolby@google.com> | 2011-04-22 16:13:02 -0700 |
---|---|---|
committer | Michael Kolb <kolby@google.com> | 2011-04-25 11:06:06 -0700 |
commit | 08a687a75ef5164483ccfb3e144772c59bb14d83 (patch) | |
tree | b623a31dcfa2a9cf74016b5673cbc67497c5fc26 /src/com/android/browser/NavScreen.java | |
parent | 40badf29facf6b5ca894a092062cc27897d2b434 (diff) | |
download | android_packages_apps_Gello-08a687a75ef5164483ccfb3e144772c59bb14d83.tar.gz android_packages_apps_Gello-08a687a75ef5164483ccfb3e144772c59bb14d83.tar.bz2 android_packages_apps_Gello-08a687a75ef5164483ccfb3e144772c59bb14d83.zip |
smooth navscreen animation
Change-Id: I87bfba8a18a1aaeffa95d15e4ddb4313dd2752d9
Diffstat (limited to 'src/com/android/browser/NavScreen.java')
-rw-r--r-- | src/com/android/browser/NavScreen.java | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/src/com/android/browser/NavScreen.java b/src/com/android/browser/NavScreen.java index a1fa639b..8cc2271c 100644 --- a/src/com/android/browser/NavScreen.java +++ b/src/com/android/browser/NavScreen.java @@ -34,13 +34,13 @@ import android.widget.FrameLayout; import android.widget.Gallery; import android.widget.ImageButton; import android.widget.ImageView; -import android.widget.ImageView.ScaleType; import android.widget.LinearLayout; import android.widget.ListPopupWindow; import android.widget.TextView; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.Semaphore; public class NavScreen extends LinearLayout implements OnClickListener { @@ -65,8 +65,7 @@ public class NavScreen extends LinearLayout implements OnClickListener { int mTabHeight; TabAdapter mAdapter; ListPopupWindow mPopup; - - boolean mReady; + Semaphore mLock; public NavScreen(Activity activity, UiController ctl, PhoneUi ui) { super(activity); @@ -86,6 +85,30 @@ public class NavScreen extends LinearLayout implements OnClickListener { requestLayout(); } + protected synchronized void startTask(Runnable r) { + Thread task = new Thread(r); + mLock = new Semaphore(1); + try { + mLock.acquire(); + } catch (InterruptedException e) { + } + task.start(); + } + + protected synchronized void finishTask() { + mLock.release(); + } + + protected synchronized void waitForTask() { + if (mLock != null) { + try { + mLock.acquire(); + } catch (InterruptedException e) { + } + } + mLock = null; + } + protected void showMenu() { Menu menu = mUi.getMenu(); menu.setGroupVisible(R.id.NAV_MENU, false); |