| 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 = |
| 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 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 |
| 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 Loading... |
| 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 } |
| OLD | NEW |