| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "remoting/client/jni/chromoting_jni_instance.h" | 5 #include "remoting/client/jni/chromoting_jni_instance.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "remoting/client/audio_player.h" | 9 #include "remoting/client/audio_player.h" |
| 10 #include "remoting/client/jni/android_keymap.h" |
| 10 #include "remoting/client/jni/chromoting_jni_runtime.h" | 11 #include "remoting/client/jni/chromoting_jni_runtime.h" |
| 11 #include "remoting/protocol/libjingle_transport_factory.h" | 12 #include "remoting/protocol/libjingle_transport_factory.h" |
| 12 | 13 |
| 13 // TODO(solb) Move into location shared with client plugin. | 14 // TODO(solb) Move into location shared with client plugin. |
| 14 const char* const CHAT_SERVER = "talk.google.com"; | 15 const char* const CHAT_SERVER = "talk.google.com"; |
| 15 const int CHAT_PORT = 5222; | 16 const int CHAT_PORT = 5222; |
| 16 const bool CHAT_USE_TLS = true; | 17 const bool CHAT_USE_TLS = true; |
| 17 | 18 |
| 18 namespace remoting { | 19 namespace remoting { |
| 19 | 20 |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 98 protocol::MouseEvent action; | 99 protocol::MouseEvent action; |
| 99 action.set_x(x); | 100 action.set_x(x); |
| 100 action.set_y(y); | 101 action.set_y(y); |
| 101 action.set_button(button); | 102 action.set_button(button); |
| 102 if (button != protocol::MouseEvent::BUTTON_UNDEFINED) | 103 if (button != protocol::MouseEvent::BUTTON_UNDEFINED) |
| 103 action.set_button_down(buttonDown); | 104 action.set_button_down(buttonDown); |
| 104 | 105 |
| 105 connection_->input_stub()->InjectMouseEvent(action); | 106 connection_->input_stub()->InjectMouseEvent(action); |
| 106 } | 107 } |
| 107 | 108 |
| 109 void ChromotingJniInstance::PerformKeyboardAction(int keyCode, bool keyDown) { |
| 110 if (!jni_runtime_->network_task_runner()->BelongsToCurrentThread()) { |
| 111 jni_runtime_->network_task_runner()->PostTask( |
| 112 FROM_HERE, |
| 113 base::Bind(&ChromotingJniInstance::PerformKeyboardAction, |
| 114 this, |
| 115 keyCode, |
| 116 keyDown)); |
| 117 return; |
| 118 } |
| 119 |
| 120 uint32 usbCode = AndroidKeycodeToUsbKeycode(keyCode); |
| 121 if (usbCode) { |
| 122 protocol::KeyEvent action; |
| 123 action.set_usb_keycode(usbCode); |
| 124 action.set_pressed(keyDown); |
| 125 connection_->input_stub()->InjectKeyEvent(action); |
| 126 } |
| 127 else |
| 128 LOG(WARNING) << "Ignoring unknown keycode: " << keyCode; |
| 129 } |
| 130 |
| 108 void ChromotingJniInstance::OnConnectionState( | 131 void ChromotingJniInstance::OnConnectionState( |
| 109 protocol::ConnectionToHost::State state, | 132 protocol::ConnectionToHost::State state, |
| 110 protocol::ErrorCode error) { | 133 protocol::ErrorCode error) { |
| 111 if (!jni_runtime_->ui_task_runner()->BelongsToCurrentThread()) { | 134 if (!jni_runtime_->ui_task_runner()->BelongsToCurrentThread()) { |
| 112 jni_runtime_->ui_task_runner()->PostTask( | 135 jni_runtime_->ui_task_runner()->PostTask( |
| 113 FROM_HERE, | 136 FROM_HERE, |
| 114 base::Bind(&ChromotingJniInstance::OnConnectionState, | 137 base::Bind(&ChromotingJniInstance::OnConnectionState, |
| 115 this, | 138 this, |
| 116 state, | 139 state, |
| 117 error)); | 140 error)); |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 pairable, | 272 pairable, |
| 250 callback)); | 273 callback)); |
| 251 return; | 274 return; |
| 252 } | 275 } |
| 253 | 276 |
| 254 pin_callback_ = callback; | 277 pin_callback_ = callback; |
| 255 jni_runtime_->DisplayAuthenticationPrompt(); | 278 jni_runtime_->DisplayAuthenticationPrompt(); |
| 256 } | 279 } |
| 257 | 280 |
| 258 } // namespace remoting | 281 } // namespace remoting |
| OLD | NEW |