Loading include/gui/ISurfaceComposer.h +5 −10 Original line number Diff line number Diff line Loading @@ -104,15 +104,11 @@ public: virtual bool authenticateSurfaceTexture( const sp<IGraphicBufferProducer>& surface) const = 0; /* triggers screen off and waits for it to complete /* set display power mode. depending on the mode, it can either trigger * screen on, off or low power mode and wait for it to complete. * requires ACCESS_SURFACE_FLINGER permission. */ virtual void blank(const sp<IBinder>& display) = 0; /* triggers screen on and waits for it to complete * requires ACCESS_SURFACE_FLINGER permission. */ virtual void unblank(const sp<IBinder>& display) = 0; virtual void setPowerMode(const sp<IBinder>& display, int mode) = 0; /* returns information for each configuration of the given display * intended to be used to get information about built-in displays */ Loading Loading @@ -165,15 +161,14 @@ public: GET_BUILT_IN_DISPLAY, SET_TRANSACTION_STATE, AUTHENTICATE_SURFACE, BLANK, UNBLANK, GET_DISPLAY_CONFIGS, GET_ACTIVE_CONFIG, SET_ACTIVE_CONFIG, CONNECT_DISPLAY, CAPTURE_SCREEN, CLEAR_ANIMATION_FRAME_STATS, GET_ANIMATION_FRAME_STATS GET_ANIMATION_FRAME_STATS, SET_POWER_MODE, }; virtual status_t onTransact(uint32_t code, const Parcel& data, Loading include/gui/SurfaceComposerClient.h +2 −5 Original line number Diff line number Diff line Loading @@ -82,11 +82,8 @@ public: // returned by getDisplayInfo static status_t setActiveConfig(const sp<IBinder>& display, int id); /* triggers screen off and waits for it to complete */ static void blankDisplay(const sp<IBinder>& display); /* triggers screen on and waits for it to complete */ static void unblankDisplay(const sp<IBinder>& display); /* Triggers screen on/off or low power mode and waits for it to complete */ static void setDisplayPowerMode(const sp<IBinder>& display, int mode); // ------------------------------------------------------------------------ // surface creation / destruction Loading libs/gui/ISurfaceComposer.cpp +10 −22 Original line number Diff line number Diff line Loading @@ -205,20 +205,13 @@ public: return reply.readStrongBinder(); } virtual void blank(const sp<IBinder>& display) virtual void setPowerMode(const sp<IBinder>& display, int mode) { Parcel data, reply; data.writeInterfaceToken(ISurfaceComposer::getInterfaceDescriptor()); data.writeStrongBinder(display); remote()->transact(BnSurfaceComposer::BLANK, data, &reply); } virtual void unblank(const sp<IBinder>& display) { Parcel data, reply; data.writeInterfaceToken(ISurfaceComposer::getInterfaceDescriptor()); data.writeStrongBinder(display); remote()->transact(BnSurfaceComposer::UNBLANK, data, &reply); data.writeInt32(mode); remote()->transact(BnSurfaceComposer::SET_POWER_MODE, data, &reply); } virtual status_t getDisplayConfigs(const sp<IBinder>& display, Loading Loading @@ -378,18 +371,6 @@ status_t BnSurfaceComposer::onTransact( reply->writeStrongBinder(display); return NO_ERROR; } case BLANK: { CHECK_INTERFACE(ISurfaceComposer, data, reply); sp<IBinder> display = data.readStrongBinder(); blank(display); return NO_ERROR; } case UNBLANK: { CHECK_INTERFACE(ISurfaceComposer, data, reply); sp<IBinder> display = data.readStrongBinder(); unblank(display); return NO_ERROR; } case GET_DISPLAY_CONFIGS: { CHECK_INTERFACE(ISurfaceComposer, data, reply); Vector<DisplayInfo> configs; Loading Loading @@ -434,6 +415,13 @@ status_t BnSurfaceComposer::onTransact( reply->writeInt32(result); return NO_ERROR; } case SET_POWER_MODE: { CHECK_INTERFACE(ISurfaceComposer, data, reply); sp<IBinder> display = data.readStrongBinder(); int32_t mode = data.readInt32(); setPowerMode(display, mode); return NO_ERROR; } default: { return BBinder::onTransact(code, data, reply, flags); } Loading libs/gui/SurfaceComposerClient.cpp +3 −6 Original line number Diff line number Diff line Loading @@ -655,12 +655,9 @@ status_t SurfaceComposerClient::setActiveConfig(const sp<IBinder>& display, int return ComposerService::getComposerService()->setActiveConfig(display, id); } void SurfaceComposerClient::blankDisplay(const sp<IBinder>& token) { ComposerService::getComposerService()->blank(token); } void SurfaceComposerClient::unblankDisplay(const sp<IBinder>& token) { ComposerService::getComposerService()->unblank(token); void SurfaceComposerClient::setDisplayPowerMode(const sp<IBinder>& token, int mode) { ComposerService::getComposerService()->setPowerMode(token, mode); } status_t SurfaceComposerClient::clearAnimationFrameStats() { Loading services/surfaceflinger/DisplayDevice.cpp +12 −16 Original line number Diff line number Diff line Loading @@ -70,9 +70,9 @@ DisplayDevice::DisplayDevice( mPageFlipCount(), mIsSecure(isSecure), mSecureLayerVisible(false), mScreenAcquired(false), mLayerStack(NO_LAYER_STACK), mOrientation() mOrientation(), mPowerMode(HWC_POWER_MODE_OFF) { mNativeWindow = new Surface(producer, false); ANativeWindow* const window = mNativeWindow.get(); Loading Loading @@ -109,7 +109,8 @@ DisplayDevice::DisplayDevice( mFrame.makeInvalid(); // virtual displays are always considered enabled mScreenAcquired = (mType >= DisplayDevice::DISPLAY_VIRTUAL); mPowerMode = (mType >= DisplayDevice::DISPLAY_VIRTUAL) ? HWC_POWER_MODE_NORMAL : HWC_POWER_MODE_OFF; // Name the display. The name will be replaced shortly if the display // was created with createDisplay(). Loading Loading @@ -322,21 +323,16 @@ Region DisplayDevice::getDirtyRegion(bool repaintEverything) const { } // ---------------------------------------------------------------------------- bool DisplayDevice::canDraw() const { return mScreenAcquired; } void DisplayDevice::releaseScreen() const { mScreenAcquired = false; void DisplayDevice::setPowerMode(int mode) { mPowerMode = mode; } void DisplayDevice::acquireScreen() const { mScreenAcquired = true; int DisplayDevice::getPowerMode() const { return mPowerMode; } bool DisplayDevice::isScreenAcquired() const { return mScreenAcquired; bool DisplayDevice::isDisplayOn() const { return (mPowerMode != HWC_POWER_MODE_OFF); } // ---------------------------------------------------------------------------- Loading Loading @@ -465,13 +461,13 @@ void DisplayDevice::dump(String8& result) const { result.appendFormat( "+ DisplayDevice: %s\n" " type=%x, hwcId=%d, layerStack=%u, (%4dx%4d), ANativeWindow=%p, orient=%2d (type=%08x), " "flips=%u, isSecure=%d, secureVis=%d, acquired=%d, numLayers=%zu\n" "flips=%u, isSecure=%d, secureVis=%d, powerMode=%d, numLayers=%zu\n" " v:[%d,%d,%d,%d], f:[%d,%d,%d,%d], s:[%d,%d,%d,%d]," "transform:[[%0.3f,%0.3f,%0.3f][%0.3f,%0.3f,%0.3f][%0.3f,%0.3f,%0.3f]]\n", mDisplayName.string(), mType, mHwcDisplayId, mLayerStack, mDisplayWidth, mDisplayHeight, mNativeWindow.get(), mOrientation, tr.getType(), getPageFlipCount(), mIsSecure, mSecureLayerVisible, mScreenAcquired, mVisibleLayersSortedByZ.size(), mIsSecure, mSecureLayerVisible, mPowerMode, mVisibleLayersSortedByZ.size(), mViewport.left, mViewport.top, mViewport.right, mViewport.bottom, mFrame.left, mFrame.top, mFrame.right, mFrame.bottom, mScissor.left, mScissor.top, mScissor.right, mScissor.bottom, Loading Loading
include/gui/ISurfaceComposer.h +5 −10 Original line number Diff line number Diff line Loading @@ -104,15 +104,11 @@ public: virtual bool authenticateSurfaceTexture( const sp<IGraphicBufferProducer>& surface) const = 0; /* triggers screen off and waits for it to complete /* set display power mode. depending on the mode, it can either trigger * screen on, off or low power mode and wait for it to complete. * requires ACCESS_SURFACE_FLINGER permission. */ virtual void blank(const sp<IBinder>& display) = 0; /* triggers screen on and waits for it to complete * requires ACCESS_SURFACE_FLINGER permission. */ virtual void unblank(const sp<IBinder>& display) = 0; virtual void setPowerMode(const sp<IBinder>& display, int mode) = 0; /* returns information for each configuration of the given display * intended to be used to get information about built-in displays */ Loading Loading @@ -165,15 +161,14 @@ public: GET_BUILT_IN_DISPLAY, SET_TRANSACTION_STATE, AUTHENTICATE_SURFACE, BLANK, UNBLANK, GET_DISPLAY_CONFIGS, GET_ACTIVE_CONFIG, SET_ACTIVE_CONFIG, CONNECT_DISPLAY, CAPTURE_SCREEN, CLEAR_ANIMATION_FRAME_STATS, GET_ANIMATION_FRAME_STATS GET_ANIMATION_FRAME_STATS, SET_POWER_MODE, }; virtual status_t onTransact(uint32_t code, const Parcel& data, Loading
include/gui/SurfaceComposerClient.h +2 −5 Original line number Diff line number Diff line Loading @@ -82,11 +82,8 @@ public: // returned by getDisplayInfo static status_t setActiveConfig(const sp<IBinder>& display, int id); /* triggers screen off and waits for it to complete */ static void blankDisplay(const sp<IBinder>& display); /* triggers screen on and waits for it to complete */ static void unblankDisplay(const sp<IBinder>& display); /* Triggers screen on/off or low power mode and waits for it to complete */ static void setDisplayPowerMode(const sp<IBinder>& display, int mode); // ------------------------------------------------------------------------ // surface creation / destruction Loading
libs/gui/ISurfaceComposer.cpp +10 −22 Original line number Diff line number Diff line Loading @@ -205,20 +205,13 @@ public: return reply.readStrongBinder(); } virtual void blank(const sp<IBinder>& display) virtual void setPowerMode(const sp<IBinder>& display, int mode) { Parcel data, reply; data.writeInterfaceToken(ISurfaceComposer::getInterfaceDescriptor()); data.writeStrongBinder(display); remote()->transact(BnSurfaceComposer::BLANK, data, &reply); } virtual void unblank(const sp<IBinder>& display) { Parcel data, reply; data.writeInterfaceToken(ISurfaceComposer::getInterfaceDescriptor()); data.writeStrongBinder(display); remote()->transact(BnSurfaceComposer::UNBLANK, data, &reply); data.writeInt32(mode); remote()->transact(BnSurfaceComposer::SET_POWER_MODE, data, &reply); } virtual status_t getDisplayConfigs(const sp<IBinder>& display, Loading Loading @@ -378,18 +371,6 @@ status_t BnSurfaceComposer::onTransact( reply->writeStrongBinder(display); return NO_ERROR; } case BLANK: { CHECK_INTERFACE(ISurfaceComposer, data, reply); sp<IBinder> display = data.readStrongBinder(); blank(display); return NO_ERROR; } case UNBLANK: { CHECK_INTERFACE(ISurfaceComposer, data, reply); sp<IBinder> display = data.readStrongBinder(); unblank(display); return NO_ERROR; } case GET_DISPLAY_CONFIGS: { CHECK_INTERFACE(ISurfaceComposer, data, reply); Vector<DisplayInfo> configs; Loading Loading @@ -434,6 +415,13 @@ status_t BnSurfaceComposer::onTransact( reply->writeInt32(result); return NO_ERROR; } case SET_POWER_MODE: { CHECK_INTERFACE(ISurfaceComposer, data, reply); sp<IBinder> display = data.readStrongBinder(); int32_t mode = data.readInt32(); setPowerMode(display, mode); return NO_ERROR; } default: { return BBinder::onTransact(code, data, reply, flags); } Loading
libs/gui/SurfaceComposerClient.cpp +3 −6 Original line number Diff line number Diff line Loading @@ -655,12 +655,9 @@ status_t SurfaceComposerClient::setActiveConfig(const sp<IBinder>& display, int return ComposerService::getComposerService()->setActiveConfig(display, id); } void SurfaceComposerClient::blankDisplay(const sp<IBinder>& token) { ComposerService::getComposerService()->blank(token); } void SurfaceComposerClient::unblankDisplay(const sp<IBinder>& token) { ComposerService::getComposerService()->unblank(token); void SurfaceComposerClient::setDisplayPowerMode(const sp<IBinder>& token, int mode) { ComposerService::getComposerService()->setPowerMode(token, mode); } status_t SurfaceComposerClient::clearAnimationFrameStats() { Loading
services/surfaceflinger/DisplayDevice.cpp +12 −16 Original line number Diff line number Diff line Loading @@ -70,9 +70,9 @@ DisplayDevice::DisplayDevice( mPageFlipCount(), mIsSecure(isSecure), mSecureLayerVisible(false), mScreenAcquired(false), mLayerStack(NO_LAYER_STACK), mOrientation() mOrientation(), mPowerMode(HWC_POWER_MODE_OFF) { mNativeWindow = new Surface(producer, false); ANativeWindow* const window = mNativeWindow.get(); Loading Loading @@ -109,7 +109,8 @@ DisplayDevice::DisplayDevice( mFrame.makeInvalid(); // virtual displays are always considered enabled mScreenAcquired = (mType >= DisplayDevice::DISPLAY_VIRTUAL); mPowerMode = (mType >= DisplayDevice::DISPLAY_VIRTUAL) ? HWC_POWER_MODE_NORMAL : HWC_POWER_MODE_OFF; // Name the display. The name will be replaced shortly if the display // was created with createDisplay(). Loading Loading @@ -322,21 +323,16 @@ Region DisplayDevice::getDirtyRegion(bool repaintEverything) const { } // ---------------------------------------------------------------------------- bool DisplayDevice::canDraw() const { return mScreenAcquired; } void DisplayDevice::releaseScreen() const { mScreenAcquired = false; void DisplayDevice::setPowerMode(int mode) { mPowerMode = mode; } void DisplayDevice::acquireScreen() const { mScreenAcquired = true; int DisplayDevice::getPowerMode() const { return mPowerMode; } bool DisplayDevice::isScreenAcquired() const { return mScreenAcquired; bool DisplayDevice::isDisplayOn() const { return (mPowerMode != HWC_POWER_MODE_OFF); } // ---------------------------------------------------------------------------- Loading Loading @@ -465,13 +461,13 @@ void DisplayDevice::dump(String8& result) const { result.appendFormat( "+ DisplayDevice: %s\n" " type=%x, hwcId=%d, layerStack=%u, (%4dx%4d), ANativeWindow=%p, orient=%2d (type=%08x), " "flips=%u, isSecure=%d, secureVis=%d, acquired=%d, numLayers=%zu\n" "flips=%u, isSecure=%d, secureVis=%d, powerMode=%d, numLayers=%zu\n" " v:[%d,%d,%d,%d], f:[%d,%d,%d,%d], s:[%d,%d,%d,%d]," "transform:[[%0.3f,%0.3f,%0.3f][%0.3f,%0.3f,%0.3f][%0.3f,%0.3f,%0.3f]]\n", mDisplayName.string(), mType, mHwcDisplayId, mLayerStack, mDisplayWidth, mDisplayHeight, mNativeWindow.get(), mOrientation, tr.getType(), getPageFlipCount(), mIsSecure, mSecureLayerVisible, mScreenAcquired, mVisibleLayersSortedByZ.size(), mIsSecure, mSecureLayerVisible, mPowerMode, mVisibleLayersSortedByZ.size(), mViewport.left, mViewport.top, mViewport.right, mViewport.bottom, mFrame.left, mFrame.top, mFrame.right, mFrame.bottom, mScissor.left, mScissor.top, mScissor.right, mScissor.bottom, Loading