am 20df7c7d: Fix white square bug when new apps are added while home is not active.

Merge commit '20df7c7d7212a5208b016861d652d6d15f6c760e' into eclair-mr2

* commit '20df7c7d7212a5208b016861d652d6d15f6c760e':
  Fix white square bug when new apps are added while home is not active.
This commit is contained in:
Jason Sams
2009-11-05 13:54:51 -08:00
committed by Android Git Automerger
+27 -6
View File
@@ -158,6 +158,7 @@ public class AllAppsView extends RSSurfaceView
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
super.surfaceDestroyed(holder);
mRollo.mHasSurface = false;
}
@Override
@@ -171,11 +172,15 @@ public class AllAppsView extends RSSurfaceView
mRS = createRenderScript(true);
mRollo = new RolloRS();
mRollo.mHasSurface = true;
mRollo.init(getResources(), w, h);
if (mAllAppsList != null) {
mRollo.setApps(mAllAppsList);
Log.d(TAG, "surfaceChanged... calling mRollo.setApps");
}
} else {
mRollo.mHasSurface = true;
mRollo.dirtyCheck();
}
Resources res = getContext().getResources();
@@ -672,6 +677,8 @@ public class AllAppsView extends RSSurfaceView
private Bitmap mSelectionBitmap;
private Canvas mSelectionCanvas;
boolean mHasSurface = false;
private boolean mAppsDirty = false;
Params mParams;
State mState;
@@ -922,6 +929,20 @@ public class AllAppsView extends RSSurfaceView
mRS.contextBindRootScript(mScript);
}
private void uploadApps(ArrayList<ApplicationInfo> list) {
for (int i=0; i < mState.iconCount; i++) {
uploadAppIcon(i, list.get(i));
}
}
void dirtyCheck() {
if (mAppsDirty && mHasSurface) {
uploadApps(mAllAppsList);
saveAppsList();
mAppsDirty = false;
}
}
private void setApps(ArrayList<ApplicationInfo> list) {
final int count = list != null ? list.size() : 0;
int allocCount = count;
@@ -941,12 +962,8 @@ public class AllAppsView extends RSSurfaceView
Utilities.BubbleText bubble = new Utilities.BubbleText(getContext());
for (int i=0; i<count; i++) {
uploadAppIcon(i, list.get(i));
}
mState.iconCount = count;
uploadApps(list);
saveAppsList();
}
@@ -1021,7 +1038,11 @@ public class AllAppsView extends RSSurfaceView
System.arraycopy(mLabels, index, mLabels, dest, count);
System.arraycopy(mLabelIds, index, mLabelIds, dest, count);
uploadAppIcon(index, item);
if (mHasSurface ) {
uploadAppIcon(index, item);
} else {
mAppsDirty = true;
}
}
/**