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

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 copyright header for start_loopback_stubbed_camera_saved_video_out.py 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 =
148 intent.getBooleanExtra(CallActivity.EXTRA_USE_VALUES_FROM_INTENT, fals e);
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
246 private void connectToRoom( 248 /**
247 String roomId, boolean commandLineRun, boolean loopback, int runTimeMs) { 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(
253 int attributeId, String intentName, 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(
272 int attributeId, String intentName, 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
282 private void connectToRoom(String roomId, boolean commandLineRun, boolean loop back,
283 boolean useValuesFromIntent, int runTimeMs) {
248 this.commandLineRun = commandLineRun; 284 this.commandLineRun = commandLineRun;
249 285
250 // roomId is random for loopback. 286 // roomId is random for loopback.
251 if (loopback) { 287 if (loopback) {
252 roomId = Integer.toString((new Random()).nextInt(100000000)); 288 roomId = Integer.toString((new Random()).nextInt(100000000));
253 } 289 }
254 290
255 String roomUrl = sharedPref.getString( 291 String roomUrl = sharedPref.getString(
256 keyprefRoomServerUrl, getString(R.string.pref_room_server_url_default)); 292 keyprefRoomServerUrl, getString(R.string.pref_room_server_url_default));
257 293
258 // Video call enabled flag. 294 // Video call enabled flag.
259 boolean videoCallEnabled = sharedPref.getBoolean( 295 boolean videoCallEnabled = sharedPrefGetBoolean(R.string.pref_videocall_key,
260 keyprefVideoCallEnabled, Boolean.valueOf(getString(R.string.pref_videoca ll_default))); 296 CallActivity.EXTRA_VIDEO_CALL, R.string.pref_videocall_default, useValue sFromIntent);
261 297
262 // Use Camera2 option. 298 // Use Camera2 option.
263 boolean useCamera2 = sharedPref.getBoolean( 299 boolean useCamera2 = sharedPrefGetBoolean(R.string.pref_camera2_key, CallAct ivity.EXTRA_CAMERA2,
264 keyprefCamera2, Boolean.valueOf(getString(R.string.pref_camera2_default) )); 300 R.string.pref_camera2_default, useValuesFromIntent);
265 301
266 // Get default codecs. 302 // Get default codecs.
267 String videoCodec = 303 String videoCodec = sharedPrefGetString(R.string.pref_videocodec_key,
268 sharedPref.getString(keyprefVideoCodec, getString(R.string.pref_videocod ec_default)); 304 CallActivity.EXTRA_VIDEOCODEC, R.string.pref_videocodec_default, useValu esFromIntent);
269 String audioCodec = 305 String audioCodec = sharedPrefGetString(R.string.pref_audiocodec_key,
270 sharedPref.getString(keyprefAudioCodec, getString(R.string.pref_audiocod ec_default)); 306 CallActivity.EXTRA_AUDIOCODEC, R.string.pref_audiocodec_default, useValu esFromIntent);
271 307
272 // Check HW codec flag. 308 // Check HW codec flag.
273 boolean hwCodec = sharedPref.getBoolean( 309 boolean hwCodec = sharedPrefGetBoolean(R.string.pref_hwcodec_key,
274 keyprefHwCodecAcceleration, Boolean.valueOf(getString(R.string.pref_hwco dec_default))); 310 CallActivity.EXTRA_HWCODEC_ENABLED, R.string.pref_hwcodec_default, useVa luesFromIntent);
275 311
276 // Check Capture to texture. 312 // Check Capture to texture.
277 boolean captureToTexture = sharedPref.getBoolean(keyprefCaptureToTexture, 313 boolean captureToTexture = sharedPrefGetBoolean(R.string.pref_capturetotextu re_key,
278 Boolean.valueOf(getString(R.string.pref_capturetotexture_default))); 314 CallActivity.EXTRA_CAPTURETOTEXTURE_ENABLED, R.string.pref_capturetotext ure_default,
315 useValuesFromIntent);
279 316
280 // Check Disable Audio Processing flag. 317 // Check Disable Audio Processing flag.
281 boolean noAudioProcessing = sharedPref.getBoolean(keyprefNoAudioProcessingPi peline, 318 boolean noAudioProcessing = sharedPrefGetBoolean(R.string.pref_noaudioproces sing_key,
282 Boolean.valueOf(getString(R.string.pref_noaudioprocessing_default))); 319 CallActivity.EXTRA_NOAUDIOPROCESSING_ENABLED, R.string.pref_noaudioproce ssing_default,
320 useValuesFromIntent);
283 321
284 // Check Disable Audio Processing flag. 322 // Check Disable Audio Processing flag.
285 boolean aecDump = sharedPref.getBoolean( 323 boolean aecDump = sharedPrefGetBoolean(R.string.pref_aecdump_key,
286 keyprefAecDump, Boolean.valueOf(getString(R.string.pref_aecdump_default) )); 324 CallActivity.EXTRA_AECDUMP_ENABLED, R.string.pref_aecdump_default, useVa luesFromIntent);
287 325
288 // Check OpenSL ES enabled flag. 326 // Check OpenSL ES enabled flag.
289 boolean useOpenSLES = sharedPref.getBoolean( 327 boolean useOpenSLES = sharedPrefGetBoolean(R.string.pref_opensles_key,
290 keyprefOpenSLES, Boolean.valueOf(getString(R.string.pref_opensles_defaul t))); 328 CallActivity.EXTRA_OPENSLES_ENABLED, R.string.pref_opensles_default, use ValuesFromIntent);
291 329
292 // Check Disable built-in AEC flag. 330 // Check Disable built-in AEC flag.
293 boolean disableBuiltInAEC = sharedPref.getBoolean(keyprefDisableBuiltInAec, 331 boolean disableBuiltInAEC = sharedPrefGetBoolean(R.string.pref_disable_built _in_aec_key,
294 Boolean.valueOf(getString(R.string.pref_disable_built_in_aec_default))); 332 CallActivity.EXTRA_DISABLE_BUILT_IN_AEC, R.string.pref_disable_built_in_ aec_default,
333 useValuesFromIntent);
295 334
296 // Check Disable built-in AGC flag. 335 // Check Disable built-in AGC flag.
297 boolean disableBuiltInAGC = sharedPref.getBoolean(keyprefDisableBuiltInAgc, 336 boolean disableBuiltInAGC = sharedPrefGetBoolean(R.string.pref_disable_built _in_agc_key,
298 Boolean.valueOf(getString(R.string.pref_disable_built_in_agc_default))); 337 CallActivity.EXTRA_DISABLE_BUILT_IN_AGC, R.string.pref_disable_built_in_ agc_default,
338 useValuesFromIntent);
299 339
300 // Check Disable built-in NS flag. 340 // Check Disable built-in NS flag.
301 boolean disableBuiltInNS = sharedPref.getBoolean(keyprefDisableBuiltInNs, 341 boolean disableBuiltInNS = sharedPrefGetBoolean(R.string.pref_disable_built_ in_ns_key,
302 Boolean.valueOf(getString(R.string.pref_disable_built_in_ns_default))); 342 CallActivity.EXTRA_DISABLE_BUILT_IN_NS, R.string.pref_disable_built_in_n s_default,
343 useValuesFromIntent);
303 344
304 // Check Enable level control. 345 // Check Enable level control.
305 boolean enableLevelControl = sharedPref.getBoolean(keyprefEnableLevelControl , 346 boolean enableLevelControl = sharedPrefGetBoolean(R.string.pref_enable_level _control_key,
306 Boolean.valueOf(getString(R.string.pref_enable_level_control_key))); 347 CallActivity.EXTRA_ENABLE_LEVEL_CONTROL, R.string.pref_enable_level_cont rol_key,
348 useValuesFromIntent);
307 349
308 // Get video resolution from settings. 350 // Get video resolution from settings.
309 int videoWidth = 0; 351 int videoWidth = 0;
310 int videoHeight = 0; 352 int videoHeight = 0;
311 String resolution = 353 if (useValuesFromIntent) {
312 sharedPref.getString(keyprefResolution, getString(R.string.pref_resoluti on_default)); 354 videoWidth = getIntent().getIntExtra(CallActivity.EXTRA_VIDEO_WIDTH, 0);
313 String[] dimensions = resolution.split("[ x]+"); 355 videoHeight = getIntent().getIntExtra(CallActivity.EXTRA_VIDEO_HEIGHT, 0);
314 if (dimensions.length == 2) { 356 }
315 try { 357 if (videoWidth == 0 && videoHeight == 0) {
316 videoWidth = Integer.parseInt(dimensions[0]); 358 String resolution =
317 videoHeight = Integer.parseInt(dimensions[1]); 359 sharedPref.getString(keyprefResolution, getString(R.string.pref_resolu tion_default));
318 } catch (NumberFormatException e) { 360 String[] dimensions = resolution.split("[ x]+");
319 videoWidth = 0; 361 if (dimensions.length == 2) {
320 videoHeight = 0; 362 try {
321 Log.e(TAG, "Wrong video resolution setting: " + resolution); 363 videoWidth = Integer.parseInt(dimensions[0]);
364 videoHeight = Integer.parseInt(dimensions[1]);
365 } catch (NumberFormatException e) {
366 videoWidth = 0;
367 videoHeight = 0;
368 Log.e(TAG, "Wrong video resolution setting: " + resolution);
369 }
322 } 370 }
323 } 371 }
324 372
325 // Get camera fps from settings. 373 // Get camera fps from settings.
326 int cameraFps = 0; 374 int cameraFps = 0;
327 String fps = sharedPref.getString(keyprefFps, getString(R.string.pref_fps_de fault)); 375 if (useValuesFromIntent) {
328 String[] fpsValues = fps.split("[ x]+"); 376 cameraFps = getIntent().getIntExtra(CallActivity.EXTRA_VIDEO_FPS, 0);
329 if (fpsValues.length == 2) { 377 }
330 try { 378 if (cameraFps == 0) {
331 cameraFps = Integer.parseInt(fpsValues[0]); 379 String fps = sharedPref.getString(keyprefFps, getString(R.string.pref_fps_ default));
332 } catch (NumberFormatException e) { 380 String[] fpsValues = fps.split("[ x]+");
333 Log.e(TAG, "Wrong camera fps setting: " + fps); 381 if (fpsValues.length == 2) {
382 try {
383 cameraFps = Integer.parseInt(fpsValues[0]);
384 } catch (NumberFormatException e) {
385 cameraFps = 0;
386 Log.e(TAG, "Wrong camera fps setting: " + fps);
387 }
334 } 388 }
335 } 389 }
336 390
337 // Check capture quality slider flag. 391 // Check capture quality slider flag.
338 boolean captureQualitySlider = sharedPref.getBoolean(keyprefCaptureQualitySl ider, 392 boolean captureQualitySlider = sharedPrefGetBoolean(R.string.pref_capturequa lityslider_key,
339 Boolean.valueOf(getString(R.string.pref_capturequalityslider_default))); 393 CallActivity.EXTRA_VIDEO_CAPTUREQUALITYSLIDER_ENABLED,
394 R.string.pref_capturequalityslider_default, useValuesFromIntent);
340 395
341 // Get video and audio start bitrate. 396 // Get video and audio start bitrate.
342 int videoStartBitrate = 0; 397 int videoStartBitrate = 0;
343 String bitrateTypeDefault = getString(R.string.pref_maxvideobitrate_default) ; 398 if (useValuesFromIntent) {
344 String bitrateType = sharedPref.getString(keyprefVideoBitrateType, bitrateTy peDefault); 399 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 } 400 }
401 if (videoStartBitrate == 0) {
402 String bitrateTypeDefault = getString(R.string.pref_maxvideobitrate_defaul t);
403 String bitrateType = sharedPref.getString(keyprefVideoBitrateType, bitrate TypeDefault);
404 if (!bitrateType.equals(bitrateTypeDefault)) {
405 String bitrateValue = sharedPref.getString(
406 keyprefVideoBitrateValue, getString(R.string.pref_maxvideobitrateval ue_default));
407 videoStartBitrate = Integer.parseInt(bitrateValue);
408 }
409 }
410
350 int audioStartBitrate = 0; 411 int audioStartBitrate = 0;
351 bitrateTypeDefault = getString(R.string.pref_startaudiobitrate_default); 412 if (useValuesFromIntent) {
352 bitrateType = sharedPref.getString(keyprefAudioBitrateType, bitrateTypeDefau lt); 413 audioStartBitrate = getIntent().getIntExtra(CallActivity.EXTRA_AUDIO_BITRA TE, 0);
353 if (!bitrateType.equals(bitrateTypeDefault)) { 414 }
354 String bitrateValue = sharedPref.getString( 415 if (audioStartBitrate == 0) {
355 keyprefAudioBitrateValue, getString(R.string.pref_startaudiobitrateval ue_default)); 416 String bitrateTypeDefault = getString(R.string.pref_startaudiobitrate_defa ult);
356 audioStartBitrate = Integer.parseInt(bitrateValue); 417 String bitrateType = sharedPref.getString(keyprefAudioBitrateType, bitrate TypeDefault);
418 if (!bitrateType.equals(bitrateTypeDefault)) {
419 String bitrateValue = sharedPref.getString(
420 keyprefAudioBitrateValue, getString(R.string.pref_startaudiobitratev alue_default));
421 audioStartBitrate = Integer.parseInt(bitrateValue);
422 }
357 } 423 }
358 424
359 // Check statistics display option. 425 // Check statistics display option.
360 boolean displayHud = sharedPref.getBoolean( 426 boolean displayHud = sharedPrefGetBoolean(R.string.pref_displayhud_key,
361 keyprefDisplayHud, Boolean.valueOf(getString(R.string.pref_displayhud_de fault))); 427 CallActivity.EXTRA_DISPLAY_HUD, R.string.pref_displayhud_default, useVal uesFromIntent);
362 428
363 boolean tracing = sharedPref.getBoolean( 429 boolean tracing = sharedPrefGetBoolean(R.string.pref_tracing_key, CallActivi ty.EXTRA_TRACING,
364 keyprefTracing, Boolean.valueOf(getString(R.string.pref_tracing_default) )); 430 R.string.pref_tracing_default, useValuesFromIntent);
365 431
366 // Start AppRTCMobile activity. 432 // Start AppRTCMobile activity.
367 Log.d(TAG, "Connecting to room " + roomId + " at URL " + roomUrl); 433 Log.d(TAG, "Connecting to room " + roomId + " at URL " + roomUrl);
368 if (validateUrl(roomUrl)) { 434 if (validateUrl(roomUrl)) {
369 Uri uri = Uri.parse(roomUrl); 435 Uri uri = Uri.parse(roomUrl);
370 Intent intent = new Intent(this, CallActivity.class); 436 Intent intent = new Intent(this, CallActivity.class);
371 intent.setData(uri); 437 intent.setData(uri);
372 intent.putExtra(CallActivity.EXTRA_ROOMID, roomId); 438 intent.putExtra(CallActivity.EXTRA_ROOMID, roomId);
373 intent.putExtra(CallActivity.EXTRA_LOOPBACK, loopback); 439 intent.putExtra(CallActivity.EXTRA_LOOPBACK, loopback);
374 intent.putExtra(CallActivity.EXTRA_VIDEO_CALL, videoCallEnabled); 440 intent.putExtra(CallActivity.EXTRA_VIDEO_CALL, videoCallEnabled);
(...skipping 13 matching lines...) Expand all
388 intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_AGC, disableBuiltInAGC ); 454 intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_AGC, disableBuiltInAGC );
389 intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_NS, disableBuiltInNS); 455 intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_NS, disableBuiltInNS);
390 intent.putExtra(CallActivity.EXTRA_ENABLE_LEVEL_CONTROL, enableLevelContro l); 456 intent.putExtra(CallActivity.EXTRA_ENABLE_LEVEL_CONTROL, enableLevelContro l);
391 intent.putExtra(CallActivity.EXTRA_AUDIO_BITRATE, audioStartBitrate); 457 intent.putExtra(CallActivity.EXTRA_AUDIO_BITRATE, audioStartBitrate);
392 intent.putExtra(CallActivity.EXTRA_AUDIOCODEC, audioCodec); 458 intent.putExtra(CallActivity.EXTRA_AUDIOCODEC, audioCodec);
393 intent.putExtra(CallActivity.EXTRA_DISPLAY_HUD, displayHud); 459 intent.putExtra(CallActivity.EXTRA_DISPLAY_HUD, displayHud);
394 intent.putExtra(CallActivity.EXTRA_TRACING, tracing); 460 intent.putExtra(CallActivity.EXTRA_TRACING, tracing);
395 intent.putExtra(CallActivity.EXTRA_CMDLINE, commandLineRun); 461 intent.putExtra(CallActivity.EXTRA_CMDLINE, commandLineRun);
396 intent.putExtra(CallActivity.EXTRA_RUNTIME, runTimeMs); 462 intent.putExtra(CallActivity.EXTRA_RUNTIME, runTimeMs);
397 463
464 if (useValuesFromIntent) {
465 if (getIntent().hasExtra(CallActivity.EXTRA_VIDEO_FILE_AS_CAMERA)) {
466 String videoFileAsCamera =
467 getIntent().getStringExtra(CallActivity.EXTRA_VIDEO_FILE_AS_CAMERA );
468 intent.putExtra(CallActivity.EXTRA_VIDEO_FILE_AS_CAMERA, videoFileAsCa mera);
469 }
470
471 if (getIntent().hasExtra(CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FILE)) {
472 String saveRemoteVideoToFile =
473 getIntent().getStringExtra(CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO _FILE);
474 intent.putExtra(CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FILE, saveRemo teVideoToFile);
475 }
476
477 if (getIntent().hasExtra(CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FILE_WI DTH)) {
478 int videoOutWidth =
479 getIntent().getIntExtra(CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FI LE_WIDTH, 0);
480 intent.putExtra(CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FILE_WIDTH, vi deoOutWidth);
481 }
482
483 if (getIntent().hasExtra(CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FILE_HE IGHT)) {
484 int videoOutHeight =
485 getIntent().getIntExtra(CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FI LE_HEIGHT, 0);
486 intent.putExtra(CallActivity.EXTRA_SAVE_REMOTE_VIDEO_TO_FILE_HEIGHT, v ideoOutHeight);
487 }
488 }
489
398 startActivityForResult(intent, CONNECTION_REQUEST); 490 startActivityForResult(intent, CONNECTION_REQUEST);
399 } 491 }
400 } 492 }
401 493
402 private boolean validateUrl(String url) { 494 private boolean validateUrl(String url) {
403 if (URLUtil.isHttpsUrl(url) || URLUtil.isHttpUrl(url)) { 495 if (URLUtil.isHttpsUrl(url) || URLUtil.isHttpUrl(url)) {
404 return true; 496 return true;
405 } 497 }
406 498
407 new AlertDialog.Builder(this) 499 new AlertDialog.Builder(this)
408 .setTitle(getText(R.string.invalid_url_title)) 500 .setTitle(getText(R.string.invalid_url_title))
409 .setMessage(getString(R.string.invalid_url_text, url)) 501 .setMessage(getString(R.string.invalid_url_text, url))
410 .setCancelable(false) 502 .setCancelable(false)
411 .setNeutralButton(R.string.ok, 503 .setNeutralButton(R.string.ok,
412 new DialogInterface.OnClickListener() { 504 new DialogInterface.OnClickListener() {
413 public void onClick(DialogInterface dialog, int id) { 505 public void onClick(DialogInterface dialog, int id) {
414 dialog.cancel(); 506 dialog.cancel();
415 } 507 }
416 }) 508 })
417 .create() 509 .create()
418 .show(); 510 .show();
419 return false; 511 return false;
420 } 512 }
421 513
422 private final AdapterView.OnItemClickListener roomListClickListener = 514 private final AdapterView.OnItemClickListener roomListClickListener =
423 new AdapterView.OnItemClickListener() { 515 new AdapterView.OnItemClickListener() {
424 @Override 516 @Override
425 public void onItemClick(AdapterView<?> adapterView, View view, int i, lo ng l) { 517 public void onItemClick(AdapterView<?> adapterView, View view, int i, lo ng l) {
426 String roomId = ((TextView) view).getText().toString(); 518 String roomId = ((TextView) view).getText().toString();
427 connectToRoom(roomId, false, false, 0); 519 connectToRoom(roomId, false, false, false, 0);
428 } 520 }
429 }; 521 };
430 522
431 private final OnClickListener addFavoriteListener = new OnClickListener() { 523 private final OnClickListener addFavoriteListener = new OnClickListener() {
432 @Override 524 @Override
433 public void onClick(View view) { 525 public void onClick(View view) {
434 String newRoom = roomEditText.getText().toString(); 526 String newRoom = roomEditText.getText().toString();
435 if (newRoom.length() > 0 && !roomList.contains(newRoom)) { 527 if (newRoom.length() > 0 && !roomList.contains(newRoom)) {
436 adapter.add(newRoom); 528 adapter.add(newRoom);
437 adapter.notifyDataSetChanged(); 529 adapter.notifyDataSetChanged();
438 } 530 }
439 } 531 }
440 }; 532 };
441 533
442 private final OnClickListener connectListener = new OnClickListener() { 534 private final OnClickListener connectListener = new OnClickListener() {
443 @Override 535 @Override
444 public void onClick(View view) { 536 public void onClick(View view) {
445 connectToRoom(roomEditText.getText().toString(), false, false, 0); 537 connectToRoom(roomEditText.getText().toString(), false, false, false, 0);
446 } 538 }
447 }; 539 };
448 } 540 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698