summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2010-10-13 17:22:51 -0700
committerWinson Chung <winsonc@google.com>2010-10-13 18:08:29 -0700
commit8e4ec3141515b20fd89ff874fffd4e0aba247719 (patch)
tree1e31586d70dc2c93f3828b7e1335529baad1c0e4 /src/com
parenta7825f8ce6118f5c95ea9944a3bb2a2267710ed3 (diff)
downloadandroid_packages_apps_Trebuchet-8e4ec3141515b20fd89ff874fffd4e0aba247719.tar.gz
android_packages_apps_Trebuchet-8e4ec3141515b20fd89ff874fffd4e0aba247719.tar.bz2
android_packages_apps_Trebuchet-8e4ec3141515b20fd89ff874fffd4e0aba247719.zip
Setting children alpha for widget-customization layout for performance.
Change-Id: Ic7f672b06971df867db8af326d1334d1d3f4c102
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/launcher2/CustomizePagedView.java23
-rw-r--r--src/com/android/launcher2/PagedViewWidgetLayout.java71
2 files changed, 72 insertions, 22 deletions
diff --git a/src/com/android/launcher2/CustomizePagedView.java b/src/com/android/launcher2/CustomizePagedView.java
index 93aa10965..6b7aa98cb 100644
--- a/src/com/android/launcher2/CustomizePagedView.java
+++ b/src/com/android/launcher2/CustomizePagedView.java
@@ -66,27 +66,6 @@ public class CustomizePagedView extends PagedView
ApplicationCustomization
}
- /**
- * The linear layout used strictly for the widget tab of the customization tray
- */
- private class WidgetLayout extends LinearLayout {
- public WidgetLayout(Context context) {
- super(context);
- }
-
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- // We eat up the touch events here, since the PagedView (which uses the same swiping
- // touch code as Workspace previously) uses onInterceptTouchEvent() to determine when
- // the user is scrolling between pages. This means that if the pages themselves don't
- // handle touch events, it gets forwarded up to PagedView itself, and it's own
- // onTouchEvent() handling will prevent further intercept touch events from being called
- // (it's the same view in that case). This is not ideal, but to prevent more changes,
- // we just always mark the touch event as handled.
- return super.onTouchEvent(event) || true;
- }
- }
-
private static final String TAG = "CustomizeWorkspace";
private static final boolean DEBUG = false;
@@ -593,7 +572,7 @@ public class CustomizePagedView extends PagedView
removeAllViews();
int numPages = relayoutWidgets();
for (int i = 0; i < numPages; ++i) {
- LinearLayout layout = new WidgetLayout(getContext());
+ LinearLayout layout = new PagedViewWidgetLayout(getContext());
layout.setGravity(Gravity.CENTER_HORIZONTAL);
// Temporary change to prevent the last page from being too small (and items bleeding
diff --git a/src/com/android/launcher2/PagedViewWidgetLayout.java b/src/com/android/launcher2/PagedViewWidgetLayout.java
new file mode 100644
index 000000000..4666873ce
--- /dev/null
+++ b/src/com/android/launcher2/PagedViewWidgetLayout.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2010 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.launcher2;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.widget.LinearLayout;
+
+/**
+ * The linear layout used strictly for the widget tab of the customization tray
+ */
+public class PagedViewWidgetLayout extends LinearLayout {
+ static final String TAG = "PagedViewWidgetLayout";
+
+ public PagedViewWidgetLayout(Context context) {
+ this(context, null);
+ }
+
+ public PagedViewWidgetLayout(Context context, AttributeSet attrs) {
+ this(context, attrs, 0);
+ }
+
+ public PagedViewWidgetLayout(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ }
+
+ @Override
+ public boolean onTouchEvent(MotionEvent event) {
+ // We eat up the touch events here, since the PagedView (which uses the same swiping
+ // touch code as Workspace previously) uses onInterceptTouchEvent() to determine when
+ // the user is scrolling between pages. This means that if the pages themselves don't
+ // handle touch events, it gets forwarded up to PagedView itself, and it's own
+ // onTouchEvent() handling will prevent further intercept touch events from being called
+ // (it's the same view in that case). This is not ideal, but to prevent more changes,
+ // we just always mark the touch event as handled.
+ return super.onTouchEvent(event) || true;
+ }
+
+ @Override
+ protected boolean onSetAlpha(int alpha) {
+ return true;
+ }
+
+ @Override
+ public void setAlpha(float alpha) {
+ setChildrenAlpha(alpha);
+ super.setAlpha(alpha);
+ }
+
+ private void setChildrenAlpha(float alpha) {
+ final int childCount = getChildCount();
+ for (int i = 0; i < childCount; i++) {
+ getChildAt(i).setAlpha(alpha);
+ }
+ }
+}