Merge "Add a method to hide/show a SurfaceView's surface." into froyo
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package android.view;
|
package android.view;
|
||||||
|
|
||||||
|
import android.util.DisplayMetrics;
|
||||||
import com.android.internal.view.BaseIWindow;
|
import com.android.internal.view.BaseIWindow;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -213,6 +214,46 @@ public class SurfaceView extends View {
|
|||||||
updateWindow(false);
|
updateWindow(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is not intended for general use. It was created
|
||||||
|
* temporarily to improve performance of 3D layers in Launcher
|
||||||
|
* and should be removed and fixed properly.
|
||||||
|
*
|
||||||
|
* Do not call this method. Ever.
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
protected void showSurface() {
|
||||||
|
if (mSession != null) {
|
||||||
|
updateWindow(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is not intended for general use. It was created
|
||||||
|
* temporarily to improve performance of 3D layers in Launcher
|
||||||
|
* and should be removed and fixed properly.
|
||||||
|
*
|
||||||
|
* Do not call this method. Ever.
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
protected void hideSurface() {
|
||||||
|
if (mSession != null && mWindow != null) {
|
||||||
|
mSurfaceLock.lock();
|
||||||
|
try {
|
||||||
|
DisplayMetrics metrics = getResources().getDisplayMetrics();
|
||||||
|
mLayout.x = metrics.widthPixels * 3;
|
||||||
|
mSession.relayout(mWindow, mLayout, mWidth, mHeight, VISIBLE, false,
|
||||||
|
mWinFrame, mContentInsets, mVisibleInsets, mConfiguration, mSurface);
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
// Ignore
|
||||||
|
} finally {
|
||||||
|
mSurfaceLock.unlock();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onDetachedFromWindow() {
|
protected void onDetachedFromWindow() {
|
||||||
getViewTreeObserver().removeOnScrollChangedListener(mScrollChangedListener);
|
getViewTreeObserver().removeOnScrollChangedListener(mScrollChangedListener);
|
||||||
|
|||||||
Reference in New Issue
Block a user