Revert "Change PointerController to display space"

Revert "Change PointerController to display space"

Revert submission 16194643-pointer-controller-in-display-space

Reason for revert: b/206817973
Reverted Changes:
I764c070ad:Change PointerController to display space
I5e9e19c36:Change PointerController to display space

Change-Id: I615d343968b818f498e905bab7963106b4e62651
diff --git a/libs/input/PointerController.cpp b/libs/input/PointerController.cpp
index 6ea303c..8f04cfb 100644
--- a/libs/input/PointerController.cpp
+++ b/libs/input/PointerController.cpp
@@ -17,29 +17,24 @@
 #define LOG_TAG "PointerController"
 //#define LOG_NDEBUG 0
 
-#include "PointerController.h"
-#include "PointerControllerContext.h"
+// Log debug messages about pointer updates
+#define DEBUG_POINTER_UPDATES 0
 
+#include "PointerController.h"
+#include "MouseCursorController.h"
+#include "PointerControllerContext.h"
+#include "TouchSpotController.h"
+
+#include <log/log.h>
+
+#include <SkBitmap.h>
 #include <SkBlendMode.h>
 #include <SkCanvas.h>
 #include <SkColor.h>
+#include <SkPaint.h>
 
 namespace android {
 
-namespace {
-
-const ui::Transform kIdentityTransform;
-
-} // namespace
-
-// --- PointerController::DisplayInfoListener ---
-
-void PointerController::DisplayInfoListener::onWindowInfosChanged(
-        const std::vector<android::gui::WindowInfo>&,
-        const std::vector<android::gui::DisplayInfo>& displayInfo) {
-    mPointerController.onDisplayInfosChanged(displayInfo);
-}
-
 // --- PointerController ---
 
 std::shared_ptr<PointerController> PointerController::create(
@@ -68,12 +63,9 @@
 PointerController::PointerController(const sp<PointerControllerPolicyInterface>& policy,
                                      const sp<Looper>& looper,
                                      const sp<SpriteController>& spriteController)
-      : mContext(policy, looper, spriteController, *this),
-        mCursorController(mContext),
-        mDisplayInfoListener(new DisplayInfoListener(*this)) {
+      : mContext(policy, looper, spriteController, *this), mCursorController(mContext) {
     std::scoped_lock lock(mLock);
     mLocked.presentation = Presentation::SPOT;
-    SurfaceComposerClient::getDefault()->addWindowInfosListener(mDisplayInfoListener);
 }
 
 bool PointerController::getBounds(float* outMinX, float* outMinY, float* outMaxX,
@@ -82,14 +74,7 @@
 }
 
 void PointerController::move(float deltaX, float deltaY) {
-    const int32_t displayId = mCursorController.getDisplayId();
-    vec2 transformed;
-    {
-        std::scoped_lock lock(mLock);
-        const auto& transform = getTransformForDisplayLocked(displayId);
-        transformed = transformWithoutTranslation(transform, {deltaX, deltaY});
-    }
-    mCursorController.move(transformed.x, transformed.y);
+    mCursorController.move(deltaX, deltaY);
 }
 
 void PointerController::setButtonState(int32_t buttonState) {
@@ -101,26 +86,12 @@
 }
 
 void PointerController::setPosition(float x, float y) {
-    const int32_t displayId = mCursorController.getDisplayId();
-    vec2 transformed;
-    {
-        std::scoped_lock lock(mLock);
-        const auto& transform = getTransformForDisplayLocked(displayId);
-        transformed = transform.transform(x, y);
-    }
-    mCursorController.setPosition(transformed.x, transformed.y);
+    std::scoped_lock lock(mLock);
+    mCursorController.setPosition(x, y);
 }
 
 void PointerController::getPosition(float* outX, float* outY) const {
-    const int32_t displayId = mCursorController.getDisplayId();
     mCursorController.getPosition(outX, outY);
-    {
-        std::scoped_lock lock(mLock);
-        const auto& transform = getTransformForDisplayLocked(displayId);
-        const auto xy = transform.inverse().transform(*outX, *outY);
-        *outX = xy.x;
-        *outY = xy.y;
-    }
 }
 
 int32_t PointerController::getDisplayId() const {
@@ -159,25 +130,11 @@
 void PointerController::setSpots(const PointerCoords* spotCoords, const uint32_t* spotIdToIndex,
                                  BitSet32 spotIdBits, int32_t displayId) {
     std::scoped_lock lock(mLock);
-    std::array<PointerCoords, MAX_POINTERS> outSpotCoords{};
-    const ui::Transform& transform = getTransformForDisplayLocked(displayId);
-
-    for (BitSet32 idBits(spotIdBits); !idBits.isEmpty();) {
-        const uint32_t index = spotIdToIndex[idBits.clearFirstMarkedBit()];
-
-        const vec2 xy = transform.transform(spotCoords[index].getXYValue());
-        outSpotCoords[index].setAxisValue(AMOTION_EVENT_AXIS_X, xy.x);
-        outSpotCoords[index].setAxisValue(AMOTION_EVENT_AXIS_Y, xy.y);
-
-        float pressure = spotCoords[index].getAxisValue(AMOTION_EVENT_AXIS_PRESSURE);
-        outSpotCoords[index].setAxisValue(AMOTION_EVENT_AXIS_PRESSURE, pressure);
-    }
-
     auto it = mLocked.spotControllers.find(displayId);
     if (it == mLocked.spotControllers.end()) {
         mLocked.spotControllers.try_emplace(displayId, displayId, mContext);
     }
-    mLocked.spotControllers.at(displayId).setSpots(outSpotCoords.data(), spotIdToIndex, spotIdBits);
+    mLocked.spotControllers.at(displayId).setSpots(spotCoords, spotIdToIndex, spotIdBits);
 }
 
 void PointerController::clearSpots() {
@@ -237,7 +194,7 @@
 
 void PointerController::onDisplayViewportsUpdated(std::vector<DisplayViewport>& viewports) {
     std::unordered_set<int32_t> displayIdSet;
-    for (const DisplayViewport& viewport : viewports) {
+    for (DisplayViewport viewport : viewports) {
         displayIdSet.insert(viewport.displayId);
     }
 
@@ -257,17 +214,4 @@
     }
 }
 
-void PointerController::onDisplayInfosChanged(const std::vector<gui::DisplayInfo>& displayInfo) {
-    std::scoped_lock lock(mLock);
-    mLocked.mDisplayInfos = displayInfo;
-}
-
-const ui::Transform& PointerController::getTransformForDisplayLocked(int displayId) const {
-    const auto& di = mLocked.mDisplayInfos;
-    auto it = std::find_if(di.begin(), di.end(), [displayId](const gui::DisplayInfo& info) {
-        return info.displayId == displayId;
-    });
-    return it != di.end() ? it->transform : kIdentityTransform;
-}
-
 } // namespace android