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

Issue 699788 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android , iOS
Pri: 2
Type: Bug



Sign in to add a comment

CRD: iOS and Android should share ClientInstance and Runtime

Project Member Reported by nicho...@chromium.org, Mar 8 2017

Issue description

There is a lot of duplicated code for Android and iOS CRD apps. There needs to be some effort put in to de-dup some of this code to make maintenance easier and features/bug fixes required only one place.

This is a tracking bug for the work to migrate ClientInstance and Runtime usage to be shared by Android and iOS.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 17 2017

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

commit 825f7ebf3ad0e14664fb91b80031a941747724b7
Author: nicholss <nicholss@chromium.org>
Date: Fri Mar 17 18:48:45 2017

Refactoring out the chromoting jni runtime class in favor of chromoting client runtime.

The end goal here is to be able to use a refactored version of chromoting jni instance, having
android and iOS share a chromoting instance. But first step is to remove the jni runtime to have
the chromoting instance and all other supporting code use the common client runtime rather than this
wrapped runtime for jni.

R=sergeyu@chromium.org, yuweih@chromium.org

BUG= 699788 

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

[modify] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/android/BUILD.gn
[modify] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/android/remoting_apk_tmpl.gni
[modify] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/client/BUILD.gn
[modify] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/client/chromoting_client_runtime.cc
[modify] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/client/chromoting_client_runtime.h
[modify] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/client/chromoting_client_runtime_unittest.cc
[add] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/client/jni/BUILD.gn
[modify] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/client/jni/chromoting_jni_instance.cc
[modify] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/client/jni/chromoting_jni_instance.h
[delete] https://crrev.com/db14329b13d1109723acf5528a0253d6ee8c1651/remoting/client/jni/chromoting_jni_runtime.cc
[delete] https://crrev.com/db14329b13d1109723acf5528a0253d6ee8c1651/remoting/client/jni/chromoting_jni_runtime.h
[modify] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/client/jni/jni_client.cc
[modify] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/client/jni/jni_client.h
[modify] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/client/jni/jni_gl_display_handler.cc
[modify] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/client/jni/jni_gl_display_handler.h
[modify] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/client/jni/jni_pairing_secret_fetcher.cc
[modify] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/client/jni/jni_pairing_secret_fetcher.h
[add] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/client/jni/jni_runtime_delegate.cc
[add] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/client/jni/jni_runtime_delegate.h
[modify] https://crrev.com/825f7ebf3ad0e14664fb91b80031a941747724b7/remoting/client/jni/remoting_jni_registrar.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Mar 31 2017

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

commit a36b97239e429ff829dd785fc8a3f9b5f7d145e9
Author: nicholss <nicholss@chromium.org>
Date: Fri Mar 31 22:12:28 2017

Moving service urls to base.

BUG= 699788 

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

[modify] https://crrev.com/a36b97239e429ff829dd785fc8a3f9b5f7d145e9/remoting/base/BUILD.gn
[rename] https://crrev.com/a36b97239e429ff829dd785fc8a3f9b5f7d145e9/remoting/base/remoting_bot.cc
[rename] https://crrev.com/a36b97239e429ff829dd785fc8a3f9b5f7d145e9/remoting/base/remoting_bot.h
[rename] https://crrev.com/a36b97239e429ff829dd785fc8a3f9b5f7d145e9/remoting/base/service_urls.cc
[rename] https://crrev.com/a36b97239e429ff829dd785fc8a3f9b5f7d145e9/remoting/base/service_urls.h
[modify] https://crrev.com/a36b97239e429ff829dd785fc8a3f9b5f7d145e9/remoting/host/BUILD.gn
[modify] https://crrev.com/a36b97239e429ff829dd785fc8a3f9b5f7d145e9/remoting/host/it2me/it2me_host.cc
[modify] https://crrev.com/a36b97239e429ff829dd785fc8a3f9b5f7d145e9/remoting/host/it2me/it2me_native_messaging_host.cc
[modify] https://crrev.com/a36b97239e429ff829dd785fc8a3f9b5f7d145e9/remoting/host/remoting_me2me_host.cc
[modify] https://crrev.com/a36b97239e429ff829dd785fc8a3f9b5f7d145e9/remoting/host/setup/start_host_main.cc
[modify] https://crrev.com/a36b97239e429ff829dd785fc8a3f9b5f7d145e9/remoting/protocol/jingle_messages.cc
[modify] https://crrev.com/a36b97239e429ff829dd785fc8a3f9b5f7d145e9/remoting/signaling/BUILD.gn

Project Member

Comment 3 by bugdroid1@chromium.org, Apr 5 2017

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

commit a6be869a25aa4de4c6b4629a1b710e5d34f8fd34
Author: nicholss <nicholss@chromium.org>
Date: Wed Apr 05 18:39:15 2017

Refactoring and rewriting the chromoting jni instance to be chromoting session.

This will allow Android and iOS to share the majority of code related to session
and instance management. The setup flow for each client will be very similar,
this change will allow the iOS app to reuse the session management (xmpp,
client, etc) that was originally written for the JNI layer of Android.

Adding a session delegate allows for reuse and moves most of the code into
a common place and leaves the java/JNI only bits in the JNI layer.

BUG= 699788 

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

[modify] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/BUILD.gn
[modify] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/client/BUILD.gn
[modify] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/client/chromoting_client_runtime.h
[add] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/client/chromoting_session.cc
[rename] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/client/chromoting_session.h
[delete] https://crrev.com/fa80dd944e1937f0ab144bee0ac385d537bbd74a/remoting/client/client_status_logger.cc
[delete] https://crrev.com/fa80dd944e1937f0ab144bee0ac385d537bbd74a/remoting/client/client_status_logger.h
[delete] https://crrev.com/fa80dd944e1937f0ab144bee0ac385d537bbd74a/remoting/client/client_status_logger_unittest.cc
[modify] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/client/client_telemetry_logger.cc
[modify] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/client/client_telemetry_logger.h
[rename] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/client/connect_to_host_info.cc
[rename] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/client/connect_to_host_info.h
[modify] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/client/ios/bridge/client_instance.cc
[modify] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/client/ios/bridge/client_instance.h
[modify] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/client/jni/BUILD.gn
[delete] https://crrev.com/fa80dd944e1937f0ab144bee0ac385d537bbd74a/remoting/client/jni/android_keymap.cc
[delete] https://crrev.com/fa80dd944e1937f0ab144bee0ac385d537bbd74a/remoting/client/jni/android_keymap.h
[delete] https://crrev.com/fa80dd944e1937f0ab144bee0ac385d537bbd74a/remoting/client/jni/chromoting_jni_instance.cc
[modify] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/client/jni/jni_client.cc
[modify] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/client/jni/jni_client.h
[modify] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/client/jni/jni_runtime_delegate.h
[add] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/client/native_device_keymap.cc
[add] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/client/native_device_keymap.h
[add] https://crrev.com/a6be869a25aa4de4c6b4629a1b710e5d34f8fd34/remoting/client/native_device_keymap_android.cc

Status: Fixed (was: Assigned)
The iOS app and Android now share a Client Instance and Runtime.

Sign in to add a comment