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 |
11 package org.appspot.apprtc; | 11 package org.appspot.apprtc; |
12 | 12 |
13 import android.app.Activity; | 13 import android.app.Activity; |
14 import android.content.SharedPreferences; | 14 import android.content.SharedPreferences; |
15 import android.content.SharedPreferences.OnSharedPreferenceChangeListener; | 15 import android.content.SharedPreferences.OnSharedPreferenceChangeListener; |
16 import android.os.Bundle; | 16 import android.os.Bundle; |
| 17 import android.preference.ListPreference; |
17 import android.preference.Preference; | 18 import android.preference.Preference; |
18 | 19 |
| 20 import org.webrtc.Camera2Enumerator; |
19 import org.webrtc.voiceengine.WebRtcAudioUtils; | 21 import org.webrtc.voiceengine.WebRtcAudioUtils; |
20 | 22 |
21 /** | 23 /** |
22 * Settings activity for AppRTC. | 24 * Settings activity for AppRTC. |
23 */ | 25 */ |
24 public class SettingsActivity extends Activity | 26 public class SettingsActivity extends Activity |
25 implements OnSharedPreferenceChangeListener{ | 27 implements OnSharedPreferenceChangeListener{ |
26 private SettingsFragment settingsFragment; | 28 private SettingsFragment settingsFragment; |
27 private String keyprefVideoCall; | 29 private String keyprefVideoCall; |
| 30 private String keyprefCamera2; |
28 private String keyprefResolution; | 31 private String keyprefResolution; |
29 private String keyprefFps; | 32 private String keyprefFps; |
30 private String keyprefCaptureQualitySlider; | 33 private String keyprefCaptureQualitySlider; |
31 private String keyprefStartVideoBitrateType; | 34 private String keyprefStartVideoBitrateType; |
32 private String keyprefStartVideoBitrateValue; | 35 private String keyprefStartVideoBitrateValue; |
33 private String keyPrefVideoCodec; | 36 private String keyPrefVideoCodec; |
34 private String keyprefHwCodec; | 37 private String keyprefHwCodec; |
35 private String keyprefCaptureToTexture; | 38 private String keyprefCaptureToTexture; |
36 | 39 |
37 private String keyprefStartAudioBitrateType; | 40 private String keyprefStartAudioBitrateType; |
38 private String keyprefStartAudioBitrateValue; | 41 private String keyprefStartAudioBitrateValue; |
39 private String keyPrefAudioCodec; | 42 private String keyPrefAudioCodec; |
40 private String keyprefNoAudioProcessing; | 43 private String keyprefNoAudioProcessing; |
41 private String keyprefAecDump; | 44 private String keyprefAecDump; |
42 private String keyprefOpenSLES; | 45 private String keyprefOpenSLES; |
43 private String keyprefDisableBuiltInAEC; | 46 private String keyprefDisableBuiltInAEC; |
44 | 47 |
45 private String keyPrefRoomServerUrl; | 48 private String keyPrefRoomServerUrl; |
46 private String keyPrefDisplayHud; | 49 private String keyPrefDisplayHud; |
47 private String keyPrefTracing; | 50 private String keyPrefTracing; |
48 | 51 |
49 @Override | 52 @Override |
50 protected void onCreate(Bundle savedInstanceState) { | 53 protected void onCreate(Bundle savedInstanceState) { |
51 super.onCreate(savedInstanceState); | 54 super.onCreate(savedInstanceState); |
52 keyprefVideoCall = getString(R.string.pref_videocall_key); | 55 keyprefVideoCall = getString(R.string.pref_videocall_key); |
| 56 keyprefCamera2 = getString(R.string.pref_camera2_key); |
53 keyprefResolution = getString(R.string.pref_resolution_key); | 57 keyprefResolution = getString(R.string.pref_resolution_key); |
54 keyprefFps = getString(R.string.pref_fps_key); | 58 keyprefFps = getString(R.string.pref_fps_key); |
55 keyprefCaptureQualitySlider = getString(R.string.pref_capturequalityslider_k
ey); | 59 keyprefCaptureQualitySlider = getString(R.string.pref_capturequalityslider_k
ey); |
56 keyprefStartVideoBitrateType = getString(R.string.pref_startvideobitrate_key
); | 60 keyprefStartVideoBitrateType = getString(R.string.pref_startvideobitrate_key
); |
57 keyprefStartVideoBitrateValue = getString(R.string.pref_startvideobitrateval
ue_key); | 61 keyprefStartVideoBitrateValue = getString(R.string.pref_startvideobitrateval
ue_key); |
58 keyPrefVideoCodec = getString(R.string.pref_videocodec_key); | 62 keyPrefVideoCodec = getString(R.string.pref_videocodec_key); |
59 keyprefHwCodec = getString(R.string.pref_hwcodec_key); | 63 keyprefHwCodec = getString(R.string.pref_hwcodec_key); |
60 keyprefCaptureToTexture = getString(R.string.pref_capturetotexture_key); | 64 keyprefCaptureToTexture = getString(R.string.pref_capturetotexture_key); |
61 | 65 |
62 keyprefStartAudioBitrateType = getString(R.string.pref_startaudiobitrate_key
); | 66 keyprefStartAudioBitrateType = getString(R.string.pref_startaudiobitrate_key
); |
(...skipping 16 matching lines...) Expand all Loading... |
79 } | 83 } |
80 | 84 |
81 @Override | 85 @Override |
82 protected void onResume() { | 86 protected void onResume() { |
83 super.onResume(); | 87 super.onResume(); |
84 // Set summary to be the user-description for the selected value | 88 // Set summary to be the user-description for the selected value |
85 SharedPreferences sharedPreferences = | 89 SharedPreferences sharedPreferences = |
86 settingsFragment.getPreferenceScreen().getSharedPreferences(); | 90 settingsFragment.getPreferenceScreen().getSharedPreferences(); |
87 sharedPreferences.registerOnSharedPreferenceChangeListener(this); | 91 sharedPreferences.registerOnSharedPreferenceChangeListener(this); |
88 updateSummaryB(sharedPreferences, keyprefVideoCall); | 92 updateSummaryB(sharedPreferences, keyprefVideoCall); |
| 93 updateSummaryList(sharedPreferences, keyprefCamera2); |
89 updateSummary(sharedPreferences, keyprefResolution); | 94 updateSummary(sharedPreferences, keyprefResolution); |
90 updateSummary(sharedPreferences, keyprefFps); | 95 updateSummary(sharedPreferences, keyprefFps); |
91 updateSummaryB(sharedPreferences, keyprefCaptureQualitySlider); | 96 updateSummaryB(sharedPreferences, keyprefCaptureQualitySlider); |
92 updateSummary(sharedPreferences, keyprefStartVideoBitrateType); | 97 updateSummary(sharedPreferences, keyprefStartVideoBitrateType); |
93 updateSummaryBitrate(sharedPreferences, keyprefStartVideoBitrateValue); | 98 updateSummaryBitrate(sharedPreferences, keyprefStartVideoBitrateValue); |
94 setVideoBitrateEnable(sharedPreferences); | 99 setVideoBitrateEnable(sharedPreferences); |
95 updateSummary(sharedPreferences, keyPrefVideoCodec); | 100 updateSummary(sharedPreferences, keyPrefVideoCodec); |
96 updateSummaryB(sharedPreferences, keyprefHwCodec); | 101 updateSummaryB(sharedPreferences, keyprefHwCodec); |
97 updateSummaryB(sharedPreferences, keyprefCaptureToTexture); | 102 updateSummaryB(sharedPreferences, keyprefCaptureToTexture); |
98 | 103 |
99 updateSummary(sharedPreferences, keyprefStartAudioBitrateType); | 104 updateSummary(sharedPreferences, keyprefStartAudioBitrateType); |
100 updateSummaryBitrate(sharedPreferences, keyprefStartAudioBitrateValue); | 105 updateSummaryBitrate(sharedPreferences, keyprefStartAudioBitrateValue); |
101 setAudioBitrateEnable(sharedPreferences); | 106 setAudioBitrateEnable(sharedPreferences); |
102 updateSummary(sharedPreferences, keyPrefAudioCodec); | 107 updateSummary(sharedPreferences, keyPrefAudioCodec); |
103 updateSummaryB(sharedPreferences, keyprefNoAudioProcessing); | 108 updateSummaryB(sharedPreferences, keyprefNoAudioProcessing); |
104 updateSummaryB(sharedPreferences, keyprefAecDump); | 109 updateSummaryB(sharedPreferences, keyprefAecDump); |
105 updateSummaryB(sharedPreferences, keyprefOpenSLES); | 110 updateSummaryB(sharedPreferences, keyprefOpenSLES); |
106 updateSummaryB(sharedPreferences, keyprefDisableBuiltInAEC); | 111 updateSummaryB(sharedPreferences, keyprefDisableBuiltInAEC); |
107 | 112 |
108 updateSummary(sharedPreferences, keyPrefRoomServerUrl); | 113 updateSummary(sharedPreferences, keyPrefRoomServerUrl); |
109 updateSummaryB(sharedPreferences, keyPrefDisplayHud); | 114 updateSummaryB(sharedPreferences, keyPrefDisplayHud); |
110 updateSummaryB(sharedPreferences, keyPrefTracing); | 115 updateSummaryB(sharedPreferences, keyPrefTracing); |
111 | 116 |
| 117 if (!Camera2Enumerator.isSupported()) { |
| 118 Preference camera2Preference = |
| 119 settingsFragment.findPreference(keyprefCamera2); |
| 120 |
| 121 camera2Preference.setSummary(getString(R.string.pref_camera2_not_supported
)); |
| 122 camera2Preference.setEnabled(false); |
| 123 } |
| 124 |
112 // Disable forcing WebRTC based AEC so it won't affect our value. | 125 // Disable forcing WebRTC based AEC so it won't affect our value. |
113 // Otherwise, if it was enabled, isAcousticEchoCancelerSupported would alway
s return false. | 126 // Otherwise, if it was enabled, isAcousticEchoCancelerSupported would alway
s return false. |
114 WebRtcAudioUtils.setWebRtcBasedAcousticEchoCanceler(false); | 127 WebRtcAudioUtils.setWebRtcBasedAcousticEchoCanceler(false); |
115 if (!WebRtcAudioUtils.isAcousticEchoCancelerSupported()) { | 128 if (!WebRtcAudioUtils.isAcousticEchoCancelerSupported()) { |
116 Preference disableBuiltInAECPreference = | 129 Preference disableBuiltInAECPreference = |
117 settingsFragment.findPreference(keyprefDisableBuiltInAEC); | 130 settingsFragment.findPreference(keyprefDisableBuiltInAEC); |
118 | 131 |
119 | 132 |
120 disableBuiltInAECPreference.setSummary(getString(R.string.pref_built_in_ae
c_not_available)); | 133 disableBuiltInAECPreference.setSummary(getString(R.string.pref_built_in_ae
c_not_available)); |
121 disableBuiltInAECPreference.setEnabled(false); | 134 disableBuiltInAECPreference.setEnabled(false); |
(...skipping 26 matching lines...) Expand all Loading... |
148 || key.equals(keyPrefTracing) | 161 || key.equals(keyPrefTracing) |
149 || key.equals(keyprefCaptureQualitySlider) | 162 || key.equals(keyprefCaptureQualitySlider) |
150 || key.equals(keyprefHwCodec) | 163 || key.equals(keyprefHwCodec) |
151 || key.equals(keyprefCaptureToTexture) | 164 || key.equals(keyprefCaptureToTexture) |
152 || key.equals(keyprefNoAudioProcessing) | 165 || key.equals(keyprefNoAudioProcessing) |
153 || key.equals(keyprefAecDump) | 166 || key.equals(keyprefAecDump) |
154 || key.equals(keyprefOpenSLES) | 167 || key.equals(keyprefOpenSLES) |
155 || key.equals(keyprefDisableBuiltInAEC) | 168 || key.equals(keyprefDisableBuiltInAEC) |
156 || key.equals(keyPrefDisplayHud)) { | 169 || key.equals(keyPrefDisplayHud)) { |
157 updateSummaryB(sharedPreferences, key); | 170 updateSummaryB(sharedPreferences, key); |
| 171 } else if (key.equals(keyprefCamera2)) { |
| 172 updateSummaryList(sharedPreferences, key); |
158 } | 173 } |
159 if (key.equals(keyprefStartVideoBitrateType)) { | 174 if (key.equals(keyprefStartVideoBitrateType)) { |
160 setVideoBitrateEnable(sharedPreferences); | 175 setVideoBitrateEnable(sharedPreferences); |
161 } | 176 } |
162 if (key.equals(keyprefStartAudioBitrateType)) { | 177 if (key.equals(keyprefStartAudioBitrateType)) { |
163 setAudioBitrateEnable(sharedPreferences); | 178 setAudioBitrateEnable(sharedPreferences); |
164 } | 179 } |
165 } | 180 } |
166 | 181 |
167 private void updateSummary(SharedPreferences sharedPreferences, String key) { | 182 private void updateSummary(SharedPreferences sharedPreferences, String key) { |
168 Preference updatedPref = settingsFragment.findPreference(key); | 183 Preference updatedPref = settingsFragment.findPreference(key); |
169 // Set summary to be the user-description for the selected value | 184 // Set summary to be the user-description for the selected value |
170 updatedPref.setSummary(sharedPreferences.getString(key, "")); | 185 updatedPref.setSummary(sharedPreferences.getString(key, "")); |
171 } | 186 } |
172 | 187 |
173 private void updateSummaryBitrate( | 188 private void updateSummaryBitrate( |
174 SharedPreferences sharedPreferences, String key) { | 189 SharedPreferences sharedPreferences, String key) { |
175 Preference updatedPref = settingsFragment.findPreference(key); | 190 Preference updatedPref = settingsFragment.findPreference(key); |
176 updatedPref.setSummary(sharedPreferences.getString(key, "") + " kbps"); | 191 updatedPref.setSummary(sharedPreferences.getString(key, "") + " kbps"); |
177 } | 192 } |
178 | 193 |
| 194 private void updateSummaryList( |
| 195 SharedPreferences sharedPreferences, String key) { |
| 196 ListPreference updatedPref = (ListPreference) settingsFragment.findPreferenc
e(key); |
| 197 // Set summary to be the user-description for the selected value |
| 198 updatedPref.setSummary(updatedPref.getEntry()); |
| 199 } |
| 200 |
179 private void updateSummaryB(SharedPreferences sharedPreferences, String key) { | 201 private void updateSummaryB(SharedPreferences sharedPreferences, String key) { |
180 Preference updatedPref = settingsFragment.findPreference(key); | 202 Preference updatedPref = settingsFragment.findPreference(key); |
181 updatedPref.setSummary(sharedPreferences.getBoolean(key, true) | 203 updatedPref.setSummary(sharedPreferences.getBoolean(key, true) |
182 ? getString(R.string.pref_value_enabled) | 204 ? getString(R.string.pref_value_enabled) |
183 : getString(R.string.pref_value_disabled)); | 205 : getString(R.string.pref_value_disabled)); |
184 } | 206 } |
185 | 207 |
186 private void setVideoBitrateEnable(SharedPreferences sharedPreferences) { | 208 private void setVideoBitrateEnable(SharedPreferences sharedPreferences) { |
187 Preference bitratePreferenceValue = | 209 Preference bitratePreferenceValue = |
188 settingsFragment.findPreference(keyprefStartVideoBitrateValue); | 210 settingsFragment.findPreference(keyprefStartVideoBitrateValue); |
(...skipping 13 matching lines...) Expand all Loading... |
202 String bitrateTypeDefault = getString(R.string.pref_startaudiobitrate_defaul
t); | 224 String bitrateTypeDefault = getString(R.string.pref_startaudiobitrate_defaul
t); |
203 String bitrateType = sharedPreferences.getString( | 225 String bitrateType = sharedPreferences.getString( |
204 keyprefStartAudioBitrateType, bitrateTypeDefault); | 226 keyprefStartAudioBitrateType, bitrateTypeDefault); |
205 if (bitrateType.equals(bitrateTypeDefault)) { | 227 if (bitrateType.equals(bitrateTypeDefault)) { |
206 bitratePreferenceValue.setEnabled(false); | 228 bitratePreferenceValue.setEnabled(false); |
207 } else { | 229 } else { |
208 bitratePreferenceValue.setEnabled(true); | 230 bitratePreferenceValue.setEnabled(true); |
209 } | 231 } |
210 } | 232 } |
211 } | 233 } |
OLD | NEW |