Currently DesktopView not only contains UI configuration for the view but also have logic for controlling the renderer like transformationChanged(). Ideally we should decouple the render controlling logic from the DesktopView.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e48c522694fb6849c113c2442e2cd4fa3eea779d commit e48c522694fb6849c113c2442e2cd4fa3eea779d Author: yuweih <yuweih@chromium.org> Date: Fri Aug 26 19:07:11 2016 [Remoting Android] Move mRenderData into TouchInputHandler As the old bitmap DesktopView is removed, there is no need to allow the DesktopView to directly access the render data. This CL moves mRenderData into TouchInputHandler to simplify the logic of the DesktopView a little bit. BUG= 641123 Review-Url: https://codereview.chromium.org/2272253004 Cr-Commit-Position: refs/heads/master@{#414772} [modify] https://crrev.com/e48c522694fb6849c113c2442e2cd4fa3eea779d/remoting/android/java/src/org/chromium/chromoting/DesktopCanvas.java [modify] https://crrev.com/e48c522694fb6849c113c2442e2cd4fa3eea779d/remoting/android/java/src/org/chromium/chromoting/DesktopView.java [modify] https://crrev.com/e48c522694fb6849c113c2442e2cd4fa3eea779d/remoting/android/java/src/org/chromium/chromoting/GlDesktopView.java [modify] https://crrev.com/e48c522694fb6849c113c2442e2cd4fa3eea779d/remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java
A refactoring plan: https://docs.google.com/document/d/1mdJNI-CnpoJf6tSCeKphK6Bd4fyqtn3sjA_Nm5EXUnQ/edit?usp=sharing
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/706c49eb66412c04352e53273266dfe08946e7ef commit 706c49eb66412c04352e53273266dfe08946e7ef Author: yuweih <yuweih@chromium.org> Date: Wed Aug 31 04:30:58 2016 [Remoting Android] Move setAnimationEnabled to TouchInputHandler Since GlDisplay already triggers an onCanvasRendered() event, TouchInputHandler just simply needs to listen to that event decide what to do inside its scope. This CL moves the setAnimationEnabled logic into TouchInputHandler since DesktopView doesn't need to do anything in this process. BUG= 641123 Review-Url: https://codereview.chromium.org/2281983004 Cr-Commit-Position: refs/heads/master@{#415558} [modify] https://crrev.com/706c49eb66412c04352e53273266dfe08946e7ef/remoting/android/java/src/org/chromium/chromoting/DesktopView.java [modify] https://crrev.com/706c49eb66412c04352e53273266dfe08946e7ef/remoting/android/java/src/org/chromium/chromoting/GlDesktopView.java [modify] https://crrev.com/706c49eb66412c04352e53273266dfe08946e7ef/remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/60961fad23f2bab7372211fd971af813df74650d commit 60961fad23f2bab7372211fd971af813df74650d Author: yuweih <yuweih@chromium.org> Date: Wed Aug 31 23:55:55 2016 [Remoting Android] Move feedback type to radius logic out of DesktopView The feedback-type-to-radius logic should be renderer specific so it doesn't quite make sense to define the conversion function inside the view. This CL creates a standalone class for handling feedback type to radius conversion. BUG= 641123 Review-Url: https://codereview.chromium.org/2297073002 Cr-Commit-Position: refs/heads/master@{#415810} [modify] https://crrev.com/60961fad23f2bab7372211fd971af813df74650d/remoting/android/client_java_tmpl.gni [modify] https://crrev.com/60961fad23f2bab7372211fd971af813df74650d/remoting/android/java/src/org/chromium/chromoting/DesktopView.java [modify] https://crrev.com/60961fad23f2bab7372211fd971af813df74650d/remoting/android/java/src/org/chromium/chromoting/GlDesktopView.java [add] https://crrev.com/60961fad23f2bab7372211fd971af813df74650d/remoting/android/java/src/org/chromium/chromoting/InputFeedbackRadiusMapper.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0c198c51b1a159bc0354106588ef54903e4d818c commit 0c198c51b1a159bc0354106588ef54903e4d818c Author: yuweih <yuweih@chromium.org> Date: Sat Sep 03 00:43:27 2016 [Remoting Android] Create Interfaces for GlDisplay This CL adds RenderStub and RenderCallback interface for GlDisplay in preparation of moving render controlling logic out of DesktopView and removing GlDesktopView. BUG= 641123 Review-Url: https://codereview.chromium.org/2282783003 Cr-Commit-Position: refs/heads/master@{#416415} [modify] https://crrev.com/0c198c51b1a159bc0354106588ef54903e4d818c/remoting/android/client_java_tmpl.gni [modify] https://crrev.com/0c198c51b1a159bc0354106588ef54903e4d818c/remoting/android/java/src/org/chromium/chromoting/DesktopView.java [modify] https://crrev.com/0c198c51b1a159bc0354106588ef54903e4d818c/remoting/android/java/src/org/chromium/chromoting/GlDesktopView.java [modify] https://crrev.com/0c198c51b1a159bc0354106588ef54903e4d818c/remoting/android/java/src/org/chromium/chromoting/InputFeedbackRadiusMapper.java [modify] https://crrev.com/0c198c51b1a159bc0354106588ef54903e4d818c/remoting/android/java/src/org/chromium/chromoting/InputStrategyInterface.java [add] https://crrev.com/0c198c51b1a159bc0354106588ef54903e4d818c/remoting/android/java/src/org/chromium/chromoting/RenderStub.java [modify] https://crrev.com/0c198c51b1a159bc0354106588ef54903e4d818c/remoting/android/java/src/org/chromium/chromoting/SimulatedTouchInputStrategy.java [modify] https://crrev.com/0c198c51b1a159bc0354106588ef54903e4d818c/remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java [modify] https://crrev.com/0c198c51b1a159bc0354106588ef54903e4d818c/remoting/android/java/src/org/chromium/chromoting/TouchInputStrategy.java [modify] https://crrev.com/0c198c51b1a159bc0354106588ef54903e4d818c/remoting/android/java/src/org/chromium/chromoting/TrackpadInputStrategy.java [modify] https://crrev.com/0c198c51b1a159bc0354106588ef54903e4d818c/remoting/android/java/src/org/chromium/chromoting/jni/GlDisplay.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/56ba6ed7f8898ea9b6fbc7a573a3adaaa404e591 commit 56ba6ed7f8898ea9b6fbc7a573a3adaaa404e591 Author: yuweih <yuweih@chromium.org> Date: Tue Sep 13 19:37:19 2016 [Remoting Android] Refactor GlDesktopView This CL further refactors the DesktopView design. Now DesktopView will have no rendering related logic and there is no need to have placeholder for implementation specific DesktopView. BUG= 641123 Review-Url: https://codereview.chromium.org/2322623002 Cr-Commit-Position: refs/heads/master@{#418337} [modify] https://crrev.com/56ba6ed7f8898ea9b6fbc7a573a3adaaa404e591/remoting/android/client_java_tmpl.gni [modify] https://crrev.com/56ba6ed7f8898ea9b6fbc7a573a3adaaa404e591/remoting/android/java/res/layout/desktop.xml [modify] https://crrev.com/56ba6ed7f8898ea9b6fbc7a573a3adaaa404e591/remoting/android/java/src/org/chromium/chromoting/Desktop.java [modify] https://crrev.com/56ba6ed7f8898ea9b6fbc7a573a3adaaa404e591/remoting/android/java/src/org/chromium/chromoting/DesktopCanvas.java [modify] https://crrev.com/56ba6ed7f8898ea9b6fbc7a573a3adaaa404e591/remoting/android/java/src/org/chromium/chromoting/DesktopView.java [delete] https://crrev.com/893681cf540119c84f2ff8adcc93738d5cced3e2/remoting/android/java/src/org/chromium/chromoting/GlDesktopView.java [modify] https://crrev.com/56ba6ed7f8898ea9b6fbc7a573a3adaaa404e591/remoting/android/java/src/org/chromium/chromoting/InputMonitor.java [modify] https://crrev.com/56ba6ed7f8898ea9b6fbc7a573a3adaaa404e591/remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java [modify] https://crrev.com/56ba6ed7f8898ea9b6fbc7a573a3adaaa404e591/remoting/android/java/src/org/chromium/chromoting/jni/Client.java [modify] https://crrev.com/56ba6ed7f8898ea9b6fbc7a573a3adaaa404e591/remoting/android/java/src/org/chromium/chromoting/jni/GlDisplay.java
Comment 1 by bugdroid1@chromium.org
, Aug 26 2016