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); | |
149 String room = sharedPref.getString(keyprefRoom, ""); | 147 String room = sharedPref.getString(keyprefRoom, ""); |
150 connectToRoom(room, true, loopback, useValuesFromIntent, runTimeMs); | 148 connectToRoom(room, true, loopback, runTimeMs); |
151 } | 149 } |
152 } | 150 } |
153 | 151 |
154 @Override | 152 @Override |
155 public boolean onCreateOptionsMenu(Menu menu) { | 153 public boolean onCreateOptionsMenu(Menu menu) { |
156 getMenuInflater().inflate(R.menu.connect_menu, menu); | 154 getMenuInflater().inflate(R.menu.connect_menu, menu); |
157 return true; | 155 return true; |
158 } | 156 } |
159 | 157 |
160 @Override | 158 @Override |
(...skipping 24 matching lines...) Expand all Loading... |
185 } | 183 } |
186 | 184 |
187 @Override | 185 @Override |
188 public boolean onOptionsItemSelected(MenuItem item) { | 186 public boolean onOptionsItemSelected(MenuItem item) { |
189 // Handle presses on the action bar items. | 187 // Handle presses on the action bar items. |
190 if (item.getItemId() == R.id.action_settings) { | 188 if (item.getItemId() == R.id.action_settings) { |
191 Intent intent = new Intent(this, SettingsActivity.class); | 189 Intent intent = new Intent(this, SettingsActivity.class); |
192 startActivity(intent); | 190 startActivity(intent); |
193 return true; | 191 return true; |
194 } else if (item.getItemId() == R.id.action_loopback) { | 192 } else if (item.getItemId() == R.id.action_loopback) { |
195 connectToRoom(null, false, true, false, 0); | 193 connectToRoom(null, false, true, 0); |
196 return true; | 194 return true; |
197 } else { | 195 } else { |
198 return super.onOptionsItemSelected(item); | 196 return super.onOptionsItemSelected(item); |
199 } | 197 } |
200 } | 198 } |
201 | 199 |
202 @Override | 200 @Override |
203 public void onPause() { | 201 public void onPause() { |
204 super.onPause(); | 202 super.onPause(); |
205 String room = roomEditText.getText().toString(); | 203 String room = roomEditText.getText().toString(); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
238 @Override | 236 @Override |
239 protected void onActivityResult(int requestCode, int resultCode, Intent data)
{ | 237 protected void onActivityResult(int requestCode, int resultCode, Intent data)
{ |
240 if (requestCode == CONNECTION_REQUEST && commandLineRun) { | 238 if (requestCode == CONNECTION_REQUEST && commandLineRun) { |
241 Log.d(TAG, "Return: " + resultCode); | 239 Log.d(TAG, "Return: " + resultCode); |
242 setResult(resultCode); | 240 setResult(resultCode); |
243 commandLineRun = false; | 241 commandLineRun = false; |
244 finish(); | 242 finish(); |
245 } | 243 } |
246 } | 244 } |
247 | 245 |
248 /** | 246 private void connectToRoom( |
249 * Get a value from the shared preference or from the intent, if it does not | 247 String roomId, boolean commandLineRun, boolean loopback, int runTimeMs) { |
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) { | |
284 this.commandLineRun = commandLineRun; | 248 this.commandLineRun = commandLineRun; |
285 | 249 |
286 // roomId is random for loopback. | 250 // roomId is random for loopback. |
287 if (loopback) { | 251 if (loopback) { |
288 roomId = Integer.toString((new Random()).nextInt(100000000)); | 252 roomId = Integer.toString((new Random()).nextInt(100000000)); |
289 } | 253 } |
290 | 254 |
291 String roomUrl = sharedPref.getString( | 255 String roomUrl = sharedPref.getString( |
292 keyprefRoomServerUrl, getString(R.string.pref_room_server_url_default)); | 256 keyprefRoomServerUrl, getString(R.string.pref_room_server_url_default)); |
293 | 257 |
294 // Video call enabled flag. | 258 // Video call enabled flag. |
295 boolean videoCallEnabled = sharedPrefGetBoolean(R.string.pref_videocall_key, | 259 boolean videoCallEnabled = sharedPref.getBoolean( |
296 CallActivity.EXTRA_VIDEO_CALL, R.string.pref_videocall_default, useValue
sFromIntent); | 260 keyprefVideoCallEnabled, Boolean.valueOf(getString(R.string.pref_videoca
ll_default))); |
297 | 261 |
298 // Use Camera2 option. | 262 // Use Camera2 option. |
299 boolean useCamera2 = sharedPrefGetBoolean(R.string.pref_camera2_key, CallAct
ivity.EXTRA_CAMERA2, | 263 boolean useCamera2 = sharedPref.getBoolean( |
300 R.string.pref_camera2_default, useValuesFromIntent); | 264 keyprefCamera2, Boolean.valueOf(getString(R.string.pref_camera2_default)
)); |
301 | 265 |
302 // Get default codecs. | 266 // Get default codecs. |
303 String videoCodec = sharedPrefGetString(R.string.pref_videocodec_key, | 267 String videoCodec = |
304 CallActivity.EXTRA_VIDEOCODEC, R.string.pref_videocodec_default, useValu
esFromIntent); | 268 sharedPref.getString(keyprefVideoCodec, getString(R.string.pref_videocod
ec_default)); |
305 String audioCodec = sharedPrefGetString(R.string.pref_audiocodec_key, | 269 String audioCodec = |
306 CallActivity.EXTRA_AUDIOCODEC, R.string.pref_audiocodec_default, useValu
esFromIntent); | 270 sharedPref.getString(keyprefAudioCodec, getString(R.string.pref_audiocod
ec_default)); |
307 | 271 |
308 // Check HW codec flag. | 272 // Check HW codec flag. |
309 boolean hwCodec = sharedPrefGetBoolean(R.string.pref_hwcodec_key, | 273 boolean hwCodec = sharedPref.getBoolean( |
310 CallActivity.EXTRA_HWCODEC_ENABLED, R.string.pref_hwcodec_default, useVa
luesFromIntent); | 274 keyprefHwCodecAcceleration, Boolean.valueOf(getString(R.string.pref_hwco
dec_default))); |
311 | 275 |
312 // Check Capture to texture. | 276 // Check Capture to texture. |
313 boolean captureToTexture = sharedPrefGetBoolean(R.string.pref_capturetotextu
re_key, | 277 boolean captureToTexture = sharedPref.getBoolean(keyprefCaptureToTexture, |
314 CallActivity.EXTRA_CAPTURETOTEXTURE_ENABLED, R.string.pref_capturetotext
ure_default, | 278 Boolean.valueOf(getString(R.string.pref_capturetotexture_default))); |
315 useValuesFromIntent); | |
316 | 279 |
317 // Check Disable Audio Processing flag. | 280 // Check Disable Audio Processing flag. |
318 boolean noAudioProcessing = sharedPrefGetBoolean(R.string.pref_noaudioproces
sing_key, | 281 boolean noAudioProcessing = sharedPref.getBoolean(keyprefNoAudioProcessingPi
peline, |
319 CallActivity.EXTRA_NOAUDIOPROCESSING_ENABLED, R.string.pref_noaudioproce
ssing_default, | 282 Boolean.valueOf(getString(R.string.pref_noaudioprocessing_default))); |
320 useValuesFromIntent); | |
321 | 283 |
322 // Check Disable Audio Processing flag. | 284 // Check Disable Audio Processing flag. |
323 boolean aecDump = sharedPrefGetBoolean(R.string.pref_aecdump_key, | 285 boolean aecDump = sharedPref.getBoolean( |
324 CallActivity.EXTRA_AECDUMP_ENABLED, R.string.pref_aecdump_default, useVa
luesFromIntent); | 286 keyprefAecDump, Boolean.valueOf(getString(R.string.pref_aecdump_default)
)); |
325 | 287 |
326 // Check OpenSL ES enabled flag. | 288 // Check OpenSL ES enabled flag. |
327 boolean useOpenSLES = sharedPrefGetBoolean(R.string.pref_opensles_key, | 289 boolean useOpenSLES = sharedPref.getBoolean( |
328 CallActivity.EXTRA_OPENSLES_ENABLED, R.string.pref_opensles_default, use
ValuesFromIntent); | 290 keyprefOpenSLES, Boolean.valueOf(getString(R.string.pref_opensles_defaul
t))); |
329 | 291 |
330 // Check Disable built-in AEC flag. | 292 // Check Disable built-in AEC flag. |
331 boolean disableBuiltInAEC = sharedPrefGetBoolean(R.string.pref_disable_built
_in_aec_key, | 293 boolean disableBuiltInAEC = sharedPref.getBoolean(keyprefDisableBuiltInAec, |
332 CallActivity.EXTRA_DISABLE_BUILT_IN_AEC, R.string.pref_disable_built_in_
aec_default, | 294 Boolean.valueOf(getString(R.string.pref_disable_built_in_aec_default))); |
333 useValuesFromIntent); | |
334 | 295 |
335 // Check Disable built-in AGC flag. | 296 // Check Disable built-in AGC flag. |
336 boolean disableBuiltInAGC = sharedPrefGetBoolean(R.string.pref_disable_built
_in_agc_key, | 297 boolean disableBuiltInAGC = sharedPref.getBoolean(keyprefDisableBuiltInAgc, |
337 CallActivity.EXTRA_DISABLE_BUILT_IN_AGC, R.string.pref_disable_built_in_
agc_default, | 298 Boolean.valueOf(getString(R.string.pref_disable_built_in_agc_default))); |
338 useValuesFromIntent); | |
339 | 299 |
340 // Check Disable built-in NS flag. | 300 // Check Disable built-in NS flag. |
341 boolean disableBuiltInNS = sharedPrefGetBoolean(R.string.pref_disable_built_
in_ns_key, | 301 boolean disableBuiltInNS = sharedPref.getBoolean(keyprefDisableBuiltInNs, |
342 CallActivity.EXTRA_DISABLE_BUILT_IN_NS, R.string.pref_disable_built_in_n
s_default, | 302 Boolean.valueOf(getString(R.string.pref_disable_built_in_ns_default))); |
343 useValuesFromIntent); | |
344 | 303 |
345 // Check Enable level control. | 304 // Check Enable level control. |
346 boolean enableLevelControl = sharedPrefGetBoolean(R.string.pref_enable_level
_control_key, | 305 boolean enableLevelControl = sharedPref.getBoolean(keyprefEnableLevelControl
, |
347 CallActivity.EXTRA_ENABLE_LEVEL_CONTROL, R.string.pref_enable_level_cont
rol_key, | 306 Boolean.valueOf(getString(R.string.pref_enable_level_control_key))); |
348 useValuesFromIntent); | |
349 | 307 |
350 // Get video resolution from settings. | 308 // Get video resolution from settings. |
351 int videoWidth = 0; | 309 int videoWidth = 0; |
352 int videoHeight = 0; | 310 int videoHeight = 0; |
353 if (useValuesFromIntent) { | 311 String resolution = |
354 videoWidth = getIntent().getIntExtra(CallActivity.EXTRA_VIDEO_WIDTH, 0); | 312 sharedPref.getString(keyprefResolution, getString(R.string.pref_resoluti
on_default)); |
355 videoHeight = getIntent().getIntExtra(CallActivity.EXTRA_VIDEO_HEIGHT, 0); | 313 String[] dimensions = resolution.split("[ x]+"); |
356 } | 314 if (dimensions.length == 2) { |
357 if (videoWidth == 0 && videoHeight == 0) { | 315 try { |
358 String resolution = | 316 videoWidth = Integer.parseInt(dimensions[0]); |
359 sharedPref.getString(keyprefResolution, getString(R.string.pref_resolu
tion_default)); | 317 videoHeight = Integer.parseInt(dimensions[1]); |
360 String[] dimensions = resolution.split("[ x]+"); | 318 } catch (NumberFormatException e) { |
361 if (dimensions.length == 2) { | 319 videoWidth = 0; |
362 try { | 320 videoHeight = 0; |
363 videoWidth = Integer.parseInt(dimensions[0]); | 321 Log.e(TAG, "Wrong video resolution setting: " + resolution); |
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 } | |
370 } | 322 } |
371 } | 323 } |
372 | 324 |
373 // Get camera fps from settings. | 325 // Get camera fps from settings. |
374 int cameraFps = 0; | 326 int cameraFps = 0; |
375 if (useValuesFromIntent) { | 327 String fps = sharedPref.getString(keyprefFps, getString(R.string.pref_fps_de
fault)); |
376 cameraFps = getIntent().getIntExtra(CallActivity.EXTRA_VIDEO_FPS, 0); | 328 String[] fpsValues = fps.split("[ x]+"); |
377 } | 329 if (fpsValues.length == 2) { |
378 if (cameraFps == 0) { | 330 try { |
379 String fps = sharedPref.getString(keyprefFps, getString(R.string.pref_fps_
default)); | 331 cameraFps = Integer.parseInt(fpsValues[0]); |
380 String[] fpsValues = fps.split("[ x]+"); | 332 } catch (NumberFormatException e) { |
381 if (fpsValues.length == 2) { | 333 Log.e(TAG, "Wrong camera fps setting: " + fps); |
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 } | |
388 } | 334 } |
389 } | 335 } |
390 | 336 |
391 // Check capture quality slider flag. | 337 // Check capture quality slider flag. |
392 boolean captureQualitySlider = sharedPrefGetBoolean(R.string.pref_capturequa
lityslider_key, | 338 boolean captureQualitySlider = sharedPref.getBoolean(keyprefCaptureQualitySl
ider, |
393 CallActivity.EXTRA_VIDEO_CAPTUREQUALITYSLIDER_ENABLED, | 339 Boolean.valueOf(getString(R.string.pref_capturequalityslider_default))); |
394 R.string.pref_capturequalityslider_default, useValuesFromIntent); | |
395 | 340 |
396 // Get video and audio start bitrate. | 341 // Get video and audio start bitrate. |
397 int videoStartBitrate = 0; | 342 int videoStartBitrate = 0; |
398 if (useValuesFromIntent) { | 343 String bitrateTypeDefault = getString(R.string.pref_maxvideobitrate_default)
; |
399 videoStartBitrate = getIntent().getIntExtra(CallActivity.EXTRA_VIDEO_BITRA
TE, 0); | 344 String bitrateType = sharedPref.getString(keyprefVideoBitrateType, bitrateTy
peDefault); |
| 345 if (!bitrateType.equals(bitrateTypeDefault)) { |
| 346 String bitrateValue = sharedPref.getString( |
| 347 keyprefVideoBitrateValue, getString(R.string.pref_maxvideobitratevalue
_default)); |
| 348 videoStartBitrate = Integer.parseInt(bitrateValue); |
400 } | 349 } |
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 | |
411 int audioStartBitrate = 0; | 350 int audioStartBitrate = 0; |
412 if (useValuesFromIntent) { | 351 bitrateTypeDefault = getString(R.string.pref_startaudiobitrate_default); |
413 audioStartBitrate = getIntent().getIntExtra(CallActivity.EXTRA_AUDIO_BITRA
TE, 0); | 352 bitrateType = sharedPref.getString(keyprefAudioBitrateType, bitrateTypeDefau
lt); |
414 } | 353 if (!bitrateType.equals(bitrateTypeDefault)) { |
415 if (audioStartBitrate == 0) { | 354 String bitrateValue = sharedPref.getString( |
416 String bitrateTypeDefault = getString(R.string.pref_startaudiobitrate_defa
ult); | 355 keyprefAudioBitrateValue, getString(R.string.pref_startaudiobitrateval
ue_default)); |
417 String bitrateType = sharedPref.getString(keyprefAudioBitrateType, bitrate
TypeDefault); | 356 audioStartBitrate = Integer.parseInt(bitrateValue); |
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 } | |
423 } | 357 } |
424 | 358 |
425 // Check statistics display option. | 359 // Check statistics display option. |
426 boolean displayHud = sharedPrefGetBoolean(R.string.pref_displayhud_key, | 360 boolean displayHud = sharedPref.getBoolean( |
427 CallActivity.EXTRA_DISPLAY_HUD, R.string.pref_displayhud_default, useVal
uesFromIntent); | 361 keyprefDisplayHud, Boolean.valueOf(getString(R.string.pref_displayhud_de
fault))); |
428 | 362 |
429 boolean tracing = sharedPrefGetBoolean(R.string.pref_tracing_key, CallActivi
ty.EXTRA_TRACING, | 363 boolean tracing = sharedPref.getBoolean( |
430 R.string.pref_tracing_default, useValuesFromIntent); | 364 keyprefTracing, Boolean.valueOf(getString(R.string.pref_tracing_default)
)); |
431 | 365 |
432 // Start AppRTCMobile activity. | 366 // Start AppRTCMobile activity. |
433 Log.d(TAG, "Connecting to room " + roomId + " at URL " + roomUrl); | 367 Log.d(TAG, "Connecting to room " + roomId + " at URL " + roomUrl); |
434 if (validateUrl(roomUrl)) { | 368 if (validateUrl(roomUrl)) { |
435 Uri uri = Uri.parse(roomUrl); | 369 Uri uri = Uri.parse(roomUrl); |
436 Intent intent = new Intent(this, CallActivity.class); | 370 Intent intent = new Intent(this, CallActivity.class); |
437 intent.setData(uri); | 371 intent.setData(uri); |
438 intent.putExtra(CallActivity.EXTRA_ROOMID, roomId); | 372 intent.putExtra(CallActivity.EXTRA_ROOMID, roomId); |
439 intent.putExtra(CallActivity.EXTRA_LOOPBACK, loopback); | 373 intent.putExtra(CallActivity.EXTRA_LOOPBACK, loopback); |
440 intent.putExtra(CallActivity.EXTRA_VIDEO_CALL, videoCallEnabled); | 374 intent.putExtra(CallActivity.EXTRA_VIDEO_CALL, videoCallEnabled); |
(...skipping 13 matching lines...) Expand all Loading... |
454 intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_AGC, disableBuiltInAGC
); | 388 intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_AGC, disableBuiltInAGC
); |
455 intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_NS, disableBuiltInNS); | 389 intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_NS, disableBuiltInNS); |
456 intent.putExtra(CallActivity.EXTRA_ENABLE_LEVEL_CONTROL, enableLevelContro
l); | 390 intent.putExtra(CallActivity.EXTRA_ENABLE_LEVEL_CONTROL, enableLevelContro
l); |
457 intent.putExtra(CallActivity.EXTRA_AUDIO_BITRATE, audioStartBitrate); | 391 intent.putExtra(CallActivity.EXTRA_AUDIO_BITRATE, audioStartBitrate); |
458 intent.putExtra(CallActivity.EXTRA_AUDIOCODEC, audioCodec); | 392 intent.putExtra(CallActivity.EXTRA_AUDIOCODEC, audioCodec); |
459 intent.putExtra(CallActivity.EXTRA_DISPLAY_HUD, displayHud); | 393 intent.putExtra(CallActivity.EXTRA_DISPLAY_HUD, displayHud); |
460 intent.putExtra(CallActivity.EXTRA_TRACING, tracing); | 394 intent.putExtra(CallActivity.EXTRA_TRACING, tracing); |
461 intent.putExtra(CallActivity.EXTRA_CMDLINE, commandLineRun); | 395 intent.putExtra(CallActivity.EXTRA_CMDLINE, commandLineRun); |
462 intent.putExtra(CallActivity.EXTRA_RUNTIME, runTimeMs); | 396 intent.putExtra(CallActivity.EXTRA_RUNTIME, runTimeMs); |
463 | 397 |
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 | |
490 startActivityForResult(intent, CONNECTION_REQUEST); | 398 startActivityForResult(intent, CONNECTION_REQUEST); |
491 } | 399 } |
492 } | 400 } |
493 | 401 |
494 private boolean validateUrl(String url) { | 402 private boolean validateUrl(String url) { |
495 if (URLUtil.isHttpsUrl(url) || URLUtil.isHttpUrl(url)) { | 403 if (URLUtil.isHttpsUrl(url) || URLUtil.isHttpUrl(url)) { |
496 return true; | 404 return true; |
497 } | 405 } |
498 | 406 |
499 new AlertDialog.Builder(this) | 407 new AlertDialog.Builder(this) |
500 .setTitle(getText(R.string.invalid_url_title)) | 408 .setTitle(getText(R.string.invalid_url_title)) |
501 .setMessage(getString(R.string.invalid_url_text, url)) | 409 .setMessage(getString(R.string.invalid_url_text, url)) |
502 .setCancelable(false) | 410 .setCancelable(false) |
503 .setNeutralButton(R.string.ok, | 411 .setNeutralButton(R.string.ok, |
504 new DialogInterface.OnClickListener() { | 412 new DialogInterface.OnClickListener() { |
505 public void onClick(DialogInterface dialog, int id) { | 413 public void onClick(DialogInterface dialog, int id) { |
506 dialog.cancel(); | 414 dialog.cancel(); |
507 } | 415 } |
508 }) | 416 }) |
509 .create() | 417 .create() |
510 .show(); | 418 .show(); |
511 return false; | 419 return false; |
512 } | 420 } |
513 | 421 |
514 private final AdapterView.OnItemClickListener roomListClickListener = | 422 private final AdapterView.OnItemClickListener roomListClickListener = |
515 new AdapterView.OnItemClickListener() { | 423 new AdapterView.OnItemClickListener() { |
516 @Override | 424 @Override |
517 public void onItemClick(AdapterView<?> adapterView, View view, int i, lo
ng l) { | 425 public void onItemClick(AdapterView<?> adapterView, View view, int i, lo
ng l) { |
518 String roomId = ((TextView) view).getText().toString(); | 426 String roomId = ((TextView) view).getText().toString(); |
519 connectToRoom(roomId, false, false, false, 0); | 427 connectToRoom(roomId, false, false, 0); |
520 } | 428 } |
521 }; | 429 }; |
522 | 430 |
523 private final OnClickListener addFavoriteListener = new OnClickListener() { | 431 private final OnClickListener addFavoriteListener = new OnClickListener() { |
524 @Override | 432 @Override |
525 public void onClick(View view) { | 433 public void onClick(View view) { |
526 String newRoom = roomEditText.getText().toString(); | 434 String newRoom = roomEditText.getText().toString(); |
527 if (newRoom.length() > 0 && !roomList.contains(newRoom)) { | 435 if (newRoom.length() > 0 && !roomList.contains(newRoom)) { |
528 adapter.add(newRoom); | 436 adapter.add(newRoom); |
529 adapter.notifyDataSetChanged(); | 437 adapter.notifyDataSetChanged(); |
530 } | 438 } |
531 } | 439 } |
532 }; | 440 }; |
533 | 441 |
534 private final OnClickListener connectListener = new OnClickListener() { | 442 private final OnClickListener connectListener = new OnClickListener() { |
535 @Override | 443 @Override |
536 public void onClick(View view) { | 444 public void onClick(View view) { |
537 connectToRoom(roomEditText.getText().toString(), false, false, false, 0); | 445 connectToRoom(roomEditText.getText().toString(), false, false, 0); |
538 } | 446 } |
539 }; | 447 }; |
540 } | 448 } |
OLD | NEW |