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 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |