Loading graphics/java/android/graphics/HardwareRenderer.java +14 −0 Original line number Diff line number Diff line Loading @@ -657,6 +657,13 @@ public class HardwareRenderer { nAddObserver(mNativeProxy, observer.getNativeInstance()); } /** * @hide */ public void addObserver(long nativeObserver) { nAddObserver(mNativeProxy, nativeObserver); } /** * TODO: Public API this? * Loading @@ -666,6 +673,13 @@ public class HardwareRenderer { nRemoveObserver(mNativeProxy, observer.getNativeInstance()); } /** * @hide */ public void removeObserver(long nativeObserver) { nRemoveObserver(mNativeProxy, nativeObserver); } /** * Sets the desired color mode on this renderer. Whether or not the actual rendering * will use the requested colorMode depends on the hardware support for such rendering. Loading libs/hwui/FrameInfo.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -52,7 +52,7 @@ const std::array FrameInfoNames{"Flags", static_assert(static_cast<int>(FrameInfoIndex::NumIndexes) == 24, "Must update value in FrameMetrics.java#FRAME_STATS_COUNT (and here)"); void FrameInfo::importUiThreadInfo(int64_t* info) { void FrameInfo::importUiThreadInfo(const int64_t* info) { memcpy(mFrameInfo.data(), info, UI_THREAD_FRAME_INFO_SIZE * sizeof(int64_t)); mSkippedFrameReason.reset(); } Loading libs/hwui/FrameInfo.h +1 −1 Original line number Diff line number Diff line Loading @@ -134,7 +134,7 @@ private: class FrameInfo { public: void importUiThreadInfo(int64_t* info); void importUiThreadInfo(const int64_t* info); void markSyncStart() { set(FrameInfoIndex::SyncStart) = systemTime(SYSTEM_TIME_MONOTONIC); } Loading libs/hwui/FrameMetricsReporter.h +3 −3 Original line number Diff line number Diff line Loading @@ -35,12 +35,12 @@ class FrameMetricsReporter { public: FrameMetricsReporter() {} void addObserver(FrameMetricsObserver* observer) { void addObserver(sp<FrameMetricsObserver>&& observer) { std::lock_guard lock(mObserversLock); mObservers.push_back(observer); mObservers.push_back(std::move(observer)); } bool removeObserver(FrameMetricsObserver* observer) { bool removeObserver(const sp<FrameMetricsObserver>& observer) { std::lock_guard lock(mObserversLock); for (size_t i = 0; i < mObservers.size(); i++) { if (mObservers[i].get() == observer) { Loading libs/hwui/jni/android_graphics_HardwareRenderer.cpp +6 −4 Original line number Diff line number Diff line Loading @@ -915,20 +915,22 @@ static jboolean android_view_ThreadedRenderer_isDrawingEnabled(JNIEnv*, jclass) static void android_view_ThreadedRenderer_addObserver(JNIEnv* env, jclass clazz, jlong proxyPtr, jlong observerPtr) { HardwareRendererObserver* observer = reinterpret_cast<HardwareRendererObserver*>(observerPtr); FrameMetricsObserver* rawObserver = reinterpret_cast<FrameMetricsObserver*>(observerPtr); sp<FrameMetricsObserver> observer = sp<FrameMetricsObserver>::fromExisting(rawObserver); renderthread::RenderProxy* renderProxy = reinterpret_cast<renderthread::RenderProxy*>(proxyPtr); renderProxy->addFrameMetricsObserver(observer); renderProxy->addFrameMetricsObserver(std::move(observer)); } static void android_view_ThreadedRenderer_removeObserver(JNIEnv* env, jclass clazz, jlong proxyPtr, jlong observerPtr) { HardwareRendererObserver* observer = reinterpret_cast<HardwareRendererObserver*>(observerPtr); FrameMetricsObserver* rawObserver = reinterpret_cast<FrameMetricsObserver*>(observerPtr); sp<FrameMetricsObserver> observer = sp<FrameMetricsObserver>::fromExisting(rawObserver); renderthread::RenderProxy* renderProxy = reinterpret_cast<renderthread::RenderProxy*>(proxyPtr); renderProxy->removeFrameMetricsObserver(observer); renderProxy->removeFrameMetricsObserver(std::move(observer)); } // ---------------------------------------------------------------------------- Loading Loading
graphics/java/android/graphics/HardwareRenderer.java +14 −0 Original line number Diff line number Diff line Loading @@ -657,6 +657,13 @@ public class HardwareRenderer { nAddObserver(mNativeProxy, observer.getNativeInstance()); } /** * @hide */ public void addObserver(long nativeObserver) { nAddObserver(mNativeProxy, nativeObserver); } /** * TODO: Public API this? * Loading @@ -666,6 +673,13 @@ public class HardwareRenderer { nRemoveObserver(mNativeProxy, observer.getNativeInstance()); } /** * @hide */ public void removeObserver(long nativeObserver) { nRemoveObserver(mNativeProxy, nativeObserver); } /** * Sets the desired color mode on this renderer. Whether or not the actual rendering * will use the requested colorMode depends on the hardware support for such rendering. Loading
libs/hwui/FrameInfo.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -52,7 +52,7 @@ const std::array FrameInfoNames{"Flags", static_assert(static_cast<int>(FrameInfoIndex::NumIndexes) == 24, "Must update value in FrameMetrics.java#FRAME_STATS_COUNT (and here)"); void FrameInfo::importUiThreadInfo(int64_t* info) { void FrameInfo::importUiThreadInfo(const int64_t* info) { memcpy(mFrameInfo.data(), info, UI_THREAD_FRAME_INFO_SIZE * sizeof(int64_t)); mSkippedFrameReason.reset(); } Loading
libs/hwui/FrameInfo.h +1 −1 Original line number Diff line number Diff line Loading @@ -134,7 +134,7 @@ private: class FrameInfo { public: void importUiThreadInfo(int64_t* info); void importUiThreadInfo(const int64_t* info); void markSyncStart() { set(FrameInfoIndex::SyncStart) = systemTime(SYSTEM_TIME_MONOTONIC); } Loading
libs/hwui/FrameMetricsReporter.h +3 −3 Original line number Diff line number Diff line Loading @@ -35,12 +35,12 @@ class FrameMetricsReporter { public: FrameMetricsReporter() {} void addObserver(FrameMetricsObserver* observer) { void addObserver(sp<FrameMetricsObserver>&& observer) { std::lock_guard lock(mObserversLock); mObservers.push_back(observer); mObservers.push_back(std::move(observer)); } bool removeObserver(FrameMetricsObserver* observer) { bool removeObserver(const sp<FrameMetricsObserver>& observer) { std::lock_guard lock(mObserversLock); for (size_t i = 0; i < mObservers.size(); i++) { if (mObservers[i].get() == observer) { Loading
libs/hwui/jni/android_graphics_HardwareRenderer.cpp +6 −4 Original line number Diff line number Diff line Loading @@ -915,20 +915,22 @@ static jboolean android_view_ThreadedRenderer_isDrawingEnabled(JNIEnv*, jclass) static void android_view_ThreadedRenderer_addObserver(JNIEnv* env, jclass clazz, jlong proxyPtr, jlong observerPtr) { HardwareRendererObserver* observer = reinterpret_cast<HardwareRendererObserver*>(observerPtr); FrameMetricsObserver* rawObserver = reinterpret_cast<FrameMetricsObserver*>(observerPtr); sp<FrameMetricsObserver> observer = sp<FrameMetricsObserver>::fromExisting(rawObserver); renderthread::RenderProxy* renderProxy = reinterpret_cast<renderthread::RenderProxy*>(proxyPtr); renderProxy->addFrameMetricsObserver(observer); renderProxy->addFrameMetricsObserver(std::move(observer)); } static void android_view_ThreadedRenderer_removeObserver(JNIEnv* env, jclass clazz, jlong proxyPtr, jlong observerPtr) { HardwareRendererObserver* observer = reinterpret_cast<HardwareRendererObserver*>(observerPtr); FrameMetricsObserver* rawObserver = reinterpret_cast<FrameMetricsObserver*>(observerPtr); sp<FrameMetricsObserver> observer = sp<FrameMetricsObserver>::fromExisting(rawObserver); renderthread::RenderProxy* renderProxy = reinterpret_cast<renderthread::RenderProxy*>(proxyPtr); renderProxy->removeFrameMetricsObserver(observer); renderProxy->removeFrameMetricsObserver(std::move(observer)); } // ---------------------------------------------------------------------------- Loading