Index: webrtc/examples/androidapp/src/org/appspot/apprtc/ConnectActivity.java |
diff --git a/webrtc/examples/androidapp/src/org/appspot/apprtc/ConnectActivity.java b/webrtc/examples/androidapp/src/org/appspot/apprtc/ConnectActivity.java |
index 8d1668894d2a08c4ce3ea2ad14a4fc5d6111af48..94b7f7b5797ba131b6fd793aad745bdd8a569df1 100644 |
--- a/webrtc/examples/androidapp/src/org/appspot/apprtc/ConnectActivity.java |
+++ b/webrtc/examples/androidapp/src/org/appspot/apprtc/ConnectActivity.java |
@@ -80,6 +80,13 @@ public class ConnectActivity extends Activity { |
private String keyprefRoomList; |
private ArrayList<String> roomList; |
private ArrayAdapter<String> adapter; |
+ private String keyprefEnableDataChannel; |
+ private String keyprefOrdered; |
+ private String keyprefMaxRetransmitTimeMs; |
+ private String keyprefMaxRetransmits; |
+ private String keyprefDataProtocol; |
+ private String keyprefNegotiated; |
+ private String keyprefDataId; |
@Override |
public void onCreate(Bundle savedInstanceState) { |
@@ -114,6 +121,13 @@ public class ConnectActivity extends Activity { |
keyprefRoomServerUrl = getString(R.string.pref_room_server_url_key); |
keyprefRoom = getString(R.string.pref_room_key); |
keyprefRoomList = getString(R.string.pref_room_list_key); |
+ keyprefEnableDataChannel = getString(R.string.pref_enable_datachannel_key); |
+ keyprefOrdered = getString(R.string.pref_ordered_key); |
+ keyprefMaxRetransmitTimeMs = getString(R.string.pref_max_retransmit_time_ms_key); |
+ keyprefMaxRetransmits = getString(R.string.pref_max_retransmits_key); |
+ keyprefDataProtocol = getString(R.string.pref_data_protocol_key); |
+ keyprefNegotiated = getString(R.string.pref_negotiated_key); |
+ keyprefDataId = getString(R.string.pref_data_id_key); |
setContentView(R.layout.activity_connect); |
@@ -279,6 +293,28 @@ public class ConnectActivity extends Activity { |
} |
} |
+ /** |
+ * Get a value from the shared preference or from the intent, if it does not |
+ * exist the default is used. |
+ */ |
+ private int sharedPrefGetInteger( |
+ int attributeId, String intentName, int defaultId, boolean useFromIntent) { |
+ String defaultString = getString(defaultId); |
+ int defaultValue = Integer.parseInt(defaultString); |
+ if (useFromIntent) { |
+ return getIntent().getIntExtra(intentName, defaultValue); |
+ } else { |
+ String attributeName = getString(attributeId); |
+ String value = sharedPref.getString(attributeName, defaultString); |
+ try { |
+ return Integer.parseInt(value); |
+ } catch (NumberFormatException e) { |
+ Log.e(TAG, "Wrong setting for :" + attributeName + ":" + value); |
sakal
2016/11/16 11:58:20
nit: space after :, not before
|
+ return defaultValue; |
+ } |
+ } |
+ } |
+ |
private void connectToRoom(String roomId, boolean commandLineRun, boolean loopback, |
boolean useValuesFromIntent, int runTimeMs) { |
this.commandLineRun = commandLineRun; |
@@ -433,6 +469,25 @@ public class ConnectActivity extends Activity { |
boolean tracing = sharedPrefGetBoolean(R.string.pref_tracing_key, CallActivity.EXTRA_TRACING, |
R.string.pref_tracing_default, useValuesFromIntent); |
+ // Get datachannel options |
+ boolean dataChannelEnabled = sharedPrefGetBoolean(R.string.pref_enable_datachannel_key, |
+ CallActivity.EXTRA_DATA_CHANNEL_ENABLED, R.string.pref_enable_datachannel_default, |
+ useValuesFromIntent); |
+ boolean ordered = sharedPrefGetBoolean(R.string.pref_ordered_key, CallActivity.EXTRA_ORDERED, |
+ R.string.pref_ordered_default, useValuesFromIntent); |
+ boolean negotiated = sharedPrefGetBoolean(R.string.pref_negotiated_key, |
+ CallActivity.EXTRA_NEGOTIATED, R.string.pref_negotiated_default, useValuesFromIntent); |
+ int maxRetrMs = sharedPrefGetInteger(R.string.pref_max_retransmit_time_ms_key, |
+ CallActivity.EXTRA_MAX_RETRANSMITS_MS, R.string.pref_max_retransmit_time_ms_default, |
+ useValuesFromIntent); |
+ int maxRetr = |
+ sharedPrefGetInteger(R.string.pref_max_retransmits_key, CallActivity.EXTRA_MAX_RETRANSMITS, |
+ R.string.pref_max_retransmits_default, useValuesFromIntent); |
+ int id = sharedPrefGetInteger(R.string.pref_data_id_key, CallActivity.EXTRA_ID, |
+ R.string.pref_data_id_default, useValuesFromIntent); |
+ String protocol = sharedPrefGetString(R.string.pref_data_protocol_key, |
+ CallActivity.EXTRA_PROTOCOL, R.string.pref_data_protocol_default, useValuesFromIntent); |
+ |
// Start AppRTCMobile activity. |
Log.d(TAG, "Connecting to room " + roomId + " at URL " + roomUrl); |
if (validateUrl(roomUrl)) { |
@@ -466,6 +521,17 @@ public class ConnectActivity extends Activity { |
intent.putExtra(CallActivity.EXTRA_CMDLINE, commandLineRun); |
intent.putExtra(CallActivity.EXTRA_RUNTIME, runTimeMs); |
+ intent.putExtra(CallActivity.EXTRA_DATA_CHANNEL_ENABLED, dataChannelEnabled); |
+ |
+ if (dataChannelEnabled) { |
+ intent.putExtra(CallActivity.EXTRA_ORDERED, ordered); |
+ intent.putExtra(CallActivity.EXTRA_MAX_RETRANSMITS_MS, maxRetrMs); |
+ intent.putExtra(CallActivity.EXTRA_MAX_RETRANSMITS, maxRetr); |
+ intent.putExtra(CallActivity.EXTRA_PROTOCOL, protocol); |
+ intent.putExtra(CallActivity.EXTRA_NEGOTIATED, negotiated); |
+ intent.putExtra(CallActivity.EXTRA_ID, id); |
+ } |
+ |
if (useValuesFromIntent) { |
if (getIntent().hasExtra(CallActivity.EXTRA_VIDEO_FILE_AS_CAMERA)) { |
String videoFileAsCamera = |