Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Side by Side Diff: webrtc/examples/androidapp/src/org/appspot/apprtc/ConnectActivity.java

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

Powered by Google App Engine
This is Rietveld 408576698