summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoris Liu <tianliu@google.com>2014-03-10 15:39:01 -0700
committerDoris Liu <tianliu@google.com>2014-03-10 15:39:01 -0700
commit8676e7802fb40f64a3b465c9b5e1a0a1ada9f699 (patch)
tree24ee8716f8b21b8c011600b84e8209e60f51ad20
parent597c1a093f840af3c42e00af05da01ef124dc846 (diff)
downloadandroid_packages_apps_Camera2-8676e7802fb40f64a3b465c9b5e1a0a1ada9f699.tar.gz
android_packages_apps_Camera2-8676e7802fb40f64a3b465c9b5e1a0a1ada9f699.tar.bz2
android_packages_apps_Camera2-8676e7802fb40f64a3b465c9b5e1a0a1ada9f699.zip
Fix shimmy cold start jank
Bug: 13392593 Change-Id: I08a45bad9fc93a284a9966fa8aa8c6e13e674ae5
-rw-r--r--src/com/android/camera/ui/ModeListView.java2
-rw-r--r--src/com/android/camera/ui/ModeSelectorItem.java16
2 files changed, 11 insertions, 7 deletions
diff --git a/src/com/android/camera/ui/ModeListView.java b/src/com/android/camera/ui/ModeListView.java
index fb5e2ed3f..013ce10c7 100644
--- a/src/com/android/camera/ui/ModeListView.java
+++ b/src/com/android/camera/ui/ModeListView.java
@@ -541,6 +541,8 @@ public class ModeListView extends FrameLayout
});
}
});
+ // The mode list is initialized to be all the way closed.
+ onModeListOpenRatioUpdate(0);
}
/**
diff --git a/src/com/android/camera/ui/ModeSelectorItem.java b/src/com/android/camera/ui/ModeSelectorItem.java
index 941b026b8..c23641d64 100644
--- a/src/com/android/camera/ui/ModeSelectorItem.java
+++ b/src/com/android/camera/ui/ModeSelectorItem.java
@@ -52,7 +52,7 @@ class ModeSelectorItem extends FrameLayout {
private TextView mText;
private ModeIconView mIcon;
- private int mVisibleWidth;
+ private int mVisibleWidth = 0;
private final int mMinVisibleWidth;
private VisibleWidthChangedListener mListener = null;
@@ -203,12 +203,6 @@ class ModeSelectorItem extends FrameLayout {
mListener.onVisibleWidthChanged(newWidth);
}
}
- float transX = 0f;
- // If the given width is less than the icon width, we need to translate icon
- if (mVisibleWidth < mMinVisibleWidth + mIcon.getLeft()) {
- transX = mMinVisibleWidth + mIcon.getLeft() - mVisibleWidth;
- }
- setTranslationX(-transX);
invalidate();
}
@@ -229,7 +223,15 @@ class ModeSelectorItem extends FrameLayout {
*/
@Override
public void draw(Canvas canvas) {
+ float transX = 0f;
+ // If the given width is less than the icon width, we need to translate icon
+ if (mVisibleWidth < mMinVisibleWidth + mIcon.getLeft()) {
+ transX = mMinVisibleWidth + mIcon.getLeft() - mVisibleWidth;
+ }
+ canvas.save();
+ canvas.translate(-transX, 0);
super.draw(canvas);
+ canvas.restore();
}
/**