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 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
142 addFavoriteButton.setOnClickListener(addFavoriteListener); | 142 addFavoriteButton.setOnClickListener(addFavoriteListener); |
143 | 143 |
144 // If an implicit VIEW intent is launching the app, go directly to that URL. | 144 // If an implicit VIEW intent is launching the app, go directly to that URL. |
145 final Intent intent = getIntent(); | 145 final Intent intent = getIntent(); |
146 if ("android.intent.action.VIEW".equals(intent.getAction()) | 146 if ("android.intent.action.VIEW".equals(intent.getAction()) |
147 && !commandLineRun) { | 147 && !commandLineRun) { |
148 boolean loopback = intent.getBooleanExtra( | 148 boolean loopback = intent.getBooleanExtra( |
149 CallActivity.EXTRA_LOOPBACK, false); | 149 CallActivity.EXTRA_LOOPBACK, false); |
150 int runTimeMs = intent.getIntExtra( | 150 int runTimeMs = intent.getIntExtra( |
151 CallActivity.EXTRA_RUNTIME, 0); | 151 CallActivity.EXTRA_RUNTIME, 0); |
152 boolean overrideInput = intent.getBooleanExtra( | |
153 CallActivity.EXTRA_LOOPBACK, false); | |
154 boolean useValuesFromIntent = intent.getBooleanExtra( | |
155 CallActivity.EXTRA_USE_VALUES_FROM_INTENT, false); | |
152 String room = sharedPref.getString(keyprefRoom, ""); | 156 String room = sharedPref.getString(keyprefRoom, ""); |
153 connectToRoom(room, true, loopback, runTimeMs); | 157 connectToRoom(room, true, loopback, useValuesFromIntent, runTimeMs); |
154 } | 158 } |
155 } | 159 } |
156 | 160 |
157 @Override | 161 @Override |
158 public boolean onCreateOptionsMenu(Menu menu) { | 162 public boolean onCreateOptionsMenu(Menu menu) { |
159 getMenuInflater().inflate(R.menu.connect_menu, menu); | 163 getMenuInflater().inflate(R.menu.connect_menu, menu); |
160 return true; | 164 return true; |
161 } | 165 } |
162 | 166 |
163 @Override | 167 @Override |
(...skipping 24 matching lines...) Expand all Loading... | |
188 } | 192 } |
189 | 193 |
190 @Override | 194 @Override |
191 public boolean onOptionsItemSelected(MenuItem item) { | 195 public boolean onOptionsItemSelected(MenuItem item) { |
192 // Handle presses on the action bar items. | 196 // Handle presses on the action bar items. |
193 if (item.getItemId() == R.id.action_settings) { | 197 if (item.getItemId() == R.id.action_settings) { |
194 Intent intent = new Intent(this, SettingsActivity.class); | 198 Intent intent = new Intent(this, SettingsActivity.class); |
195 startActivity(intent); | 199 startActivity(intent); |
196 return true; | 200 return true; |
197 } else if (item.getItemId() == R.id.action_loopback) { | 201 } else if (item.getItemId() == R.id.action_loopback) { |
198 connectToRoom(null, false, true, 0); | 202 connectToRoom(null, false, true, false, 0); |
199 return true; | 203 return true; |
200 } else { | 204 } else { |
201 return super.onOptionsItemSelected(item); | 205 return super.onOptionsItemSelected(item); |
202 } | 206 } |
203 } | 207 } |
204 | 208 |
205 @Override | 209 @Override |
206 public void onPause() { | 210 public void onPause() { |
207 super.onPause(); | 211 super.onPause(); |
208 String room = roomEditText.getText().toString(); | 212 String room = roomEditText.getText().toString(); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
243 protected void onActivityResult( | 247 protected void onActivityResult( |
244 int requestCode, int resultCode, Intent data) { | 248 int requestCode, int resultCode, Intent data) { |
245 if (requestCode == CONNECTION_REQUEST && commandLineRun) { | 249 if (requestCode == CONNECTION_REQUEST && commandLineRun) { |
246 Log.d(TAG, "Return: " + resultCode); | 250 Log.d(TAG, "Return: " + resultCode); |
247 setResult(resultCode); | 251 setResult(resultCode); |
248 commandLineRun = false; | 252 commandLineRun = false; |
249 finish(); | 253 finish(); |
250 } | 254 } |
251 } | 255 } |
252 | 256 |
257 /** | |
258 * Get a value from the shared preference or from the intent, if it does not | |
259 * exist the default is used. | |
260 */ | |
261 private String sharedPrefGetString(int attributeId, String intentName, | |
262 int defaultId, boolean useFromIntent) { | |
263 String defaultValue = getString(defaultId); | |
264 if (useFromIntent) { | |
265 String value = getIntent().getStringExtra(intentName); | |
266 if (value != null) { | |
267 return value; | |
268 } | |
269 return defaultValue; | |
270 } else { | |
271 String attributeName = getString(attributeId); | |
272 return sharedPref.getString(attributeName, defaultValue); | |
273 } | |
274 } | |
275 | |
276 /** | |
277 * Get a value from the shared preference or from the intent, if it does not | |
278 * exist the default is used. | |
279 */ | |
280 private boolean sharedPrefGetBoolean(int attributeId, String intentName, | |
281 int defaultId, boolean useFromIntent) { | |
282 boolean defaultValue = Boolean.valueOf(getString(defaultId)); | |
283 if (useFromIntent) { | |
284 return getIntent().getBooleanExtra(intentName, defaultValue); | |
285 } else { | |
286 String attributeName = getString(attributeId); | |
287 return sharedPref.getBoolean(attributeName, defaultValue); | |
288 } | |
289 } | |
290 | |
253 private void connectToRoom( | 291 private void connectToRoom( |
254 String roomId, boolean commandLineRun, boolean loopback, int runTimeMs) { | 292 String roomId, boolean commandLineRun, boolean loopback, |
293 boolean useValuesFromIntent, int runTimeMs) { | |
255 this.commandLineRun = commandLineRun; | 294 this.commandLineRun = commandLineRun; |
256 | 295 |
257 // roomId is random for loopback. | 296 // roomId is random for loopback. |
258 if (loopback) { | 297 if (loopback) { |
259 roomId = Integer.toString((new Random()).nextInt(100000000)); | 298 roomId = Integer.toString((new Random()).nextInt(100000000)); |
260 } | 299 } |
261 | 300 |
262 String roomUrl = sharedPref.getString( | 301 String roomUrl = sharedPref.getString( |
263 keyprefRoomServerUrl, | 302 keyprefRoomServerUrl, |
264 getString(R.string.pref_room_server_url_default)); | 303 getString(R.string.pref_room_server_url_default)); |
265 | 304 |
266 // Video call enabled flag. | 305 // Video call enabled flag. |
267 boolean videoCallEnabled = sharedPref.getBoolean(keyprefVideoCallEnabled, | 306 boolean videoCallEnabled = sharedPrefGetBoolean( |
268 Boolean.valueOf(getString(R.string.pref_videocall_default))); | 307 R.string.pref_videocall_key, |
308 CallActivity.EXTRA_VIDEO_CALL, | |
309 R.string.pref_videocall_default, | |
310 useValuesFromIntent); | |
269 | 311 |
270 // Use Camera2 option. | 312 // Use Camera2 option. |
271 boolean useCamera2 = sharedPref.getBoolean(keyprefCamera2, | 313 boolean useCamera2 = sharedPrefGetBoolean( |
272 Boolean.valueOf(getString(R.string.pref_camera2_default))); | 314 R.string.pref_camera2_key, |
315 CallActivity.EXTRA_CAMERA2, | |
316 R.string.pref_camera2_default, | |
317 useValuesFromIntent); | |
273 | 318 |
274 // Get default codecs. | 319 // Get default codecs. |
275 String videoCodec = sharedPref.getString(keyprefVideoCodec, | 320 String videoCodec = sharedPrefGetString( |
276 getString(R.string.pref_videocodec_default)); | 321 R.string.pref_videocodec_key, |
277 String audioCodec = sharedPref.getString(keyprefAudioCodec, | 322 CallActivity.EXTRA_VIDEOCODEC, |
278 getString(R.string.pref_audiocodec_default)); | 323 R.string.pref_videocodec_default, |
324 useValuesFromIntent); | |
325 String audioCodec = sharedPrefGetString( | |
326 R.string.pref_audiocodec_key, | |
327 CallActivity.EXTRA_AUDIOCODEC, | |
328 R.string.pref_audiocodec_default, | |
329 useValuesFromIntent); | |
279 | 330 |
280 // Check HW codec flag. | 331 // Check HW codec flag. |
281 boolean hwCodec = sharedPref.getBoolean(keyprefHwCodecAcceleration, | 332 boolean hwCodec = sharedPrefGetBoolean( |
282 Boolean.valueOf(getString(R.string.pref_hwcodec_default))); | 333 R.string.pref_hwcodec_key, |
334 CallActivity.EXTRA_HWCODEC_ENABLED, | |
335 R.string.pref_hwcodec_default, | |
336 useValuesFromIntent); | |
283 | 337 |
284 // Check Capture to texture. | 338 // Check Capture to texture. |
285 boolean captureToTexture = sharedPref.getBoolean(keyprefCaptureToTexture, | 339 boolean captureToTexture = sharedPrefGetBoolean( |
286 Boolean.valueOf(getString(R.string.pref_capturetotexture_default))); | 340 R.string.pref_capturetotexture_key, |
341 CallActivity.EXTRA_CAPTURETOTEXTURE_ENABLED, | |
342 R.string.pref_capturetotexture_default, | |
343 useValuesFromIntent); | |
287 | 344 |
288 // Check Disable Audio Processing flag. | 345 // Check Disable Audio Processing flag. |
289 boolean noAudioProcessing = sharedPref.getBoolean( | 346 boolean noAudioProcessing = sharedPrefGetBoolean( |
290 keyprefNoAudioProcessingPipeline, | 347 R.string.pref_noaudioprocessing_key, |
291 Boolean.valueOf(getString(R.string.pref_noaudioprocessing_default))); | 348 CallActivity.EXTRA_NOAUDIOPROCESSING_ENABLED, |
349 R.string.pref_noaudioprocessing_default, | |
350 useValuesFromIntent); | |
292 | 351 |
293 // Check Disable Audio Processing flag. | 352 // Check Disable Audio Processing flag. |
294 boolean aecDump = sharedPref.getBoolean( | 353 boolean aecDump = sharedPrefGetBoolean( |
295 keyprefAecDump, | 354 R.string.pref_aecdump_key, |
296 Boolean.valueOf(getString(R.string.pref_aecdump_default))); | 355 CallActivity.EXTRA_AECDUMP_ENABLED, |
356 R.string.pref_aecdump_default, | |
357 useValuesFromIntent); | |
297 | 358 |
298 // Check OpenSL ES enabled flag. | 359 // Check OpenSL ES enabled flag. |
299 boolean useOpenSLES = sharedPref.getBoolean( | 360 boolean useOpenSLES = sharedPrefGetBoolean( |
300 keyprefOpenSLES, | 361 R.string.pref_opensles_key, |
301 Boolean.valueOf(getString(R.string.pref_opensles_default))); | 362 CallActivity.EXTRA_OPENSLES_ENABLED, |
363 R.string.pref_opensles_default, | |
364 useValuesFromIntent); | |
302 | 365 |
303 // Check Disable built-in AEC flag. | 366 // Check Disable built-in AEC flag. |
304 boolean disableBuiltInAEC = sharedPref.getBoolean( | 367 boolean disableBuiltInAEC = sharedPrefGetBoolean( |
305 keyprefDisableBuiltInAec, | 368 R.string.pref_disable_built_in_aec_key, |
306 Boolean.valueOf(getString(R.string.pref_disable_built_in_aec_default))); | 369 CallActivity.EXTRA_DISABLE_BUILT_IN_AEC, |
370 R.string.pref_disable_built_in_aec_default, | |
371 useValuesFromIntent); | |
307 | 372 |
308 // Check Disable built-in AGC flag. | 373 // Check Disable built-in AGC flag. |
309 boolean disableBuiltInAGC = sharedPref.getBoolean( | 374 boolean disableBuiltInAGC = sharedPrefGetBoolean( |
310 keyprefDisableBuiltInAgc, | 375 R.string.pref_disable_built_in_agc_key, |
311 Boolean.valueOf(getString(R.string.pref_disable_built_in_agc_default))); | 376 CallActivity.EXTRA_DISABLE_BUILT_IN_AGC, |
377 R.string.pref_disable_built_in_agc_default, | |
378 useValuesFromIntent); | |
312 | 379 |
313 // Check Disable built-in NS flag. | 380 // Check Disable built-in NS flag. |
314 boolean disableBuiltInNS = sharedPref.getBoolean( | 381 boolean disableBuiltInNS = sharedPrefGetBoolean( |
315 keyprefDisableBuiltInNs, | 382 R.string.pref_disable_built_in_ns_key, |
316 Boolean.valueOf(getString(R.string.pref_disable_built_in_ns_default))); | 383 CallActivity.EXTRA_DISABLE_BUILT_IN_NS, |
384 R.string.pref_disable_built_in_ns_default, | |
385 useValuesFromIntent); | |
317 | 386 |
318 // Check Enable level control. | 387 // Check Enable level control. |
319 boolean enableLevelControl = sharedPref.getBoolean( | 388 boolean enableLevelControl = sharedPrefGetBoolean( |
320 keyprefEnableLevelControl, | 389 R.string.pref_enable_level_control_key, |
321 Boolean.valueOf(getString(R.string.pref_enable_level_control_key))); | 390 CallActivity.EXTRA_ENABLE_LEVEL_CONTROL, |
391 R.string.pref_enable_level_control_key, | |
392 useValuesFromIntent); | |
322 | 393 |
323 // Get video resolution from settings. | 394 // Get video resolution from settings. |
324 int videoWidth = 0; | 395 int videoWidth = 0; |
325 int videoHeight = 0; | 396 int videoHeight = 0; |
326 String resolution = sharedPref.getString(keyprefResolution, | 397 String resolution = sharedPref.getString( |
sakal
2016/10/05 13:28:41
Resolution is still always get from the settings,
mandermo
2016/10/07 11:33:41
Did misstake. Added so it can be provided on comma
| |
398 keyprefResolution, | |
327 getString(R.string.pref_resolution_default)); | 399 getString(R.string.pref_resolution_default)); |
328 String[] dimensions = resolution.split("[ x]+"); | 400 String[] dimensions = resolution.split("[ x]+"); |
329 if (dimensions.length == 2) { | 401 if (dimensions.length == 2) { |
330 try { | 402 try { |
331 videoWidth = Integer.parseInt(dimensions[0]); | 403 videoWidth = Integer.parseInt(dimensions[0]); |
332 videoHeight = Integer.parseInt(dimensions[1]); | 404 videoHeight = Integer.parseInt(dimensions[1]); |
333 } catch (NumberFormatException e) { | 405 } catch (NumberFormatException e) { |
334 videoWidth = 0; | 406 videoWidth = 0; |
335 videoHeight = 0; | 407 videoHeight = 0; |
336 Log.e(TAG, "Wrong video resolution setting: " + resolution); | 408 Log.e(TAG, "Wrong video resolution setting: " + resolution); |
337 } | 409 } |
338 } | 410 } |
339 | 411 |
340 // Get camera fps from settings. | 412 // Get camera fps from settings. |
341 int cameraFps = 0; | 413 int cameraFps = 0; |
342 String fps = sharedPref.getString(keyprefFps, | 414 if (useValuesFromIntent) { |
343 getString(R.string.pref_fps_default)); | 415 cameraFps = getIntent().getIntExtra(CallActivity.EXTRA_VIDEO_FPS, 0); |
344 String[] fpsValues = fps.split("[ x]+"); | 416 } |
345 if (fpsValues.length == 2) { | 417 if (!useValuesFromIntent || cameraFps == 0) { |
sakal
2016/10/05 13:28:41
!useValuesFromIntent is not needed here
mandermo
2016/10/07 11:33:41
Done.
| |
346 try { | 418 String fps = sharedPref.getString(keyprefFps, |
347 cameraFps = Integer.parseInt(fpsValues[0]); | 419 getString(R.string.pref_fps_default)); |
348 } catch (NumberFormatException e) { | 420 String[] fpsValues = fps.split("[ x]+"); |
349 Log.e(TAG, "Wrong camera fps setting: " + fps); | 421 if (fpsValues.length == 2) { |
422 try { | |
423 cameraFps = Integer.parseInt(fpsValues[0]); | |
424 } catch (NumberFormatException e) { | |
425 Log.e(TAG, "Wrong camera fps setting: " + fps); | |
426 } | |
350 } | 427 } |
351 } | 428 } |
352 | 429 |
353 // Check capture quality slider flag. | 430 // Check capture quality slider flag. |
354 boolean captureQualitySlider = sharedPref.getBoolean(keyprefCaptureQualitySl ider, | 431 boolean captureQualitySlider = sharedPrefGetBoolean( |
355 Boolean.valueOf(getString(R.string.pref_capturequalityslider_default))); | 432 R.string.pref_capturequalityslider_key, |
433 CallActivity.EXTRA_VIDEO_CAPTUREQUALITYSLIDER_ENABLED, | |
434 R.string.pref_capturequalityslider_default, | |
435 useValuesFromIntent); | |
356 | 436 |
357 // Get video and audio start bitrate. | 437 // Get video and audio start bitrate. |
358 int videoStartBitrate = 0; | 438 int videoStartBitrate = 0; |
359 String bitrateTypeDefault = getString( | 439 if (useValuesFromIntent) { |
360 R.string.pref_maxvideobitrate_default); | 440 videoStartBitrate = getIntent().getIntExtra(CallActivity.EXTRA_VIDEO_BITRA TE, 0); |
361 String bitrateType = sharedPref.getString( | |
362 keyprefVideoBitrateType, bitrateTypeDefault); | |
363 if (!bitrateType.equals(bitrateTypeDefault)) { | |
364 String bitrateValue = sharedPref.getString(keyprefVideoBitrateValue, | |
365 getString(R.string.pref_maxvideobitratevalue_default)); | |
366 videoStartBitrate = Integer.parseInt(bitrateValue); | |
367 } | 441 } |
442 if (videoStartBitrate == 0) { | |
443 String bitrateTypeDefault = getString( | |
444 R.string.pref_maxvideobitrate_default); | |
445 String bitrateType = sharedPref.getString( | |
446 keyprefVideoBitrateType, bitrateTypeDefault); | |
447 if (!bitrateType.equals(bitrateTypeDefault)) { | |
448 String bitrateValue = sharedPref.getString(keyprefVideoBitrateValue, | |
449 getString(R.string.pref_maxvideobitratevalue_default)); | |
450 videoStartBitrate = Integer.parseInt(bitrateValue); | |
451 } | |
452 } | |
453 | |
368 int audioStartBitrate = 0; | 454 int audioStartBitrate = 0; |
369 bitrateTypeDefault = getString(R.string.pref_startaudiobitrate_default); | 455 if (useValuesFromIntent) { |
370 bitrateType = sharedPref.getString( | 456 audioStartBitrate = getIntent().getIntExtra(CallActivity.EXTRA_AUDIO_BITRA TE, 0); |
371 keyprefAudioBitrateType, bitrateTypeDefault); | 457 } |
372 if (!bitrateType.equals(bitrateTypeDefault)) { | 458 if (audioStartBitrate == 0) { |
373 String bitrateValue = sharedPref.getString(keyprefAudioBitrateValue, | 459 String bitrateTypeDefault = getString(R.string.pref_startaudiobitrate_defa ult); |
374 getString(R.string.pref_startaudiobitratevalue_default)); | 460 String bitrateType = sharedPref.getString( |
375 audioStartBitrate = Integer.parseInt(bitrateValue); | 461 keyprefAudioBitrateType, bitrateTypeDefault); |
462 if (!bitrateType.equals(bitrateTypeDefault)) { | |
463 String bitrateValue = sharedPref.getString(keyprefAudioBitrateValue, | |
464 getString(R.string.pref_startaudiobitratevalue_default)); | |
465 audioStartBitrate = Integer.parseInt(bitrateValue); | |
466 } | |
376 } | 467 } |
377 | 468 |
378 // Check statistics display option. | 469 // Check statistics display option. |
379 boolean displayHud = sharedPref.getBoolean(keyprefDisplayHud, | 470 boolean displayHud = sharedPrefGetBoolean( |
380 Boolean.valueOf(getString(R.string.pref_displayhud_default))); | 471 R.string.pref_displayhud_key, |
472 CallActivity.EXTRA_DISPLAY_HUD, | |
473 R.string.pref_displayhud_default, | |
474 useValuesFromIntent); | |
381 | 475 |
382 boolean tracing = sharedPref.getBoolean( | 476 boolean tracing = sharedPrefGetBoolean( |
383 keyprefTracing, Boolean.valueOf(getString(R.string.pref_tracing_defa ult))); | 477 R.string.pref_tracing_key, |
478 CallActivity.EXTRA_TRACING, | |
479 R.string.pref_tracing_default, | |
480 useValuesFromIntent); | |
384 | 481 |
385 // Start AppRTCDemo activity. | 482 // Start AppRTCDemo activity. |
386 Log.d(TAG, "Connecting to room " + roomId + " at URL " + roomUrl); | 483 Log.d(TAG, "Connecting to room " + roomId + " at URL " + roomUrl); |
387 if (validateUrl(roomUrl)) { | 484 if (validateUrl(roomUrl)) { |
388 Uri uri = Uri.parse(roomUrl); | 485 Uri uri = Uri.parse(roomUrl); |
389 Intent intent = new Intent(this, CallActivity.class); | 486 Intent intent = new Intent(this, CallActivity.class); |
390 intent.setData(uri); | 487 intent.setData(uri); |
391 intent.putExtra(CallActivity.EXTRA_ROOMID, roomId); | 488 intent.putExtra(CallActivity.EXTRA_ROOMID, roomId); |
392 intent.putExtra(CallActivity.EXTRA_LOOPBACK, loopback); | 489 intent.putExtra(CallActivity.EXTRA_LOOPBACK, loopback); |
393 intent.putExtra(CallActivity.EXTRA_VIDEO_CALL, videoCallEnabled); | 490 intent.putExtra(CallActivity.EXTRA_VIDEO_CALL, videoCallEnabled); |
(...skipping 15 matching lines...) Expand all Loading... | |
409 intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_AGC, disableBuiltInAGC ); | 506 intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_AGC, disableBuiltInAGC ); |
410 intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_NS, disableBuiltInNS); | 507 intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_NS, disableBuiltInNS); |
411 intent.putExtra(CallActivity.EXTRA_ENABLE_LEVEL_CONTROL, enableLevelContro l); | 508 intent.putExtra(CallActivity.EXTRA_ENABLE_LEVEL_CONTROL, enableLevelContro l); |
412 intent.putExtra(CallActivity.EXTRA_AUDIO_BITRATE, audioStartBitrate); | 509 intent.putExtra(CallActivity.EXTRA_AUDIO_BITRATE, audioStartBitrate); |
413 intent.putExtra(CallActivity.EXTRA_AUDIOCODEC, audioCodec); | 510 intent.putExtra(CallActivity.EXTRA_AUDIOCODEC, audioCodec); |
414 intent.putExtra(CallActivity.EXTRA_DISPLAY_HUD, displayHud); | 511 intent.putExtra(CallActivity.EXTRA_DISPLAY_HUD, displayHud); |
415 intent.putExtra(CallActivity.EXTRA_TRACING, tracing); | 512 intent.putExtra(CallActivity.EXTRA_TRACING, tracing); |
416 intent.putExtra(CallActivity.EXTRA_CMDLINE, commandLineRun); | 513 intent.putExtra(CallActivity.EXTRA_CMDLINE, commandLineRun); |
417 intent.putExtra(CallActivity.EXTRA_RUNTIME, runTimeMs); | 514 intent.putExtra(CallActivity.EXTRA_RUNTIME, runTimeMs); |
418 | 515 |
516 if (useValuesFromIntent) { | |
517 if (getIntent().hasExtra(CallActivity.EXTRA_VIDEO_FILE_AS_CAMERA)) { | |
518 String videoFileAsCamera = getIntent().getStringExtra( | |
519 CallActivity.EXTRA_VIDEO_FILE_AS_CAMERA); | |
520 intent.putExtra(CallActivity.EXTRA_VIDEO_FILE_AS_CAMERA, | |
521 videoFileAsCamera); | |
522 } | |
523 | |
524 if (getIntent().hasExtra(CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FILE)) { | |
525 String saveRemoteVideoToFile = getIntent().getStringExtra( | |
526 CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FILE); | |
527 intent.putExtra(CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FILE, | |
528 saveRemoteVideoToFile); | |
529 } | |
530 | |
531 if (getIntent().hasExtra( | |
532 CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FILE_WIDTH)) { | |
533 int videoOutWidth = getIntent().getIntExtra( | |
534 CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FILE_WIDTH, 0); | |
535 intent.putExtra(CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FILE_WIDTH, | |
536 videoOutWidth); | |
537 } | |
538 | |
539 if (getIntent().hasExtra( | |
540 CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FILE_HEIGHT)) { | |
541 int videoOutHeight = getIntent().getIntExtra( | |
542 CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FILE_HEIGHT, 0); | |
543 intent.putExtra(CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FILE_HEIGHT, | |
544 videoOutHeight); | |
545 } | |
546 } | |
547 | |
419 startActivityForResult(intent, CONNECTION_REQUEST); | 548 startActivityForResult(intent, CONNECTION_REQUEST); |
420 } | 549 } |
421 } | 550 } |
422 | 551 |
423 private boolean validateUrl(String url) { | 552 private boolean validateUrl(String url) { |
424 if (URLUtil.isHttpsUrl(url) || URLUtil.isHttpUrl(url)) { | 553 if (URLUtil.isHttpsUrl(url) || URLUtil.isHttpUrl(url)) { |
425 return true; | 554 return true; |
426 } | 555 } |
427 | 556 |
428 new AlertDialog.Builder(this) | 557 new AlertDialog.Builder(this) |
429 .setTitle(getText(R.string.invalid_url_title)) | 558 .setTitle(getText(R.string.invalid_url_title)) |
430 .setMessage(getString(R.string.invalid_url_text, url)) | 559 .setMessage(getString(R.string.invalid_url_text, url)) |
431 .setCancelable(false) | 560 .setCancelable(false) |
432 .setNeutralButton(R.string.ok, new DialogInterface.OnClickListener() { | 561 .setNeutralButton(R.string.ok, new DialogInterface.OnClickListener() { |
433 public void onClick(DialogInterface dialog, int id) { | 562 public void onClick(DialogInterface dialog, int id) { |
434 dialog.cancel(); | 563 dialog.cancel(); |
435 } | 564 } |
436 }).create().show(); | 565 }).create().show(); |
437 return false; | 566 return false; |
438 } | 567 } |
439 | 568 |
440 private final AdapterView.OnItemClickListener | 569 private final AdapterView.OnItemClickListener |
441 roomListClickListener = new AdapterView.OnItemClickListener() { | 570 roomListClickListener = new AdapterView.OnItemClickListener() { |
442 @Override | 571 @Override |
443 public void onItemClick(AdapterView<?> adapterView, View view, int i, long l ) { | 572 public void onItemClick(AdapterView<?> adapterView, View view, int i, long l ) { |
444 String roomId = ((TextView) view).getText().toString(); | 573 String roomId = ((TextView) view).getText().toString(); |
445 connectToRoom(roomId, false, false, 0); | 574 connectToRoom(roomId, false, false, false, 0); |
446 } | 575 } |
447 }; | 576 }; |
448 | 577 |
449 private final OnClickListener addFavoriteListener = new OnClickListener() { | 578 private final OnClickListener addFavoriteListener = new OnClickListener() { |
450 @Override | 579 @Override |
451 public void onClick(View view) { | 580 public void onClick(View view) { |
452 String newRoom = roomEditText.getText().toString(); | 581 String newRoom = roomEditText.getText().toString(); |
453 if (newRoom.length() > 0 && !roomList.contains(newRoom)) { | 582 if (newRoom.length() > 0 && !roomList.contains(newRoom)) { |
454 adapter.add(newRoom); | 583 adapter.add(newRoom); |
455 adapter.notifyDataSetChanged(); | 584 adapter.notifyDataSetChanged(); |
456 } | 585 } |
457 } | 586 } |
458 }; | 587 }; |
459 | 588 |
460 private final OnClickListener connectListener = new OnClickListener() { | 589 private final OnClickListener connectListener = new OnClickListener() { |
461 @Override | 590 @Override |
462 public void onClick(View view) { | 591 public void onClick(View view) { |
463 connectToRoom(roomEditText.getText().toString(), false, false, 0); | 592 connectToRoom(roomEditText.getText().toString(), false, false, false, 0); |
464 } | 593 } |
465 }; | 594 }; |
466 } | 595 } |
OLD | NEW |