diff --git a/include/ui/Surface.h b/include/ui/Surface.h
index d92da49..1637961 100644
--- a/include/ui/Surface.h
+++ b/include/ui/Surface.h
@@ -90,9 +90,15 @@
         uint32_t    reserved[2];
     };
 
-    bool        isValid() const { return this && mToken>=0 && mClient!=0; }
+    static bool isValid(const sp<Surface>& surface) {
+        return (surface != 0) && surface->mToken>=0 && surface->mClient!=0;
+    }
+        
     SurfaceID   ID() const      { return mToken; }
 
+    // release surface data from java
+    void        clear();
+
     status_t    lock(SurfaceInfo* info, bool blocking = true);
     status_t    lock(SurfaceInfo* info, Region* dirty, bool blocking = true);
     status_t    unlockAndPost();
@@ -103,7 +109,6 @@
     void        setSwapRectangle(const Rect& r);
     const Rect& swapRectangle() const;
 
-    sp<Surface>         dup() const;
     static sp<Surface>  readFromParcel(Parcel* parcel);
     static status_t     writeToParcel(const sp<Surface>& surface, Parcel* parcel);
     static bool         isSameSurface(const sp<Surface>& lhs, const sp<Surface>& rhs);
@@ -149,6 +154,8 @@
 
     ~Surface();
     
+    void destroy();
+
     Region dirtyRegion() const;
     void setDirtyRegion(const Region& region) const;
 
