Loading services/surfaceflinger/SurfaceFlinger.cpp +4 −15 Original line number Original line Diff line number Diff line Loading @@ -275,7 +275,6 @@ const String16 sHardwareTest("android.permission.HARDWARE_TEST"); const String16 sAccessSurfaceFlinger("android.permission.ACCESS_SURFACE_FLINGER"); const String16 sAccessSurfaceFlinger("android.permission.ACCESS_SURFACE_FLINGER"); const String16 sRotateSurfaceFlinger("android.permission.ROTATE_SURFACE_FLINGER"); const String16 sRotateSurfaceFlinger("android.permission.ROTATE_SURFACE_FLINGER"); const String16 sReadFramebuffer("android.permission.READ_FRAME_BUFFER"); const String16 sReadFramebuffer("android.permission.READ_FRAME_BUFFER"); const String16 sUseBackgroundBlur("android.permission.USE_BACKGROUND_BLUR"); const String16 sDump("android.permission.DUMP"); const String16 sDump("android.permission.DUMP"); const char* KERNEL_IDLE_TIMER_PROP = "graphics.display.kernel_idle_timer.enabled"; const char* KERNEL_IDLE_TIMER_PROP = "graphics.display.kernel_idle_timer.enabled"; Loading Loading @@ -333,10 +332,6 @@ bool callingThreadHasRotateSurfaceFlingerAccess() { PermissionCache::checkPermission(sRotateSurfaceFlinger, pid, uid); PermissionCache::checkPermission(sRotateSurfaceFlinger, pid, uid); } } bool originalCallerCanUseBlurs(int originPid, int originUid) { return PermissionCache::checkPermission(sUseBackgroundBlur, originPid, originUid); } SurfaceFlingerBE::SurfaceFlingerBE() : mHwcServiceName(getHwcServiceName()) {} SurfaceFlingerBE::SurfaceFlingerBE() : mHwcServiceName(getHwcServiceName()) {} SurfaceFlinger::SurfaceFlinger(Factory& factory, SkipInitializationTag) SurfaceFlinger::SurfaceFlinger(Factory& factory, SkipInitializationTag) Loading Loading @@ -3533,8 +3528,7 @@ void SurfaceFlinger::applyTransactionState(const FrameTimelineInfo& frameTimelin for (const ComposerState& state : states) { for (const ComposerState& state : states) { clientStateFlags |= clientStateFlags |= setClientStateLocked(frameTimelineInfo, state, desiredPresentTime, isAutoTimestamp, setClientStateLocked(frameTimelineInfo, state, desiredPresentTime, isAutoTimestamp, postTime, privileged, listenerCallbacksWithSurfaces, originPid, postTime, privileged, listenerCallbacksWithSurfaces); originUid); if ((flags & eAnimation) && state.state.surface) { if ((flags & eAnimation) && state.state.surface) { if (const auto layer = fromHandleLocked(state.state.surface).promote(); layer) { if (const auto layer = fromHandleLocked(state.state.surface).promote(); layer) { mScheduler->recordLayerHistory(layer.get(), mScheduler->recordLayerHistory(layer.get(), Loading Loading @@ -3659,8 +3653,7 @@ bool SurfaceFlinger::callingThreadHasUnscopedSurfaceFlingerAccess(bool usePermis uint32_t SurfaceFlinger::setClientStateLocked( uint32_t SurfaceFlinger::setClientStateLocked( const FrameTimelineInfo& frameTimelineInfo, const ComposerState& composerState, const FrameTimelineInfo& frameTimelineInfo, const ComposerState& composerState, int64_t desiredPresentTime, bool isAutoTimestamp, int64_t postTime, bool privileged, int64_t desiredPresentTime, bool isAutoTimestamp, int64_t postTime, bool privileged, std::unordered_set<ListenerCallbacks, ListenerCallbacksHash>& listenerCallbacks, std::unordered_set<ListenerCallbacks, ListenerCallbacksHash>& listenerCallbacks) { int originPid, int originUid) { const layer_state_t& s = composerState.state; const layer_state_t& s = composerState.state; for (auto& listener : s.listeners) { for (auto& listener : s.listeners) { Loading Loading @@ -3806,14 +3799,10 @@ uint32_t SurfaceFlinger::setClientStateLocked( if (layer->setCornerRadius(s.cornerRadius)) if (layer->setCornerRadius(s.cornerRadius)) flags |= eTraversalNeeded; flags |= eTraversalNeeded; } } if (what & layer_state_t::eBackgroundBlurRadiusChanged && !mDisableBlurs && mSupportsBlur) { if (what & layer_state_t::eBackgroundBlurRadiusChanged && !mDisableBlurs && mSupportsBlur && originalCallerCanUseBlurs(originPid, originUid)) { if (layer->setBackgroundBlurRadius(s.backgroundBlurRadius)) flags |= eTraversalNeeded; if (layer->setBackgroundBlurRadius(s.backgroundBlurRadius)) flags |= eTraversalNeeded; } } if (what & layer_state_t::eBlurRegionsChanged) { if (what & layer_state_t::eBlurRegionsChanged && originalCallerCanUseBlurs(originPid, originUid)) { if (layer->setBlurRegions(s.blurRegions)) flags |= eTraversalNeeded; if (layer->setBlurRegions(s.blurRegions)) flags |= eTraversalNeeded; } } if (what & layer_state_t::eLayerStackChanged) { if (what & layer_state_t::eLayerStackChanged) { Loading services/surfaceflinger/SurfaceFlinger.h +2 −2 Original line number Original line Diff line number Diff line Loading @@ -345,8 +345,8 @@ protected: virtual uint32_t setClientStateLocked( virtual uint32_t setClientStateLocked( const FrameTimelineInfo& info, const ComposerState& composerState, const FrameTimelineInfo& info, const ComposerState& composerState, int64_t desiredPresentTime, bool isAutoTimestamp, int64_t postTime, bool privileged, int64_t desiredPresentTime, bool isAutoTimestamp, int64_t postTime, bool privileged, std::unordered_set<ListenerCallbacks, ListenerCallbacksHash>& listenerCallbacks, std::unordered_set<ListenerCallbacks, ListenerCallbacksHash>& listenerCallbacks) int originPid, int originUid) REQUIRES(mStateLock); REQUIRES(mStateLock); virtual void commitTransactionLocked(); virtual void commitTransactionLocked(); // Used internally by computeLayerBounds() to gets the clip rectangle to use for the // Used internally by computeLayerBounds() to gets the clip rectangle to use for the Loading Loading
services/surfaceflinger/SurfaceFlinger.cpp +4 −15 Original line number Original line Diff line number Diff line Loading @@ -275,7 +275,6 @@ const String16 sHardwareTest("android.permission.HARDWARE_TEST"); const String16 sAccessSurfaceFlinger("android.permission.ACCESS_SURFACE_FLINGER"); const String16 sAccessSurfaceFlinger("android.permission.ACCESS_SURFACE_FLINGER"); const String16 sRotateSurfaceFlinger("android.permission.ROTATE_SURFACE_FLINGER"); const String16 sRotateSurfaceFlinger("android.permission.ROTATE_SURFACE_FLINGER"); const String16 sReadFramebuffer("android.permission.READ_FRAME_BUFFER"); const String16 sReadFramebuffer("android.permission.READ_FRAME_BUFFER"); const String16 sUseBackgroundBlur("android.permission.USE_BACKGROUND_BLUR"); const String16 sDump("android.permission.DUMP"); const String16 sDump("android.permission.DUMP"); const char* KERNEL_IDLE_TIMER_PROP = "graphics.display.kernel_idle_timer.enabled"; const char* KERNEL_IDLE_TIMER_PROP = "graphics.display.kernel_idle_timer.enabled"; Loading Loading @@ -333,10 +332,6 @@ bool callingThreadHasRotateSurfaceFlingerAccess() { PermissionCache::checkPermission(sRotateSurfaceFlinger, pid, uid); PermissionCache::checkPermission(sRotateSurfaceFlinger, pid, uid); } } bool originalCallerCanUseBlurs(int originPid, int originUid) { return PermissionCache::checkPermission(sUseBackgroundBlur, originPid, originUid); } SurfaceFlingerBE::SurfaceFlingerBE() : mHwcServiceName(getHwcServiceName()) {} SurfaceFlingerBE::SurfaceFlingerBE() : mHwcServiceName(getHwcServiceName()) {} SurfaceFlinger::SurfaceFlinger(Factory& factory, SkipInitializationTag) SurfaceFlinger::SurfaceFlinger(Factory& factory, SkipInitializationTag) Loading Loading @@ -3533,8 +3528,7 @@ void SurfaceFlinger::applyTransactionState(const FrameTimelineInfo& frameTimelin for (const ComposerState& state : states) { for (const ComposerState& state : states) { clientStateFlags |= clientStateFlags |= setClientStateLocked(frameTimelineInfo, state, desiredPresentTime, isAutoTimestamp, setClientStateLocked(frameTimelineInfo, state, desiredPresentTime, isAutoTimestamp, postTime, privileged, listenerCallbacksWithSurfaces, originPid, postTime, privileged, listenerCallbacksWithSurfaces); originUid); if ((flags & eAnimation) && state.state.surface) { if ((flags & eAnimation) && state.state.surface) { if (const auto layer = fromHandleLocked(state.state.surface).promote(); layer) { if (const auto layer = fromHandleLocked(state.state.surface).promote(); layer) { mScheduler->recordLayerHistory(layer.get(), mScheduler->recordLayerHistory(layer.get(), Loading Loading @@ -3659,8 +3653,7 @@ bool SurfaceFlinger::callingThreadHasUnscopedSurfaceFlingerAccess(bool usePermis uint32_t SurfaceFlinger::setClientStateLocked( uint32_t SurfaceFlinger::setClientStateLocked( const FrameTimelineInfo& frameTimelineInfo, const ComposerState& composerState, const FrameTimelineInfo& frameTimelineInfo, const ComposerState& composerState, int64_t desiredPresentTime, bool isAutoTimestamp, int64_t postTime, bool privileged, int64_t desiredPresentTime, bool isAutoTimestamp, int64_t postTime, bool privileged, std::unordered_set<ListenerCallbacks, ListenerCallbacksHash>& listenerCallbacks, std::unordered_set<ListenerCallbacks, ListenerCallbacksHash>& listenerCallbacks) { int originPid, int originUid) { const layer_state_t& s = composerState.state; const layer_state_t& s = composerState.state; for (auto& listener : s.listeners) { for (auto& listener : s.listeners) { Loading Loading @@ -3806,14 +3799,10 @@ uint32_t SurfaceFlinger::setClientStateLocked( if (layer->setCornerRadius(s.cornerRadius)) if (layer->setCornerRadius(s.cornerRadius)) flags |= eTraversalNeeded; flags |= eTraversalNeeded; } } if (what & layer_state_t::eBackgroundBlurRadiusChanged && !mDisableBlurs && mSupportsBlur) { if (what & layer_state_t::eBackgroundBlurRadiusChanged && !mDisableBlurs && mSupportsBlur && originalCallerCanUseBlurs(originPid, originUid)) { if (layer->setBackgroundBlurRadius(s.backgroundBlurRadius)) flags |= eTraversalNeeded; if (layer->setBackgroundBlurRadius(s.backgroundBlurRadius)) flags |= eTraversalNeeded; } } if (what & layer_state_t::eBlurRegionsChanged) { if (what & layer_state_t::eBlurRegionsChanged && originalCallerCanUseBlurs(originPid, originUid)) { if (layer->setBlurRegions(s.blurRegions)) flags |= eTraversalNeeded; if (layer->setBlurRegions(s.blurRegions)) flags |= eTraversalNeeded; } } if (what & layer_state_t::eLayerStackChanged) { if (what & layer_state_t::eLayerStackChanged) { Loading
services/surfaceflinger/SurfaceFlinger.h +2 −2 Original line number Original line Diff line number Diff line Loading @@ -345,8 +345,8 @@ protected: virtual uint32_t setClientStateLocked( virtual uint32_t setClientStateLocked( const FrameTimelineInfo& info, const ComposerState& composerState, const FrameTimelineInfo& info, const ComposerState& composerState, int64_t desiredPresentTime, bool isAutoTimestamp, int64_t postTime, bool privileged, int64_t desiredPresentTime, bool isAutoTimestamp, int64_t postTime, bool privileged, std::unordered_set<ListenerCallbacks, ListenerCallbacksHash>& listenerCallbacks, std::unordered_set<ListenerCallbacks, ListenerCallbacksHash>& listenerCallbacks) int originPid, int originUid) REQUIRES(mStateLock); REQUIRES(mStateLock); virtual void commitTransactionLocked(); virtual void commitTransactionLocked(); // Used internally by computeLayerBounds() to gets the clip rectangle to use for the // Used internally by computeLayerBounds() to gets the clip rectangle to use for the Loading