New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 615277 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: Dec 2017
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Feature



Sign in to add a comment

Remote Desktop Android Client Refactor

Project Member Reported by zijiehe@chromium.org, May 27 2016

Issue description

OS: Android

This is a bug to track all Android Client Refactor work.

Design doc is @ https://goo.gl/MA6zjx.
 
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 2 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/852fb89c23feb6a6d6cc24d1acf87fac0eeb8ceb

commit 852fb89c23feb6a6d6cc24d1acf87fac0eeb8ceb
Author: zijiehe <zijiehe@chromium.org>
Date: Thu Jun 02 23:38:52 2016

[Chromoting] Minor changes to TapGestureDetector

This change finals several fields in TapGestureDetector, and fixes potential
issue which impacts long press position, and causing it not to be updated.

BUG= 615277 

Review-Url: https://codereview.chromium.org/2032883002
Cr-Commit-Position: refs/heads/master@{#397545}

[modify] https://crrev.com/852fb89c23feb6a6d6cc24d1acf87fac0eeb8ceb/remoting/android/java/src/org/chromium/chromoting/TapGestureDetector.java

Project Member

Comment 3 by bugdroid1@chromium.org, Jun 3 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/06d70696de0b8fac307927064bd36be2d486fe2a

commit 06d70696de0b8fac307927064bd36be2d486fe2a
Author: zijiehe <zijiehe@chromium.org>
Date: Fri Jun 03 03:43:40 2016

[chromoting] Use Event to render feedback animations.

This change moves FeedbackAnimator into a standalone class, with a startAnimation static function to register a SelfRemovableParameterRunnable into onPaint event of DesktopView. After animation finishes, the SelfRemovableParameterRunnable will be removed from onPaint event automatically.

This change is part of Chromoting Android Client Refactor work. A design doc can
be found at https://goo.gl/MA6zjx.

BUG= 615277 

Review-Url: https://codereview.chromium.org/2023133002
Cr-Commit-Position: refs/heads/master@{#397619}

[modify] https://crrev.com/06d70696de0b8fac307927064bd36be2d486fe2a/remoting/android/client_java_tmpl.gni
[modify] https://crrev.com/06d70696de0b8fac307927064bd36be2d486fe2a/remoting/android/java/src/org/chromium/chromoting/DesktopView.java
[modify] https://crrev.com/06d70696de0b8fac307927064bd36be2d486fe2a/remoting/android/java/src/org/chromium/chromoting/DesktopViewInterface.java
[add] https://crrev.com/06d70696de0b8fac307927064bd36be2d486fe2a/remoting/android/java/src/org/chromium/chromoting/FeedbackAnimator.java
[add] https://crrev.com/06d70696de0b8fac307927064bd36be2d486fe2a/remoting/android/java/src/org/chromium/chromoting/PaintEventParameter.java
[modify] https://crrev.com/06d70696de0b8fac307927064bd36be2d486fe2a/remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java

Project Member

Comment 4 by bugdroid1@chromium.org, Jun 3 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/90227c12f3bd94c48c6aa4bccb2ce773a4c48ecb

commit 90227c12f3bd94c48c6aa4bccb2ce773a4c48ecb
Author: zijiehe <zijiehe@chromium.org>
Date: Fri Jun 03 19:03:52 2016

[Chromoting] Final SelfRemovableParameterRunnable

This is a trivial change to make Event.SelfRemovableParameterRunnable final.

BUG= 615277 

Review-Url: https://codereview.chromium.org/2033573002
Cr-Commit-Position: refs/heads/master@{#397769}

[modify] https://crrev.com/90227c12f3bd94c48c6aa4bccb2ce773a4c48ecb/remoting/android/java/src/org/chromium/chromoting/Event.java

Project Member

Comment 5 by bugdroid1@chromium.org, Jun 7 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/96f227fa9b64bb434c0fc0ec6f00aec85b16cb98

commit 96f227fa9b64bb434c0fc0ec6f00aec85b16cb98
Author: zijiehe <zijiehe@chromium.org>
Date: Tue Jun 07 01:33:49 2016

[Chromoting] Decouple DesktopView and TouchInputHandler

This change decouples DesktopView(Interface) and TouchInputHandler(Interface) by
removing routing functions
DesktopViewInterface.onSoftInputMethodVisibilityChanged and
DesktopViewInterface.setInputStrategy. After this change, TouchInputHandler
takes responsibility to listen to onInputModeChanged and
onSoftInputMethodVisibilityChanged events of Desktop activity directly.

This is part remoting desktop Android client refactor work, a design doc is @
https://goo.gl/MA6zjx.

BUG= 615277 

Review-Url: https://codereview.chromium.org/2035303002
Cr-Commit-Position: refs/heads/master@{#398192}

[modify] https://crrev.com/96f227fa9b64bb434c0fc0ec6f00aec85b16cb98/remoting/android/client_java_tmpl.gni
[modify] https://crrev.com/96f227fa9b64bb434c0fc0ec6f00aec85b16cb98/remoting/android/java/src/org/chromium/chromoting/Desktop.java
[modify] https://crrev.com/96f227fa9b64bb434c0fc0ec6f00aec85b16cb98/remoting/android/java/src/org/chromium/chromoting/DesktopView.java
[modify] https://crrev.com/96f227fa9b64bb434c0fc0ec6f00aec85b16cb98/remoting/android/java/src/org/chromium/chromoting/DesktopViewInterface.java
[add] https://crrev.com/96f227fa9b64bb434c0fc0ec6f00aec85b16cb98/remoting/android/java/src/org/chromium/chromoting/InputModeChangedEventParameter.java
[modify] https://crrev.com/96f227fa9b64bb434c0fc0ec6f00aec85b16cb98/remoting/android/java/src/org/chromium/chromoting/Preconditions.java
[add] https://crrev.com/96f227fa9b64bb434c0fc0ec6f00aec85b16cb98/remoting/android/java/src/org/chromium/chromoting/SoftInputMethodVisibilityChangedEventParameter.java
[modify] https://crrev.com/96f227fa9b64bb434c0fc0ec6f00aec85b16cb98/remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java
[modify] https://crrev.com/96f227fa9b64bb434c0fc0ec6f00aec85b16cb98/remoting/android/java/src/org/chromium/chromoting/TouchInputHandlerInterface.java

Project Member

Comment 6 by bugdroid1@chromium.org, Jun 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2e1a7b320eec10d8b69937e4540d781c4bc748bb

commit 2e1a7b320eec10d8b69937e4540d781c4bc748bb
Author: zijiehe <zijiehe@chromium.org>
Date: Thu Jun 09 18:39:12 2016

[Chromoting] TouchInputHandler now listens to events in DesktopView

This change is to continually decouple TouchInputHandler and DesktopView.
Instead of calling functions of TouchInputHandler from DesktopView, now
TouchInputHandler listens to a set of DesktopViewInterface events. So we can
have another implementation listens to the same events concurrently without
impacting current logic.
The advantages of this design are,
1. Eventually we do not need to modify mRenderData in DesktopView anymore, it
can also listen to onClientSizeChanged / onHostSizeChanged event.
2. We can have a dummy DesktopViewInterface to test other components.
3. We can forward exactly same events to several implementations, and compare
their outputs. For example, comparing the events generated by TouchInputHandler
and a new implementation.

This is part remoting desktop Android client refactor work, a design doc is @
https://goo.gl/MA6zjx.

BUG= 615277 

Review-Url: https://codereview.chromium.org/2047903002
Cr-Commit-Position: refs/heads/master@{#398956}

[modify] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/client_java_tmpl.gni
[modify] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/DesktopView.java
[modify] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/DesktopViewInterface.java
[modify] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/FeedbackAnimator.java
[add] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/ScaleEventParameter.java
[add] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/SizeChangedEventParameter.java
[add] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/TapEventParameter.java
[add] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/TouchEventParameter.java
[modify] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java
[modify] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/TouchInputHandlerInterface.java
[add] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/TwoPointsEventParameter.java

Project Member

Comment 7 by bugdroid1@chromium.org, Jun 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2e1a7b320eec10d8b69937e4540d781c4bc748bb

commit 2e1a7b320eec10d8b69937e4540d781c4bc748bb
Author: zijiehe <zijiehe@chromium.org>
Date: Thu Jun 09 18:39:12 2016

[Chromoting] TouchInputHandler now listens to events in DesktopView

This change is to continually decouple TouchInputHandler and DesktopView.
Instead of calling functions of TouchInputHandler from DesktopView, now
TouchInputHandler listens to a set of DesktopViewInterface events. So we can
have another implementation listens to the same events concurrently without
impacting current logic.
The advantages of this design are,
1. Eventually we do not need to modify mRenderData in DesktopView anymore, it
can also listen to onClientSizeChanged / onHostSizeChanged event.
2. We can have a dummy DesktopViewInterface to test other components.
3. We can forward exactly same events to several implementations, and compare
their outputs. For example, comparing the events generated by TouchInputHandler
and a new implementation.

This is part remoting desktop Android client refactor work, a design doc is @
https://goo.gl/MA6zjx.

BUG= 615277 

Review-Url: https://codereview.chromium.org/2047903002
Cr-Commit-Position: refs/heads/master@{#398956}

[modify] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/client_java_tmpl.gni
[modify] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/DesktopView.java
[modify] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/DesktopViewInterface.java
[modify] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/FeedbackAnimator.java
[add] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/ScaleEventParameter.java
[add] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/SizeChangedEventParameter.java
[add] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/TapEventParameter.java
[add] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/TouchEventParameter.java
[modify] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java
[modify] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/TouchInputHandlerInterface.java
[add] https://crrev.com/2e1a7b320eec10d8b69937e4540d781c4bc748bb/remoting/android/java/src/org/chromium/chromoting/TwoPointsEventParameter.java

Project Member

Comment 8 by bugdroid1@chromium.org, Jun 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1a5aae1dd974c23bb6e990cccaa84eb648a02955

commit 1a5aae1dd974c23bb6e990cccaa84eb648a02955
Author: zijiehe <zijiehe@chromium.org>
Date: Thu Jun 23 19:29:55 2016

[Chromoting] Add InputStub and InputEventSender for easy unittesting

Currently only TouchInputStrategy is testable with RemoteInputInjector. So this
change adds InputStub, which is an interface to represent a set of low level
functions to send users' activities to remote host machine. So one can use a
MockInputStub to log down all the events which should be sent to remote
host, and test the behavior of InputStrategyInterface(s) or other
implementations.
Meanwhile this change also adds an InputEventSender, which provides a set of
shortcut functions to directly send Android events instead of raw JNI types.

This change is part of Android Remote Desktop client refactor, a design doc is
@ https://goo.gl/MA6zjx.

BUG= 615277 

Review-Url: https://codereview.chromium.org/2066683003
Cr-Commit-Position: refs/heads/master@{#401681}

[modify] https://crrev.com/1a5aae1dd974c23bb6e990cccaa84eb648a02955/remoting/android/BUILD.gn
[modify] https://crrev.com/1a5aae1dd974c23bb6e990cccaa84eb648a02955/remoting/android/client_java_tmpl.gni
[modify] https://crrev.com/1a5aae1dd974c23bb6e990cccaa84eb648a02955/remoting/android/java/src/org/chromium/chromoting/Desktop.java
[modify] https://crrev.com/1a5aae1dd974c23bb6e990cccaa84eb648a02955/remoting/android/java/src/org/chromium/chromoting/DesktopView.java
[add] https://crrev.com/1a5aae1dd974c23bb6e990cccaa84eb648a02955/remoting/android/java/src/org/chromium/chromoting/InputEventSender.java
[add] https://crrev.com/1a5aae1dd974c23bb6e990cccaa84eb648a02955/remoting/android/java/src/org/chromium/chromoting/InputStub.java
[modify] https://crrev.com/1a5aae1dd974c23bb6e990cccaa84eb648a02955/remoting/android/java/src/org/chromium/chromoting/SimulatedTouchInputStrategy.java
[modify] https://crrev.com/1a5aae1dd974c23bb6e990cccaa84eb648a02955/remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java
[delete] https://crrev.com/ac9f9a5461cce3b952af868bb46a14a73d58e814/remoting/android/java/src/org/chromium/chromoting/TouchInputHandlerInterface.java
[modify] https://crrev.com/1a5aae1dd974c23bb6e990cccaa84eb648a02955/remoting/android/java/src/org/chromium/chromoting/TouchInputStrategy.java
[modify] https://crrev.com/1a5aae1dd974c23bb6e990cccaa84eb648a02955/remoting/android/java/src/org/chromium/chromoting/TrackpadInputStrategy.java
[modify] https://crrev.com/1a5aae1dd974c23bb6e990cccaa84eb648a02955/remoting/android/java/src/org/chromium/chromoting/cardboard/Cursor.java
[modify] https://crrev.com/1a5aae1dd974c23bb6e990cccaa84eb648a02955/remoting/android/java/src/org/chromium/chromoting/cardboard/DesktopActivity.java
[modify] https://crrev.com/1a5aae1dd974c23bb6e990cccaa84eb648a02955/remoting/android/java/src/org/chromium/chromoting/jni/Client.java
[add] https://crrev.com/1a5aae1dd974c23bb6e990cccaa84eb648a02955/remoting/android/javatests/src/org/chromium/chromoting/MockInputStub.java
[add] https://crrev.com/1a5aae1dd974c23bb6e990cccaa84eb648a02955/remoting/android/javatests/src/org/chromium/chromoting/TouchEventBuilder.java
[modify] https://crrev.com/1a5aae1dd974c23bb6e990cccaa84eb648a02955/remoting/android/javatests/src/org/chromium/chromoting/TouchInputStrategyTest.java

Project Member

Comment 9 by bugdroid1@chromium.org, Jul 19 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1b741db696756e36216cb69719c162cb6617fde6

commit 1b741db696756e36216cb69719c162cb6617fde6
Author: zijiehe <zijiehe@chromium.org>
Date: Tue Jul 19 03:10:26 2016

[Chromoting] Add InputMonitor and InputState

Since gesture detection logic has no relationship with gesture handling logic,
this change adds InputMonitor and InputState to detect gestures and raise a set
of events to indicate different gestures.

This change won't impact existing logic, so should have no end user impacts.

Starting from this change, instead of refactoring existing code, a set of new
classes will be added. So we can easily test the differences between existing
implementation and new implementation. So currently no tests are added for
InputMonitor. For further test and replacement plan, please refer to the design
doc.

This is part of Remote Desktop Android Client Refactor work. Design doc can be
found at https://goo.gl/MA6zjx.

BUG= 615277 

Review-Url: https://codereview.chromium.org/2097273002
Cr-Commit-Position: refs/heads/master@{#406198}

[modify] https://crrev.com/1b741db696756e36216cb69719c162cb6617fde6/remoting/android/client_java_tmpl.gni
[add] https://crrev.com/1b741db696756e36216cb69719c162cb6617fde6/remoting/android/java/src/org/chromium/chromoting/InputMonitor.java
[add] https://crrev.com/1b741db696756e36216cb69719c162cb6617fde6/remoting/android/java/src/org/chromium/chromoting/InputState.java
[modify] https://crrev.com/1b741db696756e36216cb69719c162cb6617fde6/remoting/android/java/src/org/chromium/chromoting/TapEventParameter.java
[modify] https://crrev.com/1b741db696756e36216cb69719c162cb6617fde6/remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java
[modify] https://crrev.com/1b741db696756e36216cb69719c162cb6617fde6/remoting/android/java/src/org/chromium/chromoting/TwoPointsEventParameter.java

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 7 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dcc5d04905bb29d9a1786adcae1332d447ef6332

commit dcc5d04905bb29d9a1786adcae1332d447ef6332
Author: zijiehe <zijiehe@chromium.org>
Date: Fri Oct 07 05:25:44 2016

[Chromoting] PromisedRaisable in Android client

Some events, such as RenderStub.onClientSizeChanged(), triggers only once during
its lifetime. Though we can ensure to add a ParameterRunnable before the event
is triggered, it seems a little bit inconvenient.
So this change adds a PromisedRaisable Event derived class to ensure newly
added ParameterRunnable can at least be executed once.

BUG= 615277 

Review-Url: https://codereview.chromium.org/2385593002
Cr-Commit-Position: refs/heads/master@{#423800}

[modify] https://crrev.com/dcc5d04905bb29d9a1786adcae1332d447ef6332/remoting/android/java/src/org/chromium/chromoting/Event.java
[modify] https://crrev.com/dcc5d04905bb29d9a1786adcae1332d447ef6332/remoting/android/javatests/src/org/chromium/chromoting/EventTest.java

Status: Assigned (was: Untriaged)
Status: WontFix (was: Assigned)

Sign in to add a comment