diff --git a/talk/examples/android/res/values/arrays.xml b/talk/examples/android/res/values/arrays.xml
index 3127a85970..30159ba79e 100644
--- a/talk/examples/android/res/values/arrays.xml
+++ b/talk/examples/android/res/values/arrays.xml
@@ -6,6 +6,7 @@
- VGA (640 x 480)
- QVGA (320 x 240)
+
- Default
- 1280 x 720
@@ -18,5 +19,4 @@
- 30 fps
- 15 fps
-
diff --git a/talk/examples/android/res/values/strings.xml b/talk/examples/android/res/values/strings.xml
index 2a1d64ab36..774eee1c94 100644
--- a/talk/examples/android/res/values/strings.xml
+++ b/talk/examples/android/res/values/strings.xml
@@ -29,19 +29,23 @@
url_preference
Connection URL:
- AppRTC connection server URL.
Enter AppRTC connection server URL.
https://apprtc.appspot.com
resolution_preference
Video resolution.
- Video resolution.
Enter AppRTC local video resolution.
Default
fps_preference
Camera fps.
- Camera fps.
Enter local camera fps.
Default
+
+ cpu_usage_detection
+ CPU overuse detection.
+ Adapt transmission to CPU status.
+ true
+ Enabled
+ Disabled
diff --git a/talk/examples/android/res/xml/preferences.xml b/talk/examples/android/res/xml/preferences.xml
index f3f91d87c9..b8c08bbecf 100644
--- a/talk/examples/android/res/xml/preferences.xml
+++ b/talk/examples/android/res/xml/preferences.xml
@@ -3,14 +3,12 @@
-
\ No newline at end of file
+
+
+
diff --git a/talk/examples/android/src/org/appspot/apprtc/ConnectActivity.java b/talk/examples/android/src/org/appspot/apprtc/ConnectActivity.java
index 8f00c1c815..ce99bbf33e 100644
--- a/talk/examples/android/src/org/appspot/apprtc/ConnectActivity.java
+++ b/talk/examples/android/src/org/appspot/apprtc/ConnectActivity.java
@@ -73,6 +73,7 @@ public class ConnectActivity extends Activity {
private String keyprefUrl;
private String keyprefResolution;
private String keyprefFps;
+ private String keyprefCpuUsageDetection;
private String keyprefRoom;
private String keyprefRoomList;
private ArrayList roomList;
@@ -88,6 +89,7 @@ public class ConnectActivity extends Activity {
keyprefUrl = getString(R.string.pref_url_key);
keyprefResolution = getString(R.string.pref_resolution_key);
keyprefFps = getString(R.string.pref_fps_key);
+ keyprefCpuUsageDetection = getString(R.string.pref_cpu_usage_detection_key);
keyprefRoom = getString(R.string.pref_room_key);
keyprefRoomList = getString(R.string.pref_room_list_key);
@@ -252,6 +254,14 @@ public class ConnectActivity extends Activity {
url += "&hd=true";
}
}
+ // Test if CpuOveruseDetection should be disabled. By default is on.
+ boolean cpuOveruseDetection = sharedPref.getBoolean(
+ keyprefCpuUsageDetection,
+ Boolean.valueOf(
+ getString(R.string.pref_cpu_usage_detection_default)));
+ if (!cpuOveruseDetection) {
+ url += "&googCpuOveruseDetection=false";
+ }
// TODO(kjellander): Add support for custom parameters to the URL.
connectToRoom(url);
}
diff --git a/talk/examples/android/src/org/appspot/apprtc/SettingsActivity.java b/talk/examples/android/src/org/appspot/apprtc/SettingsActivity.java
index 2354ceb4aa..eccb67ed2d 100644
--- a/talk/examples/android/src/org/appspot/apprtc/SettingsActivity.java
+++ b/talk/examples/android/src/org/appspot/apprtc/SettingsActivity.java
@@ -39,6 +39,7 @@ public class SettingsActivity extends Activity
private String keyprefUrl;
private String keyprefResolution;
private String keyprefFps;
+ private String keyprefCpuUsageDetection;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -46,6 +47,7 @@ public class SettingsActivity extends Activity
keyprefUrl = getString(R.string.pref_url_key);
keyprefResolution = getString(R.string.pref_resolution_key);
keyprefFps = getString(R.string.pref_fps_key);
+ keyprefCpuUsageDetection = getString(R.string.pref_cpu_usage_detection_key);
// Display the fragment as the main content.
settingsFragment = new SettingsFragment();
@@ -64,6 +66,7 @@ public class SettingsActivity extends Activity
updateSummary(sharedPreferences, keyprefUrl);
updateSummary(sharedPreferences, keyprefResolution);
updateSummary(sharedPreferences, keyprefFps);
+ updateSummaryB(sharedPreferences, keyprefCpuUsageDetection);
}
@Override
@@ -80,6 +83,8 @@ public class SettingsActivity extends Activity
if (key.equals(keyprefUrl) || key.equals(keyprefResolution) ||
key.equals(keyprefFps)) {
updateSummary(sharedPreferences, key);
+ } else if (key.equals(keyprefCpuUsageDetection)) {
+ updateSummaryB(sharedPreferences, key);
}
}
@@ -89,4 +94,11 @@ public class SettingsActivity extends Activity
updatedPref.setSummary(sharedPreferences.getString(key, ""));
}
+ private void updateSummaryB(SharedPreferences sharedPreferences, String key) {
+ Preference updatedPref = settingsFragment.findPreference(key);
+ updatedPref.setSummary(sharedPreferences.getBoolean(key, true)
+ ? getString(R.string.pref_cpu_usage_detection_on)
+ : getString(R.string.pref_cpu_usage_detection_off));
+ }
+
}