diff options
-rw-r--r-- | include/surfaceflinger/Surface.h | 6 | ||||
-rw-r--r-- | libs/gui/Surface.cpp | 4 | ||||
-rw-r--r-- | services/camera/libcameraservice/CameraService.cpp | 14 | ||||
-rw-r--r-- | services/camera/libcameraservice/CameraService.h | 6 | ||||
-rw-r--r-- | services/surfaceflinger/tests/resize/resize.cpp | 7 |
5 files changed, 6 insertions, 31 deletions
diff --git a/include/surfaceflinger/Surface.h b/include/surfaceflinger/Surface.h index a59d9e5..3923e61 100644 --- a/include/surfaceflinger/Surface.h +++ b/include/surfaceflinger/Surface.h @@ -102,10 +102,6 @@ private: friend class Test; // videoEditor preview classes friend class VideoEditorPreviewController; - - const sp<ISurface>& getISurface() const { return mSurface; } - - friend class Surface; SurfaceControl( @@ -169,6 +165,7 @@ public: // setSwapRectangle() is intended to be used by GL ES clients void setSwapRectangle(const Rect& r); + sp<IBinder> asBinder() const; private: /* @@ -242,7 +239,6 @@ private: */ void init(); status_t validate(bool inCancelBuffer = false) const; - sp<ISurface> getISurface() const; // When the buffer pool is a fixed size we want to make sure SurfaceFlinger // won't stall clients, so we require an extra buffer. diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp index 0dfbf01..44d9b4b 100644 --- a/libs/gui/Surface.cpp +++ b/libs/gui/Surface.cpp @@ -502,8 +502,8 @@ status_t Surface::validate(bool inCancelBuffer) const return NO_ERROR; } -sp<ISurface> Surface::getISurface() const { - return mSurface; +sp<IBinder> Surface::asBinder() const { + return mSurface!=0 ? mSurface->asBinder() : 0; } // ---------------------------------------------------------------------------- diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp index f3c9959..7e3c643 100644 --- a/services/camera/libcameraservice/CameraService.cpp +++ b/services/camera/libcameraservice/CameraService.cpp @@ -472,15 +472,15 @@ status_t CameraService::Client::setPreviewDisplay(const sp<Surface>& surface) { result = NO_ERROR; // return if no change in surface. - // asBinder() is safe on NULL (returns NULL) - if (getISurface(surface)->asBinder() == mSurface) { + sp<IBinder> binder(surface != 0 ? surface->asBinder() : 0); + if (binder == mSurface) { return result; } if (mSurface != 0) { LOG1("clearing old preview surface %p", mSurface.get()); } - mSurface = getISurface(surface)->asBinder(); + mSurface = binder; mPreviewWindow = surface; // If preview has been already started, register preview @@ -1241,12 +1241,4 @@ status_t CameraService::dump(int fd, const Vector<String16>& args) { return NO_ERROR; } -sp<ISurface> CameraService::getISurface(const sp<Surface>& surface) { - if (surface != 0) { - return surface->getISurface(); - } else { - return sp<ISurface>(0); - } -} - }; // namespace android diff --git a/services/camera/libcameraservice/CameraService.h b/services/camera/libcameraservice/CameraService.h index 28e8cc0..9a9ab0e 100644 --- a/services/camera/libcameraservice/CameraService.h +++ b/services/camera/libcameraservice/CameraService.h @@ -79,12 +79,6 @@ private: sp<MediaPlayer> mSoundPlayer[NUM_SOUNDS]; int mSoundRef; // reference count (release all MediaPlayer when 0) - // Used by Client objects to extract the ISurface from a Surface object. - // This is used because making Client a friend class of Surface would - // require including this header in Surface.h since Client is a nested - // class. - static sp<ISurface> getISurface(const sp<Surface>& surface); - class Client : public BnCamera { public: diff --git a/services/surfaceflinger/tests/resize/resize.cpp b/services/surfaceflinger/tests/resize/resize.cpp index 0ccca77..18c54b3 100644 --- a/services/surfaceflinger/tests/resize/resize.cpp +++ b/services/surfaceflinger/tests/resize/resize.cpp @@ -29,13 +29,6 @@ using namespace android; namespace android { -class Test { -public: - static const sp<ISurface>& getISurface(const sp<Surface>& s) { - return s->getISurface(); - } -}; -}; int main(int argc, char** argv) { |