Add metadata for mouse cursor. am: b0412cfa69

Change-Id: Ieca70489377e10149e73febe647a59f28adce418
This commit is contained in:
Garfield Tan 2020-05-29 21:57:16 +00:00 committed by Automerger Merge Worker
commit 555e4f25a5
3 changed files with 10 additions and 5 deletions

View file

@ -701,14 +701,15 @@ SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setLayer
}
SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setMetadata(
const sp<SurfaceControl>& sc, uint32_t key, std::vector<uint8_t> data) {
const sp<SurfaceControl>& sc, uint32_t key, const Parcel& p) {
layer_state_t* s = getLayerState(sc);
if (!s) {
mStatus = BAD_INDEX;
return *this;
}
s->what |= layer_state_t::eMetadataChanged;
s->metadata.mMap[key] = std::move(data);
s->metadata.mMap[key] = {p.data(), p.data() + p.dataSize()};
registerSurfaceControlForCallback(sc);
return *this;

View file

@ -22,7 +22,12 @@
namespace android {
enum { METADATA_OWNER_UID = 1, METADATA_WINDOW_TYPE = 2, METADATA_TASK_ID = 3 };
enum {
METADATA_OWNER_UID = 1,
METADATA_WINDOW_TYPE = 2,
METADATA_TASK_ID = 3,
METADATA_MOUSE_CURSOR = 4,
};
struct LayerMetadata : public Parcelable {
std::unordered_map<uint32_t, std::vector<uint8_t>> mMap;

View file

@ -362,8 +362,7 @@ public:
Transaction& setCrop_legacy(const sp<SurfaceControl>& sc, const Rect& crop);
Transaction& setCornerRadius(const sp<SurfaceControl>& sc, float cornerRadius);
Transaction& setLayerStack(const sp<SurfaceControl>& sc, uint32_t layerStack);
Transaction& setMetadata(const sp<SurfaceControl>& sc, uint32_t key,
std::vector<uint8_t> data);
Transaction& setMetadata(const sp<SurfaceControl>& sc, uint32_t key, const Parcel& p);
// Defers applying any changes made in this transaction until the Layer
// identified by handle reaches the given frameNumber. If the Layer identified
// by handle is removed, then we will apply this transaction regardless of