diff options
Diffstat (limited to 'libs/input/InputWindow.cpp')
-rw-r--r-- | libs/input/InputWindow.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/libs/input/InputWindow.cpp b/libs/input/InputWindow.cpp index 885dc9b51e..8546bbbb43 100644 --- a/libs/input/InputWindow.cpp +++ b/libs/input/InputWindow.cpp @@ -59,10 +59,11 @@ bool InputWindowInfo::operator==(const InputWindowInfo& info) const { info.surfaceInset == surfaceInset && info.globalScaleFactor == globalScaleFactor && info.transform == transform && info.touchableRegion.hasSameRects(touchableRegion) && info.visible == visible && info.trustedOverlay == trustedOverlay && - info.focusable == focusable && info.hasWallpaper == hasWallpaper && - info.paused == paused && info.ownerPid == ownerPid && info.ownerUid == ownerUid && - info.inputFeatures == inputFeatures && info.displayId == displayId && - info.portalToDisplayId == portalToDisplayId && + info.focusable == focusable && info.touchOcclusionMode == touchOcclusionMode && + info.hasWallpaper == hasWallpaper && info.paused == paused && + info.ownerPid == ownerPid && info.ownerUid == ownerUid && + info.packageName == packageName && info.inputFeatures == inputFeatures && + info.displayId == displayId && info.portalToDisplayId == portalToDisplayId && info.replaceTouchableRegionWithCrop == replaceTouchableRegionWithCrop && info.applicationInfo == applicationInfo; } @@ -91,6 +92,7 @@ status_t InputWindowInfo::writeToParcel(android::Parcel* parcel) const { parcel->writeInt32(frameBottom) ?: parcel->writeInt32(surfaceInset) ?: parcel->writeFloat(globalScaleFactor) ?: + parcel->writeFloat(alpha) ?: parcel->writeFloat(transform.dsdx()) ?: parcel->writeFloat(transform.dtdx()) ?: parcel->writeFloat(transform.tx()) ?: @@ -102,8 +104,10 @@ status_t InputWindowInfo::writeToParcel(android::Parcel* parcel) const { parcel->writeBool(hasWallpaper) ?: parcel->writeBool(paused) ?: parcel->writeBool(trustedOverlay) ?: + parcel->writeInt32(static_cast<int32_t>(touchOcclusionMode)) ?: parcel->writeInt32(ownerPid) ?: parcel->writeInt32(ownerUid) ?: + parcel->writeUtf8AsUtf16(packageName) ?: parcel->writeInt32(inputFeatures.get()) ?: parcel->writeInt32(displayId) ?: parcel->writeInt32(portalToDisplayId) ?: @@ -134,6 +138,7 @@ status_t InputWindowInfo::readFromParcel(const android::Parcel* parcel) { flags = Flags<Flag>(parcel->readInt32()); type = static_cast<Type>(parcel->readInt32()); float dsdx, dtdx, tx, dtdy, dsdy, ty; + int32_t touchOcclusionModeInt; // clang-format off status = parcel->readInt32(&frameLeft) ?: parcel->readInt32(&frameTop) ?: @@ -141,6 +146,7 @@ status_t InputWindowInfo::readFromParcel(const android::Parcel* parcel) { parcel->readInt32(&frameBottom) ?: parcel->readInt32(&surfaceInset) ?: parcel->readFloat(&globalScaleFactor) ?: + parcel->readFloat(&alpha) ?: parcel->readFloat(&dsdx) ?: parcel->readFloat(&dtdx) ?: parcel->readFloat(&tx) ?: @@ -152,14 +158,18 @@ status_t InputWindowInfo::readFromParcel(const android::Parcel* parcel) { parcel->readBool(&hasWallpaper) ?: parcel->readBool(&paused) ?: parcel->readBool(&trustedOverlay) ?: + parcel->readInt32(&touchOcclusionModeInt) ?: parcel->readInt32(&ownerPid) ?: - parcel->readInt32(&ownerUid); + parcel->readInt32(&ownerUid) ?: + parcel->readUtf8FromUtf16(&packageName); // clang-format on if (status != OK) { return status; } + touchOcclusionMode = static_cast<TouchOcclusionMode>(touchOcclusionModeInt); + inputFeatures = Flags<Feature>(parcel->readInt32()); status = parcel->readInt32(&displayId) ?: parcel->readInt32(&portalToDisplayId) ?: |