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 |