OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2014 The WebRTC Project Authors. All rights reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 private String keyprefDisableBuiltInAgc; | 73 private String keyprefDisableBuiltInAgc; |
74 private String keyprefDisableBuiltInNs; | 74 private String keyprefDisableBuiltInNs; |
75 private String keyprefEnableLevelControl; | 75 private String keyprefEnableLevelControl; |
76 private String keyprefDisplayHud; | 76 private String keyprefDisplayHud; |
77 private String keyprefTracing; | 77 private String keyprefTracing; |
78 private String keyprefRoomServerUrl; | 78 private String keyprefRoomServerUrl; |
79 private String keyprefRoom; | 79 private String keyprefRoom; |
80 private String keyprefRoomList; | 80 private String keyprefRoomList; |
81 private ArrayList<String> roomList; | 81 private ArrayList<String> roomList; |
82 private ArrayAdapter<String> adapter; | 82 private ArrayAdapter<String> adapter; |
| 83 private String keyprefEnableDataChannel; |
| 84 private String keyprefOrdered; |
| 85 private String keyprefMaxRetransmitTimeMs; |
| 86 private String keyprefMaxRetransmits; |
| 87 private String keyprefDataProtocol; |
| 88 private String keyprefNegotiated; |
| 89 private String keyprefDataId; |
83 | 90 |
84 @Override | 91 @Override |
85 public void onCreate(Bundle savedInstanceState) { | 92 public void onCreate(Bundle savedInstanceState) { |
86 super.onCreate(savedInstanceState); | 93 super.onCreate(savedInstanceState); |
87 | 94 |
88 // Get setting keys. | 95 // Get setting keys. |
89 PreferenceManager.setDefaultValues(this, R.xml.preferences, false); | 96 PreferenceManager.setDefaultValues(this, R.xml.preferences, false); |
90 sharedPref = PreferenceManager.getDefaultSharedPreferences(this); | 97 sharedPref = PreferenceManager.getDefaultSharedPreferences(this); |
91 keyprefVideoCallEnabled = getString(R.string.pref_videocall_key); | 98 keyprefVideoCallEnabled = getString(R.string.pref_videocall_key); |
92 keyprefScreencapture = getString(R.string.pref_screencapture_key); | 99 keyprefScreencapture = getString(R.string.pref_screencapture_key); |
(...skipping 14 matching lines...) Expand all Loading... |
107 keyprefOpenSLES = getString(R.string.pref_opensles_key); | 114 keyprefOpenSLES = getString(R.string.pref_opensles_key); |
108 keyprefDisableBuiltInAec = getString(R.string.pref_disable_built_in_aec_key)
; | 115 keyprefDisableBuiltInAec = getString(R.string.pref_disable_built_in_aec_key)
; |
109 keyprefDisableBuiltInAgc = getString(R.string.pref_disable_built_in_agc_key)
; | 116 keyprefDisableBuiltInAgc = getString(R.string.pref_disable_built_in_agc_key)
; |
110 keyprefDisableBuiltInNs = getString(R.string.pref_disable_built_in_ns_key); | 117 keyprefDisableBuiltInNs = getString(R.string.pref_disable_built_in_ns_key); |
111 keyprefEnableLevelControl = getString(R.string.pref_enable_level_control_key
); | 118 keyprefEnableLevelControl = getString(R.string.pref_enable_level_control_key
); |
112 keyprefDisplayHud = getString(R.string.pref_displayhud_key); | 119 keyprefDisplayHud = getString(R.string.pref_displayhud_key); |
113 keyprefTracing = getString(R.string.pref_tracing_key); | 120 keyprefTracing = getString(R.string.pref_tracing_key); |
114 keyprefRoomServerUrl = getString(R.string.pref_room_server_url_key); | 121 keyprefRoomServerUrl = getString(R.string.pref_room_server_url_key); |
115 keyprefRoom = getString(R.string.pref_room_key); | 122 keyprefRoom = getString(R.string.pref_room_key); |
116 keyprefRoomList = getString(R.string.pref_room_list_key); | 123 keyprefRoomList = getString(R.string.pref_room_list_key); |
| 124 keyprefEnableDataChannel = getString(R.string.pref_enable_datachannel_key); |
| 125 keyprefOrdered = getString(R.string.pref_ordered_key); |
| 126 keyprefMaxRetransmitTimeMs = getString(R.string.pref_max_retransmit_time_ms_
key); |
| 127 keyprefMaxRetransmits = getString(R.string.pref_max_retransmits_key); |
| 128 keyprefDataProtocol = getString(R.string.pref_data_protocol_key); |
| 129 keyprefNegotiated = getString(R.string.pref_negotiated_key); |
| 130 keyprefDataId = getString(R.string.pref_data_id_key); |
117 | 131 |
118 setContentView(R.layout.activity_connect); | 132 setContentView(R.layout.activity_connect); |
119 | 133 |
120 roomEditText = (EditText) findViewById(R.id.room_edittext); | 134 roomEditText = (EditText) findViewById(R.id.room_edittext); |
121 roomEditText.setOnEditorActionListener(new TextView.OnEditorActionListener()
{ | 135 roomEditText.setOnEditorActionListener(new TextView.OnEditorActionListener()
{ |
122 @Override | 136 @Override |
123 public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent)
{ | 137 public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent)
{ |
124 if (i == EditorInfo.IME_ACTION_DONE) { | 138 if (i == EditorInfo.IME_ACTION_DONE) { |
125 addFavoriteButton.performClick(); | 139 addFavoriteButton.performClick(); |
126 return true; | 140 return true; |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 int attributeId, String intentName, int defaultId, boolean useFromIntent)
{ | 286 int attributeId, String intentName, int defaultId, boolean useFromIntent)
{ |
273 boolean defaultValue = Boolean.valueOf(getString(defaultId)); | 287 boolean defaultValue = Boolean.valueOf(getString(defaultId)); |
274 if (useFromIntent) { | 288 if (useFromIntent) { |
275 return getIntent().getBooleanExtra(intentName, defaultValue); | 289 return getIntent().getBooleanExtra(intentName, defaultValue); |
276 } else { | 290 } else { |
277 String attributeName = getString(attributeId); | 291 String attributeName = getString(attributeId); |
278 return sharedPref.getBoolean(attributeName, defaultValue); | 292 return sharedPref.getBoolean(attributeName, defaultValue); |
279 } | 293 } |
280 } | 294 } |
281 | 295 |
| 296 /** |
| 297 * Get a value from the shared preference or from the intent, if it does not |
| 298 * exist the default is used. |
| 299 */ |
| 300 private int sharedPrefGetInteger( |
| 301 int attributeId, String intentName, int defaultId, boolean useFromIntent)
{ |
| 302 String defaultString = getString(defaultId); |
| 303 int defaultValue = Integer.parseInt(defaultString); |
| 304 if (useFromIntent) { |
| 305 return getIntent().getIntExtra(intentName, defaultValue); |
| 306 } else { |
| 307 String attributeName = getString(attributeId); |
| 308 String value = sharedPref.getString(attributeName, defaultString); |
| 309 try { |
| 310 return Integer.parseInt(value); |
| 311 } catch (NumberFormatException e) { |
| 312 Log.e(TAG, "Wrong setting for: " + attributeName + ":" + value); |
| 313 return defaultValue; |
| 314 } |
| 315 } |
| 316 } |
| 317 |
282 private void connectToRoom(String roomId, boolean commandLineRun, boolean loop
back, | 318 private void connectToRoom(String roomId, boolean commandLineRun, boolean loop
back, |
283 boolean useValuesFromIntent, int runTimeMs) { | 319 boolean useValuesFromIntent, int runTimeMs) { |
284 this.commandLineRun = commandLineRun; | 320 this.commandLineRun = commandLineRun; |
285 | 321 |
286 // roomId is random for loopback. | 322 // roomId is random for loopback. |
287 if (loopback) { | 323 if (loopback) { |
288 roomId = Integer.toString((new Random()).nextInt(100000000)); | 324 roomId = Integer.toString((new Random()).nextInt(100000000)); |
289 } | 325 } |
290 | 326 |
291 String roomUrl = sharedPref.getString( | 327 String roomUrl = sharedPref.getString( |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
426 } | 462 } |
427 } | 463 } |
428 | 464 |
429 // Check statistics display option. | 465 // Check statistics display option. |
430 boolean displayHud = sharedPrefGetBoolean(R.string.pref_displayhud_key, | 466 boolean displayHud = sharedPrefGetBoolean(R.string.pref_displayhud_key, |
431 CallActivity.EXTRA_DISPLAY_HUD, R.string.pref_displayhud_default, useVal
uesFromIntent); | 467 CallActivity.EXTRA_DISPLAY_HUD, R.string.pref_displayhud_default, useVal
uesFromIntent); |
432 | 468 |
433 boolean tracing = sharedPrefGetBoolean(R.string.pref_tracing_key, CallActivi
ty.EXTRA_TRACING, | 469 boolean tracing = sharedPrefGetBoolean(R.string.pref_tracing_key, CallActivi
ty.EXTRA_TRACING, |
434 R.string.pref_tracing_default, useValuesFromIntent); | 470 R.string.pref_tracing_default, useValuesFromIntent); |
435 | 471 |
| 472 // Get datachannel options |
| 473 boolean dataChannelEnabled = sharedPrefGetBoolean(R.string.pref_enable_datac
hannel_key, |
| 474 CallActivity.EXTRA_DATA_CHANNEL_ENABLED, R.string.pref_enable_datachanne
l_default, |
| 475 useValuesFromIntent); |
| 476 boolean ordered = sharedPrefGetBoolean(R.string.pref_ordered_key, CallActivi
ty.EXTRA_ORDERED, |
| 477 R.string.pref_ordered_default, useValuesFromIntent); |
| 478 boolean negotiated = sharedPrefGetBoolean(R.string.pref_negotiated_key, |
| 479 CallActivity.EXTRA_NEGOTIATED, R.string.pref_negotiated_default, useValu
esFromIntent); |
| 480 int maxRetrMs = sharedPrefGetInteger(R.string.pref_max_retransmit_time_ms_ke
y, |
| 481 CallActivity.EXTRA_MAX_RETRANSMITS_MS, R.string.pref_max_retransmit_time
_ms_default, |
| 482 useValuesFromIntent); |
| 483 int maxRetr = |
| 484 sharedPrefGetInteger(R.string.pref_max_retransmits_key, CallActivity.EXT
RA_MAX_RETRANSMITS, |
| 485 R.string.pref_max_retransmits_default, useValuesFromIntent); |
| 486 int id = sharedPrefGetInteger(R.string.pref_data_id_key, CallActivity.EXTRA_
ID, |
| 487 R.string.pref_data_id_default, useValuesFromIntent); |
| 488 String protocol = sharedPrefGetString(R.string.pref_data_protocol_key, |
| 489 CallActivity.EXTRA_PROTOCOL, R.string.pref_data_protocol_default, useVal
uesFromIntent); |
| 490 |
436 // Start AppRTCMobile activity. | 491 // Start AppRTCMobile activity. |
437 Log.d(TAG, "Connecting to room " + roomId + " at URL " + roomUrl); | 492 Log.d(TAG, "Connecting to room " + roomId + " at URL " + roomUrl); |
438 if (validateUrl(roomUrl)) { | 493 if (validateUrl(roomUrl)) { |
439 Uri uri = Uri.parse(roomUrl); | 494 Uri uri = Uri.parse(roomUrl); |
440 Intent intent = new Intent(this, CallActivity.class); | 495 Intent intent = new Intent(this, CallActivity.class); |
441 intent.setData(uri); | 496 intent.setData(uri); |
442 intent.putExtra(CallActivity.EXTRA_ROOMID, roomId); | 497 intent.putExtra(CallActivity.EXTRA_ROOMID, roomId); |
443 intent.putExtra(CallActivity.EXTRA_LOOPBACK, loopback); | 498 intent.putExtra(CallActivity.EXTRA_LOOPBACK, loopback); |
444 intent.putExtra(CallActivity.EXTRA_VIDEO_CALL, videoCallEnabled); | 499 intent.putExtra(CallActivity.EXTRA_VIDEO_CALL, videoCallEnabled); |
445 intent.putExtra(CallActivity.EXTRA_SCREENCAPTURE, useScreencapture); | 500 intent.putExtra(CallActivity.EXTRA_SCREENCAPTURE, useScreencapture); |
(...skipping 13 matching lines...) Expand all Loading... |
459 intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_AGC, disableBuiltInAGC
); | 514 intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_AGC, disableBuiltInAGC
); |
460 intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_NS, disableBuiltInNS); | 515 intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_NS, disableBuiltInNS); |
461 intent.putExtra(CallActivity.EXTRA_ENABLE_LEVEL_CONTROL, enableLevelContro
l); | 516 intent.putExtra(CallActivity.EXTRA_ENABLE_LEVEL_CONTROL, enableLevelContro
l); |
462 intent.putExtra(CallActivity.EXTRA_AUDIO_BITRATE, audioStartBitrate); | 517 intent.putExtra(CallActivity.EXTRA_AUDIO_BITRATE, audioStartBitrate); |
463 intent.putExtra(CallActivity.EXTRA_AUDIOCODEC, audioCodec); | 518 intent.putExtra(CallActivity.EXTRA_AUDIOCODEC, audioCodec); |
464 intent.putExtra(CallActivity.EXTRA_DISPLAY_HUD, displayHud); | 519 intent.putExtra(CallActivity.EXTRA_DISPLAY_HUD, displayHud); |
465 intent.putExtra(CallActivity.EXTRA_TRACING, tracing); | 520 intent.putExtra(CallActivity.EXTRA_TRACING, tracing); |
466 intent.putExtra(CallActivity.EXTRA_CMDLINE, commandLineRun); | 521 intent.putExtra(CallActivity.EXTRA_CMDLINE, commandLineRun); |
467 intent.putExtra(CallActivity.EXTRA_RUNTIME, runTimeMs); | 522 intent.putExtra(CallActivity.EXTRA_RUNTIME, runTimeMs); |
468 | 523 |
| 524 intent.putExtra(CallActivity.EXTRA_DATA_CHANNEL_ENABLED, dataChannelEnable
d); |
| 525 |
| 526 if (dataChannelEnabled) { |
| 527 intent.putExtra(CallActivity.EXTRA_ORDERED, ordered); |
| 528 intent.putExtra(CallActivity.EXTRA_MAX_RETRANSMITS_MS, maxRetrMs); |
| 529 intent.putExtra(CallActivity.EXTRA_MAX_RETRANSMITS, maxRetr); |
| 530 intent.putExtra(CallActivity.EXTRA_PROTOCOL, protocol); |
| 531 intent.putExtra(CallActivity.EXTRA_NEGOTIATED, negotiated); |
| 532 intent.putExtra(CallActivity.EXTRA_ID, id); |
| 533 } |
| 534 |
469 if (useValuesFromIntent) { | 535 if (useValuesFromIntent) { |
470 if (getIntent().hasExtra(CallActivity.EXTRA_VIDEO_FILE_AS_CAMERA)) { | 536 if (getIntent().hasExtra(CallActivity.EXTRA_VIDEO_FILE_AS_CAMERA)) { |
471 String videoFileAsCamera = | 537 String videoFileAsCamera = |
472 getIntent().getStringExtra(CallActivity.EXTRA_VIDEO_FILE_AS_CAMERA
); | 538 getIntent().getStringExtra(CallActivity.EXTRA_VIDEO_FILE_AS_CAMERA
); |
473 intent.putExtra(CallActivity.EXTRA_VIDEO_FILE_AS_CAMERA, videoFileAsCa
mera); | 539 intent.putExtra(CallActivity.EXTRA_VIDEO_FILE_AS_CAMERA, videoFileAsCa
mera); |
474 } | 540 } |
475 | 541 |
476 if (getIntent().hasExtra(CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FILE))
{ | 542 if (getIntent().hasExtra(CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FILE))
{ |
477 String saveRemoteVideoToFile = | 543 String saveRemoteVideoToFile = |
478 getIntent().getStringExtra(CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO
_FILE); | 544 getIntent().getStringExtra(CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO
_FILE); |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
536 } | 602 } |
537 }; | 603 }; |
538 | 604 |
539 private final OnClickListener connectListener = new OnClickListener() { | 605 private final OnClickListener connectListener = new OnClickListener() { |
540 @Override | 606 @Override |
541 public void onClick(View view) { | 607 public void onClick(View view) { |
542 connectToRoom(roomEditText.getText().toString(), false, false, false, 0); | 608 connectToRoom(roomEditText.getText().toString(), false, false, false, 0); |
543 } | 609 } |
544 }; | 610 }; |
545 } | 611 } |
OLD | NEW |