diff options
author | Michael Jurka <mikejurka@google.com> | 2011-02-24 11:19:57 -0800 |
---|---|---|
committer | Michael Jurka <mikejurka@google.com> | 2011-03-02 14:48:28 -0800 |
commit | 2763be3150d429d338b9848286e9365b4052c100 (patch) | |
tree | 2f3878467b76a80790eed214e422e086f29e5fae /src/com/android/launcher2/AllAppsTabbed.java | |
parent | d72b048e207b8577b36f8c9a685a70046c3c5f58 (diff) | |
download | android_packages_apps_Trebuchet-2763be3150d429d338b9848286e9365b4052c100.tar.gz android_packages_apps_Trebuchet-2763be3150d429d338b9848286e9365b4052c100.tar.bz2 android_packages_apps_Trebuchet-2763be3150d429d338b9848286e9365b4052c100.zip |
Improving performance of All Apps transition
- increased perf ~8fps using hardware layers
Change-Id: Ic6a2c23e9182fdb1ee362cbd72f7813f4e9accf0
Diffstat (limited to 'src/com/android/launcher2/AllAppsTabbed.java')
-rw-r--r-- | src/com/android/launcher2/AllAppsTabbed.java | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/com/android/launcher2/AllAppsTabbed.java b/src/com/android/launcher2/AllAppsTabbed.java index 47a5bf7fc..36594dd34 100644 --- a/src/com/android/launcher2/AllAppsTabbed.java +++ b/src/com/android/launcher2/AllAppsTabbed.java @@ -29,16 +29,19 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; +import android.view.ViewGroup; import android.widget.TabHost; import android.widget.TabWidget; import android.widget.TextView; +import android.widget.TabHost.OnTabChangeListener; +import android.widget.TabHost.TabContentFactory; import java.util.ArrayList; /** * Implements a tabbed version of AllApps2D. */ -public class AllAppsTabbed extends TabHost implements AllAppsView { +public class AllAppsTabbed extends TabHost implements AllAppsView, LauncherAnimatable { private static final String TAG = "Launcher.AllAppsTabbed"; @@ -46,6 +49,7 @@ public class AllAppsTabbed extends TabHost implements AllAppsView { private static final String TAG_DOWNLOADED = "DOWNLOADED"; private AllAppsPagedView mAllApps; + private View mTabBar; private Context mContext; private final LayoutInflater mInflater; private boolean mFirstLayout = true; @@ -64,6 +68,8 @@ public class AllAppsTabbed extends TabHost implements AllAppsView { try { mAllApps = (AllAppsPagedView) findViewById(R.id.all_apps_paged_view); if (mAllApps == null) throw new Resources.NotFoundException(); + mTabBar = findViewById(R.id.all_apps_tab_bar); + if (mTabBar == null) throw new Resources.NotFoundException(); } catch (Resources.NotFoundException e) { Log.e(TAG, "Can't find necessary layout elements for AllAppsTabbed"); } @@ -164,6 +170,28 @@ public class AllAppsTabbed extends TabHost implements AllAppsView { } @Override + public void setFastAlpha(float alpha) { + final ViewGroup allAppsParent = (ViewGroup) mAllApps.getParent(); + final ViewGroup tabBarParent = (ViewGroup) mAllApps.getParent(); + mAllApps.setFastAlpha(alpha); + allAppsParent.fastInvalidate(); + mTabBar.setFastAlpha(alpha); + tabBarParent.fastInvalidate(); + } + + @Override + public void onLauncherAnimationStart() { + mTabBar.setLayerType(LAYER_TYPE_HARDWARE, null); + mAllApps.setLayerType(LAYER_TYPE_HARDWARE, null); + } + + @Override + public void onLauncherAnimationEnd() { + mTabBar.setLayerType(LAYER_TYPE_NONE, null); + mAllApps.setLayerType(LAYER_TYPE_NONE, null); + } + + @Override public void setApps(ArrayList<ApplicationInfo> list) { mAllApps.setApps(list); } |