webrtc/talk/examples/android
glaznev@webrtc.org eef85387ec Fix AppRTCDemo closing error for KK and JB Android devices.
- Do not allow connection output when sending http delete
request to ws server - this causes IOException for KK and JB devices.
- Avoid creating dialog box with error message when activity
has been already closed / paused -
this causes resource leak error message for KK devices.
- Plus some code clean up to support async http messages in
websocket channel wrapper and use Handler for running
peerconnection client funcitons on UI thread.

R=jiayl@webrtc.org, tkchin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/31159004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7836 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-09 01:29:17 +00:00
..
assets AppRTCDemo: replace the use of query-string parameters for pre-JB devices. 2013-07-29 19:07:33 +00:00
jni Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
res Support new WebSocket signaling format. 2014-12-04 17:28:52 +00:00
src/org/appspot/apprtc Fix AppRTCDemo closing error for KK and JB Android devices. 2014-12-09 01:29:17 +00:00
third_party/autobanh Support loopback mode and command line execution 2014-11-20 21:16:12 +00:00
AndroidManifest.xml AppRTCDemoActivity: use differnet Themes for different API levels 2014-11-04 17:26:22 +00:00
ant.properties Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
build.xml Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
project.properties Update Android projects to API level 21. 2014-10-31 23:26:10 +00:00
README Update AppRTCDemo README with information on 3-dot-apprtc server 2014-12-04 22:42:59 +00:00

This directory contains an example Android client for https://3-dot-apprtc.appspot.com

Prerequisites:
- "Android Specific Steps" on http://www.webrtc.org/reference/getting-started
- Set up webrtc-related GYP variables:
  export GYP_DEFINES="build_with_libjingle=1 build_with_chromium=0 libjingle_java=1 $GYP_DEFINES"
  To cause WEBRTC_LOGGING to emit to Android's logcat, add enable_tracing=1 to
  the $GYP_DEFINES above.
- When targeting both desktop & android, make sure to use a different output_dir
  value in $GYP_GENERATOR_FLAGS or you'll likely end up with mismatched ARM &
  x86 output artifacts.  If you use an output_dir other than out/ make sure to
  modify the command-lines below appropriately.
- Finally, run "gclient runhooks" to generate Android-targeting .ninja files.

Example of building & using the app:

cd <path/to/libjingle>/trunk
ninja -C out/Debug AppRTCDemo
adb install -r out/Debug/AppRTCDemo-debug.apk

In desktop chrome, navigate to https://3-dot-apprtc.appspot.com and note the r=<NNN> room
this redirects to or navigate directly to https://3-dot-apprtc.appspot.com/room/<NNN> with
your own room number. Launch AppRTC on the device and add same <NNN> into the room name list.

You can also run application from a command line to connect to the first room in a list:
adb shell am start -n org.appspot.apprtc/.ConnectActivity -a android.intent.action.VIEW
This should result in the app launching on Android and connecting to the 3-dot-apprtc
page displayed in the desktop browser.
To run loopback test execute following command:
adb shell am start -n org.appspot.apprtc/.ConnectActivity -a android.intent.action.VIEW --ez "org.appspot.apprtc.LOOPBACK" true