Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a9347647 authored by Mathias Agopian's avatar Mathias Agopian
Browse files

Break a dependency of libui on libandroid

This was only a header dependency, but it still
created a circular dependency, which will cause
problems in another CL.

We fix this by creating a libarect static library
containing only that header. both libui and
libandroid now depend on it and reexport the 
header. 

We also make sure rect.h ends-up in the right
place.

Test: built and booted device
Bug: 35164655

Change-Id: Iba25b8b801b26b26ec1401c00caf367a06f197ca
parent 7777e9f6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ LOCAL_SHARED_LIBRARIES := \
    libprotobuf-cpp-lite \
    libsurfacereplayer \
    libutils \
    libgui \

LOCAL_STATIC_LIBRARIES := \
    libtrace_proto \
+2 −7
Original line number Diff line number Diff line
@@ -18,18 +18,13 @@
#define ANDROID_GUI_BUFFERITEMCONSUMER_H

#include <gui/ConsumerBase.h>

#include <ui/GraphicBuffer.h>

#include <utils/String8.h>
#include <utils/Vector.h>
#include <utils/threads.h>
#include <gui/BufferQueue.h>

#define ANDROID_GRAPHICS_BUFFERITEMCONSUMER_JNI_ID "mBufferItemConsumer"

namespace android {

class BufferQueue;
class String8;

/**
 * BufferItemConsumer is a BufferQueue consumer endpoint that allows clients
+8 −4
Original line number Diff line number Diff line
@@ -17,19 +17,23 @@
#ifndef ANDROID_GUI_CONSUMERBASE_H
#define ANDROID_GUI_CONSUMERBASE_H

#include <gui/BufferQueue.h>
#include <gui/BufferQueueDefs.h>
#include <gui/IConsumerListener.h>
#include <gui/IGraphicBufferConsumer.h>
#include <gui/OccupancyTracker.h>

#include <ui/GraphicBuffer.h>
#include <ui/PixelFormat.h>

#include <utils/String8.h>
#include <utils/Vector.h>
#include <utils/threads.h>
#include <gui/IConsumerListener.h>


namespace android {
// ----------------------------------------------------------------------------

class String8;
class GraphicBuffer;

// ConsumerBase is a base class for BufferQueue consumer end-points. It
// handles common tasks like management of the connection to the BufferQueue
@@ -222,7 +226,7 @@ protected:
    // slot that has not yet been used. The buffer allocated to a slot will also
    // be replaced if the requested buffer usage or geometry differs from that
    // of the buffer allocated to a slot.
    Slot mSlots[BufferQueue::NUM_BUFFER_SLOTS];
    Slot mSlots[BufferQueueDefs::NUM_BUFFER_SLOTS];

    // mAbandoned indicates that the BufferQueue will no longer be used to
    // consume images buffers pushed to it using the IGraphicBufferProducer
+5 −4
Original line number Diff line number Diff line
@@ -17,18 +17,19 @@
#ifndef ANDROID_GUI_CPUCONSUMER_H
#define ANDROID_GUI_CPUCONSUMER_H

#include <gui/ConsumerBase.h>
#include <system/window.h>

#include <ui/GraphicBuffer.h>
#include <gui/ConsumerBase.h>
#include <gui/BufferQueue.h>

#include <utils/String8.h>
#include <utils/Vector.h>
#include <utils/threads.h>


namespace android {

class BufferQueue;
class GraphicBuffer;
class String8;

/**
 * CpuConsumer is a BufferQueue consumer endpoint that allows direct CPU
+2 −3
Original line number Diff line number Diff line
@@ -20,8 +20,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>

#include <gui/IGraphicBufferProducer.h>
#include <gui/BufferQueue.h>
#include <gui/BufferQueueDefs.h>
#include <gui/ConsumerBase.h>

#include <ui/GraphicBuffer.h>
@@ -489,7 +488,7 @@ private:
    // slot that has not yet been used. The buffer allocated to a slot will also
    // be replaced if the requested buffer usage or geometry differs from that
    // of the buffer allocated to a slot.
    EglSlot mEglSlots[BufferQueue::NUM_BUFFER_SLOTS];
    EglSlot mEglSlots[BufferQueueDefs::NUM_BUFFER_SLOTS];

    // mCurrentTexture is the buffer slot index of the buffer that is currently
    // bound to the OpenGL texture. It is initialized to INVALID_BUFFER_SLOT,
Loading