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

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: Fixing review comments, except unittesting 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 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698