Skip to content

Android phone part of the interactive display for OPPO at 2017 Mobile World Congress (MWC) @Barcelona

Notifications You must be signed in to change notification settings

ioio-creative/OPPO_TestRecyclerView

Repository files navigation

OPPO_TestRecyclerView

A Xamarin Android project.

Introduction

This project is Android phone part of the interactive display for OPPO at 2017 Mobile World Congress (MWC) @Barcelona. It contains a RecyclerView for scrolling a vertical list of stripped images. It contains a TCP server. The scrolling speed and scrolled amount of the RecylcerView are sent to a TCP client connected to the phone either via Wifi or a USB cable, through ADB port forwarding. Note the TCP client is not part of this project. 2022-03-15 update The original android.support.v7.widget package has been migrated and replaced by andoirdx.recyclerview.widget and the target Android Framework has been updated to Android 10 - API 29

Partner repositories

This project works with either one of the following repositories, which acts as a TCP client.

  • OPPO_TcpClientThread - a TCP client C#.NET Windows Form program for testing messages received from the phone server.
  • OPPO_ImageSequence - a TCP client OpenFrameworks program for production use in the MWC OPPO interactive display.

Preparation of the vertical list of stripped images for filling the RecyclerView

Originally, we can have a 1080 x (1920 x n), (or anything that is in accordance to the aspect ratio and/or resolution of the phone), bottom-and-top-continuous image. Then we can divide this original image into a vertical list of stripped images by running the following Image Magick command for tile cropping / sub-dividing one image into multiple images.

$ magick convert phoneimage.jpg -crop 1080x48 +repage +adjoin phoneimage_1080x48_%05d.jpg

The magic number 48 in the command is because of the fact that 1920 is divisible by 48. Therefore, the above command divides a 1080 x 1920 image into fifty 1080 x 48 images.

ADB port forwarding for TCP server-client connection using ports of the "same" machine

To connect a TCP client of OPPO_TcpClientThread to the TCP server run in this phone's program, one has to run the following ADB port forwarding command on the machine which the phone is connected via ADB.

$ adb forward tcp:12580 tcp:10086

On the other hand, OPPO_ImageSequence is programmed to run the above ADB port forwarding command itself.

About

Android phone part of the interactive display for OPPO at 2017 Mobile World Congress (MWC) @Barcelona

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published