Make all drawing happens in background.
Also move more rendering code to SlotRenderers (AlbumSetView and AlbumView).
Change-Id: I1d678711bfd3655a48bb4b99d8ca175e088bdffb
diff --git a/src/com/android/gallery3d/ui/SlotView.java b/src/com/android/gallery3d/ui/SlotView.java
index e12bb08..aef97a4 100644
--- a/src/com/android/gallery3d/ui/SlotView.java
+++ b/src/com/android/gallery3d/ui/SlotView.java
@@ -55,6 +55,7 @@
public static interface SlotRenderer {
public void prepareDrawing();
public void onVisibleRangeChanged(int visibleStart, int visibleEnd);
+ public void onSlotSizeChanged(int width, int height);
public int renderSlot(GLCanvas canvas, int index, int pass, int width, int height);
}
@@ -94,6 +95,7 @@
public void setSlotRenderer(SlotRenderer slotDrawer) {
mRenderer = slotDrawer;
if (mRenderer != null) {
+ mRenderer.onSlotSizeChanged(mLayout.mSlotWidth, mLayout.mSlotHeight);
mRenderer.onVisibleRangeChanged(getVisibleStart(), getVisibleEnd());
}
}
@@ -512,6 +514,10 @@
mSlotWidth = mSlotHeight;
}
+ if (mRenderer != null) {
+ mRenderer.onSlotSizeChanged(mSlotWidth, mSlotHeight);
+ }
+
int[] padding = new int[2];
if (WIDE) {
initLayoutParameters(mWidth, mHeight, mSlotWidth, mSlotHeight, padding);