Loading include/input/IInputFlinger.h +1 −3 Original line number Original line Diff line number Diff line Loading @@ -37,7 +37,6 @@ public: virtual void setInputWindows(const std::vector<InputWindowInfo>& inputHandles, virtual void setInputWindows(const std::vector<InputWindowInfo>& inputHandles, const sp<ISetInputWindowsListener>& setInputWindowsListener) = 0; const sp<ISetInputWindowsListener>& setInputWindowsListener) = 0; virtual void transferTouchFocus(const sp<IBinder>& fromToken, const sp<IBinder>& toToken) = 0; virtual void registerInputChannel(const sp<InputChannel>& channel) = 0; virtual void registerInputChannel(const sp<InputChannel>& channel) = 0; virtual void unregisterInputChannel(const sp<InputChannel>& channel) = 0; virtual void unregisterInputChannel(const sp<InputChannel>& channel) = 0; }; }; Loading @@ -51,8 +50,7 @@ public: enum { enum { SET_INPUT_WINDOWS_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION, SET_INPUT_WINDOWS_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION, REGISTER_INPUT_CHANNEL_TRANSACTION, REGISTER_INPUT_CHANNEL_TRANSACTION, UNREGISTER_INPUT_CHANNEL_TRANSACTION, UNREGISTER_INPUT_CHANNEL_TRANSACTION TRANSFER_TOUCH_FOCUS }; }; virtual status_t onTransact(uint32_t code, const Parcel& data, virtual status_t onTransact(uint32_t code, const Parcel& data, Loading libs/dumputils/dump_utils.cpp +3 −0 Original line number Original line Diff line number Diff line Loading @@ -71,6 +71,9 @@ static const char* hal_interfaces_to_dump[] { "android.hardware.sensors@1.0::ISensors", "android.hardware.sensors@1.0::ISensors", "android.hardware.thermal@2.0::IThermal", "android.hardware.thermal@2.0::IThermal", "android.hardware.vr@1.0::IVr", "android.hardware.vr@1.0::IVr", "android.hardware.automotive.audiocontrol@1.0::IAudioControl", "android.hardware.automotive.vehicle@2.0::IVehicle", "android.hardware.automotive.evs@1.0::IEvsCamera", NULL, NULL, }; }; Loading libs/gui/BufferQueueConsumer.cpp +7 −3 Original line number Original line Diff line number Diff line Loading @@ -166,7 +166,9 @@ status_t BufferQueueConsumer::acquireBuffer(BufferItem* outBuffer, mCore->mFreeBuffers.push_back(front->mSlot); mCore->mFreeBuffers.push_back(front->mSlot); } } if (mCore->mBufferReleasedCbEnabled) { listener = mCore->mConnectedProducerListener; listener = mCore->mConnectedProducerListener; } ++numDroppedBuffers; ++numDroppedBuffers; } } Loading Loading @@ -457,7 +459,9 @@ status_t BufferQueueConsumer::releaseBuffer(int slot, uint64_t frameNumber, mCore->mFreeBuffers.push_back(slot); mCore->mFreeBuffers.push_back(slot); } } if (mCore->mBufferReleasedCbEnabled) { listener = mCore->mConnectedProducerListener; listener = mCore->mConnectedProducerListener; } BQ_LOGV("releaseBuffer: releasing slot %d", slot); BQ_LOGV("releaseBuffer: releasing slot %d", slot); mCore->mDequeueCondition.notify_all(); mCore->mDequeueCondition.notify_all(); Loading Loading @@ -668,7 +672,7 @@ status_t BufferQueueConsumer::setMaxAcquiredBufferCount( BQ_LOGV("setMaxAcquiredBufferCount: %d", maxAcquiredBuffers); BQ_LOGV("setMaxAcquiredBufferCount: %d", maxAcquiredBuffers); mCore->mMaxAcquiredBufferCount = maxAcquiredBuffers; mCore->mMaxAcquiredBufferCount = maxAcquiredBuffers; VALIDATE_CONSISTENCY(); VALIDATE_CONSISTENCY(); if (delta < 0) { if (delta < 0 && mCore->mBufferReleasedCbEnabled) { listener = mCore->mConsumerListener; listener = mCore->mConsumerListener; } } } } Loading libs/gui/BufferQueueCore.cpp +7 −0 Original line number Original line Diff line number Diff line Loading @@ -65,6 +65,7 @@ BufferQueueCore::BufferQueueCore() : mConnectedApi(NO_CONNECTED_API), mConnectedApi(NO_CONNECTED_API), mLinkedToDeath(), mLinkedToDeath(), mConnectedProducerListener(), mConnectedProducerListener(), mBufferReleasedCbEnabled(false), mSlots(), mSlots(), mQueue(), mQueue(), mFreeSlots(), mFreeSlots(), Loading Loading @@ -260,6 +261,12 @@ void BufferQueueCore::freeAllBuffersLocked() { } } void BufferQueueCore::discardFreeBuffersLocked() { void BufferQueueCore::discardFreeBuffersLocked() { // Notify producer about the discarded buffers. if (mConnectedProducerListener != nullptr && mFreeBuffers.size() > 0) { std::vector<int32_t> freeBuffers(mFreeBuffers.begin(), mFreeBuffers.end()); mConnectedProducerListener->onBuffersDiscarded(freeBuffers); } for (int s : mFreeBuffers) { for (int s : mFreeBuffers) { mFreeSlots.insert(s); mFreeSlots.insert(s); clearBufferSlotLocked(s); clearBufferSlotLocked(s); Loading libs/gui/BufferQueueProducer.cpp +2 −3 Original line number Original line Diff line number Diff line Loading @@ -1221,9 +1221,8 @@ status_t BufferQueueProducer::connect(const sp<IProducerListener>& listener, } } mCore->mLinkedToDeath = listener; mCore->mLinkedToDeath = listener; } } if (listener->needsReleaseNotify()) { mCore->mConnectedProducerListener = listener; mCore->mConnectedProducerListener = listener; } mCore->mBufferReleasedCbEnabled = listener->needsReleaseNotify(); } } break; break; default: default: Loading Loading
include/input/IInputFlinger.h +1 −3 Original line number Original line Diff line number Diff line Loading @@ -37,7 +37,6 @@ public: virtual void setInputWindows(const std::vector<InputWindowInfo>& inputHandles, virtual void setInputWindows(const std::vector<InputWindowInfo>& inputHandles, const sp<ISetInputWindowsListener>& setInputWindowsListener) = 0; const sp<ISetInputWindowsListener>& setInputWindowsListener) = 0; virtual void transferTouchFocus(const sp<IBinder>& fromToken, const sp<IBinder>& toToken) = 0; virtual void registerInputChannel(const sp<InputChannel>& channel) = 0; virtual void registerInputChannel(const sp<InputChannel>& channel) = 0; virtual void unregisterInputChannel(const sp<InputChannel>& channel) = 0; virtual void unregisterInputChannel(const sp<InputChannel>& channel) = 0; }; }; Loading @@ -51,8 +50,7 @@ public: enum { enum { SET_INPUT_WINDOWS_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION, SET_INPUT_WINDOWS_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION, REGISTER_INPUT_CHANNEL_TRANSACTION, REGISTER_INPUT_CHANNEL_TRANSACTION, UNREGISTER_INPUT_CHANNEL_TRANSACTION, UNREGISTER_INPUT_CHANNEL_TRANSACTION TRANSFER_TOUCH_FOCUS }; }; virtual status_t onTransact(uint32_t code, const Parcel& data, virtual status_t onTransact(uint32_t code, const Parcel& data, Loading
libs/dumputils/dump_utils.cpp +3 −0 Original line number Original line Diff line number Diff line Loading @@ -71,6 +71,9 @@ static const char* hal_interfaces_to_dump[] { "android.hardware.sensors@1.0::ISensors", "android.hardware.sensors@1.0::ISensors", "android.hardware.thermal@2.0::IThermal", "android.hardware.thermal@2.0::IThermal", "android.hardware.vr@1.0::IVr", "android.hardware.vr@1.0::IVr", "android.hardware.automotive.audiocontrol@1.0::IAudioControl", "android.hardware.automotive.vehicle@2.0::IVehicle", "android.hardware.automotive.evs@1.0::IEvsCamera", NULL, NULL, }; }; Loading
libs/gui/BufferQueueConsumer.cpp +7 −3 Original line number Original line Diff line number Diff line Loading @@ -166,7 +166,9 @@ status_t BufferQueueConsumer::acquireBuffer(BufferItem* outBuffer, mCore->mFreeBuffers.push_back(front->mSlot); mCore->mFreeBuffers.push_back(front->mSlot); } } if (mCore->mBufferReleasedCbEnabled) { listener = mCore->mConnectedProducerListener; listener = mCore->mConnectedProducerListener; } ++numDroppedBuffers; ++numDroppedBuffers; } } Loading Loading @@ -457,7 +459,9 @@ status_t BufferQueueConsumer::releaseBuffer(int slot, uint64_t frameNumber, mCore->mFreeBuffers.push_back(slot); mCore->mFreeBuffers.push_back(slot); } } if (mCore->mBufferReleasedCbEnabled) { listener = mCore->mConnectedProducerListener; listener = mCore->mConnectedProducerListener; } BQ_LOGV("releaseBuffer: releasing slot %d", slot); BQ_LOGV("releaseBuffer: releasing slot %d", slot); mCore->mDequeueCondition.notify_all(); mCore->mDequeueCondition.notify_all(); Loading Loading @@ -668,7 +672,7 @@ status_t BufferQueueConsumer::setMaxAcquiredBufferCount( BQ_LOGV("setMaxAcquiredBufferCount: %d", maxAcquiredBuffers); BQ_LOGV("setMaxAcquiredBufferCount: %d", maxAcquiredBuffers); mCore->mMaxAcquiredBufferCount = maxAcquiredBuffers; mCore->mMaxAcquiredBufferCount = maxAcquiredBuffers; VALIDATE_CONSISTENCY(); VALIDATE_CONSISTENCY(); if (delta < 0) { if (delta < 0 && mCore->mBufferReleasedCbEnabled) { listener = mCore->mConsumerListener; listener = mCore->mConsumerListener; } } } } Loading
libs/gui/BufferQueueCore.cpp +7 −0 Original line number Original line Diff line number Diff line Loading @@ -65,6 +65,7 @@ BufferQueueCore::BufferQueueCore() : mConnectedApi(NO_CONNECTED_API), mConnectedApi(NO_CONNECTED_API), mLinkedToDeath(), mLinkedToDeath(), mConnectedProducerListener(), mConnectedProducerListener(), mBufferReleasedCbEnabled(false), mSlots(), mSlots(), mQueue(), mQueue(), mFreeSlots(), mFreeSlots(), Loading Loading @@ -260,6 +261,12 @@ void BufferQueueCore::freeAllBuffersLocked() { } } void BufferQueueCore::discardFreeBuffersLocked() { void BufferQueueCore::discardFreeBuffersLocked() { // Notify producer about the discarded buffers. if (mConnectedProducerListener != nullptr && mFreeBuffers.size() > 0) { std::vector<int32_t> freeBuffers(mFreeBuffers.begin(), mFreeBuffers.end()); mConnectedProducerListener->onBuffersDiscarded(freeBuffers); } for (int s : mFreeBuffers) { for (int s : mFreeBuffers) { mFreeSlots.insert(s); mFreeSlots.insert(s); clearBufferSlotLocked(s); clearBufferSlotLocked(s); Loading
libs/gui/BufferQueueProducer.cpp +2 −3 Original line number Original line Diff line number Diff line Loading @@ -1221,9 +1221,8 @@ status_t BufferQueueProducer::connect(const sp<IProducerListener>& listener, } } mCore->mLinkedToDeath = listener; mCore->mLinkedToDeath = listener; } } if (listener->needsReleaseNotify()) { mCore->mConnectedProducerListener = listener; mCore->mConnectedProducerListener = listener; } mCore->mBufferReleasedCbEnabled = listener->needsReleaseNotify(); } } break; break; default: default: Loading