Scale pointer coordinates to screen size from the webRTC client

The webRTC client has a video tag with a fixed size of 360x720 and
sent the pointer events to the server in that scale. The server then
scaled those cordinates to a hardcoded size of 720x1440 and sent that
to the guest. No further scaling was performed so other screen sizes
were not properly supported. Even if the final events were to be
scaled to the screen size this wouldn't work well the screen's aspect
ration was other than 1:2 since the video stream in the client won't
necessary occupy the entire height or width of the element capturing
the events.

With this change the webRTC client scales the event coordinates to the
resolution of the video stream, which matches the cf screen size. By
doing this in the client it can take into consideration the fact that
the video won't scale evenly when it has different aspect ratios.

Bug: 141887532
Test: locally
Change-Id: I80ba8496bde3aceb0563876e24bee268daa4a977
2 files changed
tree: ccb264f670369348fe3d9e042dfb19d30ce6ff6d
  1. common/
  2. guest/
  3. host/
  4. shared/
  5. tests/
  6. tools/
  7. vsoc_arm64/
  8. vsoc_x86/
  9. vsoc_x86_64/
  10. vsoc_x86_noapex/
  11. Android.bp
  12. Android.mk
  13. AndroidProducts.mk
  14. CleanSpec.mk
  15. dtb.img
  16. fetcher.mk
  17. host_package.mk
  18. OWNERS
  19. README.md
  20. TEST_MAPPING
README.md

So you want to try cuttlefish?

  1. Download, build, and install the host debian package:
git clone https://github.com/google/android-cuttlefish
cd android-cuttlefish
debuild -i -us -uc -b
sudo dpkg -i ../cuttlefish-common_*_amd64.deb
sudo apt-get install -f
  1. Go to http://ci.android.com/
  2. Enter a branch name. Start with aosp-master if you don't know what you're looking for
  3. Navigate to aosp_cf_x86_phone and click on userdebug for the latest build
  4. Click on Artifacts
  5. Scroll down to the OTA images. These packages look like aosp_cf_x86_phone-img-xxxxxx.zip -- it will always have img in the name. Download this file
  6. Scroll down to cvd-host_package.tar.gz. You should always download a host package from the same build as your images.
  7. On your local system, combine the packages:
mkdir cf
cd cf
tar xvf /path/to/cvd-host_package.tar.gz
unzip /path/to/aosp_cf_x86_phone-img-xxxxxx.zip
  1. Launch cuttlefish with:

    $ HOME=$PWD ./bin/launch_cvd

  2. Stop cuttlefish with:

    $ HOME=$PWD ./bin/stop_cvd

So you want to debug cuttlefish?

You can use adb to debug it, just like a physical device:

$ ./bin/adb -e shell

So you want to see cuttlefish?

You can use the TightVNC JViewer. Once you have downloaded the TightVNC Java Viewer JAR in a ZIP archive, run it with

$ java -jar tightvnc-jviewer.jar -ScalingFactor=50 -Tunneling=no -host=localhost -port=6444

Click "Connect" and you should see a lock screen!