fix [2112575] stuck on DequeueCondition for a surface that doesn't exist anymore
this also fixes part of [2111536] Device is soft rebooted after ending the call through voice dialer
diff --git a/include/private/ui/SharedBufferStack.h b/include/private/ui/SharedBufferStack.h
index e56b8b2..6181f55 100644
--- a/include/private/ui/SharedBufferStack.h
+++ b/include/private/ui/SharedBufferStack.h
@@ -85,6 +85,7 @@
public:
SharedBufferStack();
+ void init(int32_t identity);
status_t setDirtyRegion(int buffer, const Region& reg);
Region getDirtyRegion(int buffer) const;
@@ -114,7 +115,6 @@
status_t validate(size_t token) const;
uint32_t getIdentity(size_t token) const;
- status_t setIdentity(size_t token, uint32_t identity);
private:
friend class SharedBufferBase;
@@ -262,7 +262,8 @@
class SharedBufferServer : public SharedBufferBase
{
public:
- SharedBufferServer(SharedClient* sharedClient, int surface, int num);
+ SharedBufferServer(SharedClient* sharedClient, int surface, int num,
+ int32_t identity);
ssize_t retireAndLock();
status_t unlock(int buffer);