Index: webrtc/examples/androidapp/src/org/appspot/apprtc/SettingsActivity.java |
diff --git a/webrtc/examples/androidapp/src/org/appspot/apprtc/SettingsActivity.java b/webrtc/examples/androidapp/src/org/appspot/apprtc/SettingsActivity.java |
index bb959ed67a4cb54d58ae272958ababdf0eb6bbea..d75d8d458c75816a7a4ee841ec0ac568bb9ce135 100644 |
--- a/webrtc/examples/androidapp/src/org/appspot/apprtc/SettingsActivity.java |
+++ b/webrtc/examples/androidapp/src/org/appspot/apprtc/SettingsActivity.java |
@@ -14,8 +14,10 @@ import android.app.Activity; |
import android.content.SharedPreferences; |
import android.content.SharedPreferences.OnSharedPreferenceChangeListener; |
import android.os.Bundle; |
+import android.preference.ListPreference; |
import android.preference.Preference; |
+import org.webrtc.Camera2Enumerator; |
import org.webrtc.voiceengine.WebRtcAudioUtils; |
/** |
@@ -25,6 +27,7 @@ public class SettingsActivity extends Activity |
implements OnSharedPreferenceChangeListener{ |
private SettingsFragment settingsFragment; |
private String keyprefVideoCall; |
+ private String keyprefCamera2; |
private String keyprefResolution; |
private String keyprefFps; |
private String keyprefCaptureQualitySlider; |
@@ -50,6 +53,7 @@ public class SettingsActivity extends Activity |
protected void onCreate(Bundle savedInstanceState) { |
super.onCreate(savedInstanceState); |
keyprefVideoCall = getString(R.string.pref_videocall_key); |
+ keyprefCamera2 = getString(R.string.pref_camera2_key); |
keyprefResolution = getString(R.string.pref_resolution_key); |
keyprefFps = getString(R.string.pref_fps_key); |
keyprefCaptureQualitySlider = getString(R.string.pref_capturequalityslider_key); |
@@ -86,6 +90,7 @@ public class SettingsActivity extends Activity |
settingsFragment.getPreferenceScreen().getSharedPreferences(); |
sharedPreferences.registerOnSharedPreferenceChangeListener(this); |
updateSummaryB(sharedPreferences, keyprefVideoCall); |
+ updateSummaryList(sharedPreferences, keyprefCamera2); |
updateSummary(sharedPreferences, keyprefResolution); |
updateSummary(sharedPreferences, keyprefFps); |
updateSummaryB(sharedPreferences, keyprefCaptureQualitySlider); |
@@ -109,6 +114,14 @@ public class SettingsActivity extends Activity |
updateSummaryB(sharedPreferences, keyPrefDisplayHud); |
updateSummaryB(sharedPreferences, keyPrefTracing); |
+ if (!Camera2Enumerator.isSupported()) { |
+ Preference camera2Preference = |
+ settingsFragment.findPreference(keyprefCamera2); |
+ |
+ camera2Preference.setSummary(getString(R.string.pref_camera2_not_supported)); |
+ camera2Preference.setEnabled(false); |
+ } |
+ |
// Disable forcing WebRTC based AEC so it won't affect our value. |
// Otherwise, if it was enabled, isAcousticEchoCancelerSupported would always return false. |
WebRtcAudioUtils.setWebRtcBasedAcousticEchoCanceler(false); |
@@ -155,6 +168,8 @@ public class SettingsActivity extends Activity |
|| key.equals(keyprefDisableBuiltInAEC) |
|| key.equals(keyPrefDisplayHud)) { |
updateSummaryB(sharedPreferences, key); |
+ } else if (key.equals(keyprefCamera2)) { |
+ updateSummaryList(sharedPreferences, key); |
} |
if (key.equals(keyprefStartVideoBitrateType)) { |
setVideoBitrateEnable(sharedPreferences); |
@@ -176,6 +191,13 @@ public class SettingsActivity extends Activity |
updatedPref.setSummary(sharedPreferences.getString(key, "") + " kbps"); |
} |
+ private void updateSummaryList( |
+ SharedPreferences sharedPreferences, String key) { |
+ ListPreference updatedPref = (ListPreference) settingsFragment.findPreference(key); |
+ // Set summary to be the user-description for the selected value |
+ updatedPref.setSummary(updatedPref.getEntry()); |
+ } |
+ |
private void updateSummaryB(SharedPreferences sharedPreferences, String key) { |
Preference updatedPref = settingsFragment.findPreference(key); |
updatedPref.setSummary(sharedPreferences.getBoolean(key, true) |