diff options
author | 2018-07-12 18:18:47 -0400 | |
---|---|---|
committer | 2018-07-12 18:36:33 -0400 | |
commit | 9a52b197cccdd32b15b54a45d7bd6965969fa72d (patch) | |
tree | e1f47fe0337c72f4926785c2d35666ab871df655 | |
parent | 34b193b5373e8a8bab9a1b13223e3453eaa9b992 (diff) |
SF: Update DispSync to std::vector.
Test: SurfaceFlinger_test passes.
Change-Id: Ie4002ca1bacf04e5a0394a2143e127dbd0286763
-rw-r--r-- | services/surfaceflinger/DispSync.cpp | 43 |
1 files changed, 21 insertions, 22 deletions
diff --git a/services/surfaceflinger/DispSync.cpp b/services/surfaceflinger/DispSync.cpp index 37dc27d80d..eb271cdccf 100644 --- a/services/surfaceflinger/DispSync.cpp +++ b/services/surfaceflinger/DispSync.cpp @@ -28,7 +28,6 @@ #include <utils/String8.h> #include <utils/Thread.h> #include <utils/Trace.h> -#include <utils/Vector.h> #include <ui/FenceTime.h> @@ -94,7 +93,7 @@ public: nsecs_t now = systemTime(SYSTEM_TIME_MONOTONIC); while (true) { - Vector<CallbackInvocation> callbackInvocations; + std::vector<CallbackInvocation> callbackInvocations; nsecs_t targetTime = 0; @@ -187,7 +186,7 @@ public: // allowing any past events to fire listener.mLastEventTime = systemTime() - mPeriod / 2 + mPhase - mWakeupLatency; - mEventListeners.push(listener); + mEventListeners.push_back(listener); mCond.signal(); @@ -198,9 +197,10 @@ public: if (kTraceDetailedInfo) ATRACE_CALL(); Mutex::Autolock lock(mMutex); - for (size_t i = 0; i < mEventListeners.size(); i++) { - if (mEventListeners[i].mCallback == callback) { - mEventListeners.removeAt(i); + for (std::vector<EventListener>::iterator it = mEventListeners.begin(); + it != mEventListeners.end(); ++it) { + if (it->mCallback == callback) { + mEventListeners.erase(it); mCond.signal(); return NO_ERROR; } @@ -213,11 +213,10 @@ public: if (kTraceDetailedInfo) ATRACE_CALL(); Mutex::Autolock lock(mMutex); - for (size_t i = 0; i < mEventListeners.size(); i++) { - if (mEventListeners[i].mCallback == callback) { - EventListener& listener = mEventListeners.editItemAt(i); - const nsecs_t oldPhase = listener.mPhase; - listener.mPhase = phase; + for (auto& eventListener : mEventListeners) { + if (eventListener.mCallback == callback) { + const nsecs_t oldPhase = eventListener.mPhase; + eventListener.mPhase = phase; // Pretend that the last time this event was handled at the same frame but with the // new offset to allow for a seamless offset change without double-firing or @@ -228,7 +227,7 @@ public: } else if (diff < -mPeriod / 2) { diff += mPeriod; } - listener.mLastEventTime -= diff; + eventListener.mLastEventTime -= diff; mCond.signal(); return NO_ERROR; } @@ -274,23 +273,23 @@ private: return nextEventTime; } - Vector<CallbackInvocation> gatherCallbackInvocationsLocked(nsecs_t now) { + std::vector<CallbackInvocation> gatherCallbackInvocationsLocked(nsecs_t now) { if (kTraceDetailedInfo) ATRACE_CALL(); ALOGV("[%s] gatherCallbackInvocationsLocked @ %" PRId64, mName, ns2us(now)); - Vector<CallbackInvocation> callbackInvocations; + std::vector<CallbackInvocation> callbackInvocations; nsecs_t onePeriodAgo = now - mPeriod; - for (size_t i = 0; i < mEventListeners.size(); i++) { - nsecs_t t = computeListenerNextEventTimeLocked(mEventListeners[i], onePeriodAgo); + for (auto& eventListener : mEventListeners) { + nsecs_t t = computeListenerNextEventTimeLocked(eventListener, onePeriodAgo); if (t < now) { CallbackInvocation ci; - ci.mCallback = mEventListeners[i].mCallback; + ci.mCallback = eventListener.mCallback; ci.mEventTime = t; - ALOGV("[%s] [%s] Preparing to fire", mName, mEventListeners[i].mName); - callbackInvocations.push(ci); - mEventListeners.editItemAt(i).mLastEventTime = t; + ALOGV("[%s] [%s] Preparing to fire", mName, eventListener.mName); + callbackInvocations.push_back(ci); + eventListener.mLastEventTime = t; } } @@ -348,7 +347,7 @@ private: return t; } - void fireCallbackInvocations(const Vector<CallbackInvocation>& callbacks) { + void fireCallbackInvocations(const std::vector<CallbackInvocation>& callbacks) { if (kTraceDetailedInfo) ATRACE_CALL(); for (size_t i = 0; i < callbacks.size(); i++) { callbacks[i].mCallback->onDispSyncEvent(callbacks[i].mEventTime); @@ -366,7 +365,7 @@ private: int64_t mFrameNumber; - Vector<EventListener> mEventListeners; + std::vector<EventListener> mEventListeners; Mutex mMutex; Condition mCond; |