diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/customization/picker/grid/GridOptionPreviewer.java | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/com/android/customization/picker/grid/GridOptionPreviewer.java b/src/com/android/customization/picker/grid/GridOptionPreviewer.java index 8de08cfd..5cf327ed 100644 --- a/src/com/android/customization/picker/grid/GridOptionPreviewer.java +++ b/src/com/android/customization/picker/grid/GridOptionPreviewer.java @@ -64,16 +64,17 @@ class GridOptionPreviewer { if (mSurfaceCallback != null) { mSurfaceCallback.cleanUp(); mSurfaceCallback.resetLastSurface(); + if (mGridOptionSurface != null) { + mGridOptionSurface.getHolder().removeCallback(mSurfaceCallback); + } } - if (mGridOptionSurface == null) { - mGridOptionSurface = new SurfaceView(mPreviewContainer.getContext()); - mGridOptionSurface.setLayoutParams(new ViewGroup.LayoutParams( - ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); - mGridOptionSurface.setZOrderMediaOverlay(true); - mSurfaceCallback = new GridOptionSurfaceHolderCallback(mGridOptionSurface, - mGridOptionSurface.getContext()); - mGridOptionSurface.getHolder().addCallback(mSurfaceCallback); - } + mGridOptionSurface = new SurfaceView(mPreviewContainer.getContext()); + mGridOptionSurface.setLayoutParams(new ViewGroup.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); + mGridOptionSurface.setZOrderMediaOverlay(true); + mSurfaceCallback = new GridOptionSurfaceHolderCallback(mGridOptionSurface, + mGridOptionSurface.getContext()); + mGridOptionSurface.getHolder().addCallback(mSurfaceCallback); mPreviewContainer.addView(mGridOptionSurface); } |