Allow PointerController to be disabled on creation

Disable the legacy PointerController when the PointerChoreographer is
enabled.

Bug: 278783893
Test: manual
Change-Id: I475f3286c83b90e161e186e62c2842e539434603
diff --git a/libs/input/PointerController.h b/libs/input/PointerController.h
index 01748a8..de39eda 100644
--- a/libs/input/PointerController.h
+++ b/libs/input/PointerController.h
@@ -47,7 +47,7 @@
 public:
     static std::shared_ptr<PointerController> create(
             const sp<PointerControllerPolicyInterface>& policy, const sp<Looper>& looper,
-            SpriteController& spriteController);
+            SpriteController& spriteController, bool enabled);
 
     ~PointerController() override;
 
@@ -83,12 +83,13 @@
 
     // Constructor used to test WindowInfosListener registration.
     PointerController(const sp<PointerControllerPolicyInterface>& policy, const sp<Looper>& looper,
-                      SpriteController& spriteController, WindowListenerConsumer registerListener,
+                      SpriteController& spriteController, bool enabled,
+                      WindowListenerConsumer registerListener,
                       WindowListenerConsumer unregisterListener);
 
 private:
     PointerController(const sp<PointerControllerPolicyInterface>& policy, const sp<Looper>& looper,
-                      SpriteController& spriteController);
+                      SpriteController& spriteController, bool enabled);
 
     friend PointerControllerContext::LooperCallback;
     friend PointerControllerContext::MessageHandler;
@@ -99,6 +100,8 @@
     // we use the DisplayInfoListener's lock in PointerController.
     std::mutex& getLock() const;
 
+    const bool mEnabled;
+
     PointerControllerContext mContext;
 
     MouseCursorController mCursorController;