summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/NavScreen.java
diff options
context:
space:
mode:
authorMichael Kolb <kolby@google.com>2011-04-22 16:13:02 -0700
committerMichael Kolb <kolby@google.com>2011-04-25 11:06:06 -0700
commit08a687a75ef5164483ccfb3e144772c59bb14d83 (patch)
treeb623a31dcfa2a9cf74016b5673cbc67497c5fc26 /src/com/android/browser/NavScreen.java
parent40badf29facf6b5ca894a092062cc27897d2b434 (diff)
downloadandroid_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.java29
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);