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.ListPreference; |
18 import android.preference.Preference; | 18 import android.preference.Preference; |
19 | 19 |
20 import org.webrtc.Camera2Enumerator; | 20 import org.webrtc.Camera2Enumerator; |
21 import org.webrtc.voiceengine.WebRtcAudioUtils; | 21 import org.webrtc.voiceengine.WebRtcAudioUtils; |
22 | 22 |
23 /** | 23 /** |
24 * Settings activity for AppRTC. | 24 * Settings activity for AppRTC. |
25 */ | 25 */ |
26 public class SettingsActivity extends Activity | 26 public class SettingsActivity extends Activity implements OnSharedPreferenceChan
geListener { |
27 implements OnSharedPreferenceChangeListener{ | |
28 private SettingsFragment settingsFragment; | 27 private SettingsFragment settingsFragment; |
29 private String keyprefVideoCall; | 28 private String keyprefVideoCall; |
30 private String keyprefCamera2; | 29 private String keyprefCamera2; |
31 private String keyprefResolution; | 30 private String keyprefResolution; |
32 private String keyprefFps; | 31 private String keyprefFps; |
33 private String keyprefCaptureQualitySlider; | 32 private String keyprefCaptureQualitySlider; |
34 private String keyprefMaxVideoBitrateType; | 33 private String keyprefMaxVideoBitrateType; |
35 private String keyprefMaxVideoBitrateValue; | 34 private String keyprefMaxVideoBitrateValue; |
36 private String keyPrefVideoCodec; | 35 private String keyPrefVideoCodec; |
37 private String keyprefHwCodec; | 36 private String keyprefHwCodec; |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 keyprefDisableBuiltInNS = getString(R.string.pref_disable_built_in_ns_key); | 77 keyprefDisableBuiltInNS = getString(R.string.pref_disable_built_in_ns_key); |
79 keyprefEnableLevelControl = getString(R.string.pref_enable_level_control_key
); | 78 keyprefEnableLevelControl = getString(R.string.pref_enable_level_control_key
); |
80 keyprefSpeakerphone = getString(R.string.pref_speakerphone_key); | 79 keyprefSpeakerphone = getString(R.string.pref_speakerphone_key); |
81 | 80 |
82 keyPrefRoomServerUrl = getString(R.string.pref_room_server_url_key); | 81 keyPrefRoomServerUrl = getString(R.string.pref_room_server_url_key); |
83 keyPrefDisplayHud = getString(R.string.pref_displayhud_key); | 82 keyPrefDisplayHud = getString(R.string.pref_displayhud_key); |
84 keyPrefTracing = getString(R.string.pref_tracing_key); | 83 keyPrefTracing = getString(R.string.pref_tracing_key); |
85 | 84 |
86 // Display the fragment as the main content. | 85 // Display the fragment as the main content. |
87 settingsFragment = new SettingsFragment(); | 86 settingsFragment = new SettingsFragment(); |
88 getFragmentManager().beginTransaction() | 87 getFragmentManager() |
| 88 .beginTransaction() |
89 .replace(android.R.id.content, settingsFragment) | 89 .replace(android.R.id.content, settingsFragment) |
90 .commit(); | 90 .commit(); |
91 } | 91 } |
92 | 92 |
93 @Override | 93 @Override |
94 protected void onResume() { | 94 protected void onResume() { |
95 super.onResume(); | 95 super.onResume(); |
96 // Set summary to be the user-description for the selected value | 96 // Set summary to be the user-description for the selected value |
97 SharedPreferences sharedPreferences = | 97 SharedPreferences sharedPreferences = |
98 settingsFragment.getPreferenceScreen().getSharedPreferences(); | 98 settingsFragment.getPreferenceScreen().getSharedPreferences(); |
(...skipping 21 matching lines...) Expand all Loading... |
120 updateSummaryB(sharedPreferences, keyprefDisableBuiltInAGC); | 120 updateSummaryB(sharedPreferences, keyprefDisableBuiltInAGC); |
121 updateSummaryB(sharedPreferences, keyprefDisableBuiltInNS); | 121 updateSummaryB(sharedPreferences, keyprefDisableBuiltInNS); |
122 updateSummaryB(sharedPreferences, keyprefEnableLevelControl); | 122 updateSummaryB(sharedPreferences, keyprefEnableLevelControl); |
123 updateSummaryList(sharedPreferences, keyprefSpeakerphone); | 123 updateSummaryList(sharedPreferences, keyprefSpeakerphone); |
124 | 124 |
125 updateSummary(sharedPreferences, keyPrefRoomServerUrl); | 125 updateSummary(sharedPreferences, keyPrefRoomServerUrl); |
126 updateSummaryB(sharedPreferences, keyPrefDisplayHud); | 126 updateSummaryB(sharedPreferences, keyPrefDisplayHud); |
127 updateSummaryB(sharedPreferences, keyPrefTracing); | 127 updateSummaryB(sharedPreferences, keyPrefTracing); |
128 | 128 |
129 if (!Camera2Enumerator.isSupported(this)) { | 129 if (!Camera2Enumerator.isSupported(this)) { |
130 Preference camera2Preference = | 130 Preference camera2Preference = settingsFragment.findPreference(keyprefCame
ra2); |
131 settingsFragment.findPreference(keyprefCamera2); | |
132 | 131 |
133 camera2Preference.setSummary(getString(R.string.pref_camera2_not_supported
)); | 132 camera2Preference.setSummary(getString(R.string.pref_camera2_not_supported
)); |
134 camera2Preference.setEnabled(false); | 133 camera2Preference.setEnabled(false); |
135 } | 134 } |
136 | 135 |
137 // Disable forcing WebRTC based AEC so it won't affect our value. | 136 // Disable forcing WebRTC based AEC so it won't affect our value. |
138 // Otherwise, if it was enabled, isAcousticEchoCancelerSupported would alway
s return false. | 137 // Otherwise, if it was enabled, isAcousticEchoCancelerSupported would alway
s return false. |
139 WebRtcAudioUtils.setWebRtcBasedAcousticEchoCanceler(false); | 138 WebRtcAudioUtils.setWebRtcBasedAcousticEchoCanceler(false); |
140 if (!WebRtcAudioUtils.isAcousticEchoCancelerSupported()) { | 139 if (!WebRtcAudioUtils.isAcousticEchoCancelerSupported()) { |
141 Preference disableBuiltInAECPreference = | 140 Preference disableBuiltInAECPreference = |
(...skipping 24 matching lines...) Expand all Loading... |
166 | 165 |
167 @Override | 166 @Override |
168 protected void onPause() { | 167 protected void onPause() { |
169 super.onPause(); | 168 super.onPause(); |
170 SharedPreferences sharedPreferences = | 169 SharedPreferences sharedPreferences = |
171 settingsFragment.getPreferenceScreen().getSharedPreferences(); | 170 settingsFragment.getPreferenceScreen().getSharedPreferences(); |
172 sharedPreferences.unregisterOnSharedPreferenceChangeListener(this); | 171 sharedPreferences.unregisterOnSharedPreferenceChangeListener(this); |
173 } | 172 } |
174 | 173 |
175 @Override | 174 @Override |
176 public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, | 175 public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, Str
ing key) { |
177 String key) { | 176 // clang-format off |
178 if (key.equals(keyprefResolution) | 177 if (key.equals(keyprefResolution) |
179 || key.equals(keyprefFps) | 178 || key.equals(keyprefFps) |
180 || key.equals(keyprefMaxVideoBitrateType) | 179 || key.equals(keyprefMaxVideoBitrateType) |
181 || key.equals(keyPrefVideoCodec) | 180 || key.equals(keyPrefVideoCodec) |
182 || key.equals(keyprefStartAudioBitrateType) | 181 || key.equals(keyprefStartAudioBitrateType) |
183 || key.equals(keyPrefAudioCodec) | 182 || key.equals(keyPrefAudioCodec) |
184 || key.equals(keyPrefRoomServerUrl)) { | 183 || key.equals(keyPrefRoomServerUrl)) { |
185 updateSummary(sharedPreferences, key); | 184 updateSummary(sharedPreferences, key); |
186 } else if (key.equals(keyprefMaxVideoBitrateValue) | 185 } else if (key.equals(keyprefMaxVideoBitrateValue) |
187 || key.equals(keyprefStartAudioBitrateValue)) { | 186 || key.equals(keyprefStartAudioBitrateValue)) { |
188 updateSummaryBitrate(sharedPreferences, key); | 187 updateSummaryBitrate(sharedPreferences, key); |
189 } else if (key.equals(keyprefVideoCall) | 188 } else if (key.equals(keyprefVideoCall) |
190 || key.equals(keyprefCamera2) | 189 || key.equals(keyprefCamera2) |
191 || key.equals(keyPrefTracing) | 190 || key.equals(keyPrefTracing) |
192 || key.equals(keyprefCaptureQualitySlider) | 191 || key.equals(keyprefCaptureQualitySlider) |
193 || key.equals(keyprefHwCodec) | 192 || key.equals(keyprefHwCodec) |
194 || key.equals(keyprefCaptureToTexture) | 193 || key.equals(keyprefCaptureToTexture) |
195 || key.equals(keyprefNoAudioProcessing) | 194 || key.equals(keyprefNoAudioProcessing) |
196 || key.equals(keyprefAecDump) | 195 || key.equals(keyprefAecDump) |
197 || key.equals(keyprefOpenSLES) | 196 || key.equals(keyprefOpenSLES) |
198 || key.equals(keyprefDisableBuiltInAEC) | 197 || key.equals(keyprefDisableBuiltInAEC) |
199 || key.equals(keyprefDisableBuiltInAGC) | 198 || key.equals(keyprefDisableBuiltInAGC) |
200 || key.equals(keyprefDisableBuiltInNS) | 199 || key.equals(keyprefDisableBuiltInNS) |
201 || key.equals(keyprefEnableLevelControl) | 200 || key.equals(keyprefEnableLevelControl) |
202 || key.equals(keyPrefDisplayHud)) { | 201 || key.equals(keyPrefDisplayHud)) { |
203 updateSummaryB(sharedPreferences, key); | 202 updateSummaryB(sharedPreferences, key); |
204 } else if (key.equals(keyprefSpeakerphone)) { | 203 } else if (key.equals(keyprefSpeakerphone)) { |
205 updateSummaryList(sharedPreferences, key); | 204 updateSummaryList(sharedPreferences, key); |
206 } | 205 } |
| 206 // clang-format on |
207 if (key.equals(keyprefMaxVideoBitrateType)) { | 207 if (key.equals(keyprefMaxVideoBitrateType)) { |
208 setVideoBitrateEnable(sharedPreferences); | 208 setVideoBitrateEnable(sharedPreferences); |
209 } | 209 } |
210 if (key.equals(keyprefStartAudioBitrateType)) { | 210 if (key.equals(keyprefStartAudioBitrateType)) { |
211 setAudioBitrateEnable(sharedPreferences); | 211 setAudioBitrateEnable(sharedPreferences); |
212 } | 212 } |
213 } | 213 } |
214 | 214 |
215 private void updateSummary(SharedPreferences sharedPreferences, String key) { | 215 private void updateSummary(SharedPreferences sharedPreferences, String key) { |
216 Preference updatedPref = settingsFragment.findPreference(key); | 216 Preference updatedPref = settingsFragment.findPreference(key); |
217 // Set summary to be the user-description for the selected value | 217 // Set summary to be the user-description for the selected value |
218 updatedPref.setSummary(sharedPreferences.getString(key, "")); | 218 updatedPref.setSummary(sharedPreferences.getString(key, "")); |
219 } | 219 } |
220 | 220 |
221 private void updateSummaryBitrate( | 221 private void updateSummaryBitrate(SharedPreferences sharedPreferences, String
key) { |
222 SharedPreferences sharedPreferences, String key) { | |
223 Preference updatedPref = settingsFragment.findPreference(key); | 222 Preference updatedPref = settingsFragment.findPreference(key); |
224 updatedPref.setSummary(sharedPreferences.getString(key, "") + " kbps"); | 223 updatedPref.setSummary(sharedPreferences.getString(key, "") + " kbps"); |
225 } | 224 } |
226 | 225 |
227 private void updateSummaryB(SharedPreferences sharedPreferences, String key) { | 226 private void updateSummaryB(SharedPreferences sharedPreferences, String key) { |
228 Preference updatedPref = settingsFragment.findPreference(key); | 227 Preference updatedPref = settingsFragment.findPreference(key); |
229 updatedPref.setSummary(sharedPreferences.getBoolean(key, true) | 228 updatedPref.setSummary(sharedPreferences.getBoolean(key, true) |
230 ? getString(R.string.pref_value_enabled) | 229 ? getString(R.string.pref_value_enabled) |
231 : getString(R.string.pref_value_disabled)); | 230 : getString(R.string.pref_value_disabled)); |
232 } | 231 } |
233 | 232 |
234 private void updateSummaryList(SharedPreferences sharedPreferences, String key
) { | 233 private void updateSummaryList(SharedPreferences sharedPreferences, String key
) { |
235 ListPreference updatedPref = (ListPreference) settingsFragment.findPreferenc
e(key); | 234 ListPreference updatedPref = (ListPreference) settingsFragment.findPreferenc
e(key); |
236 updatedPref.setSummary(updatedPref.getEntry()); | 235 updatedPref.setSummary(updatedPref.getEntry()); |
237 } | 236 } |
238 | 237 |
239 private void setVideoBitrateEnable(SharedPreferences sharedPreferences) { | 238 private void setVideoBitrateEnable(SharedPreferences sharedPreferences) { |
240 Preference bitratePreferenceValue = | 239 Preference bitratePreferenceValue = |
241 settingsFragment.findPreference(keyprefMaxVideoBitrateValue); | 240 settingsFragment.findPreference(keyprefMaxVideoBitrateValue); |
242 String bitrateTypeDefault = getString(R.string.pref_maxvideobitrate_default)
; | 241 String bitrateTypeDefault = getString(R.string.pref_maxvideobitrate_default)
; |
243 String bitrateType = sharedPreferences.getString( | 242 String bitrateType = |
244 keyprefMaxVideoBitrateType, bitrateTypeDefault); | 243 sharedPreferences.getString(keyprefMaxVideoBitrateType, bitrateTypeDefau
lt); |
245 if (bitrateType.equals(bitrateTypeDefault)) { | 244 if (bitrateType.equals(bitrateTypeDefault)) { |
246 bitratePreferenceValue.setEnabled(false); | 245 bitratePreferenceValue.setEnabled(false); |
247 } else { | 246 } else { |
248 bitratePreferenceValue.setEnabled(true); | 247 bitratePreferenceValue.setEnabled(true); |
249 } | 248 } |
250 } | 249 } |
251 | 250 |
252 private void setAudioBitrateEnable(SharedPreferences sharedPreferences) { | 251 private void setAudioBitrateEnable(SharedPreferences sharedPreferences) { |
253 Preference bitratePreferenceValue = | 252 Preference bitratePreferenceValue = |
254 settingsFragment.findPreference(keyprefStartAudioBitrateValue); | 253 settingsFragment.findPreference(keyprefStartAudioBitrateValue); |
255 String bitrateTypeDefault = getString(R.string.pref_startaudiobitrate_defaul
t); | 254 String bitrateTypeDefault = getString(R.string.pref_startaudiobitrate_defaul
t); |
256 String bitrateType = sharedPreferences.getString( | 255 String bitrateType = |
257 keyprefStartAudioBitrateType, bitrateTypeDefault); | 256 sharedPreferences.getString(keyprefStartAudioBitrateType, bitrateTypeDef
ault); |
258 if (bitrateType.equals(bitrateTypeDefault)) { | 257 if (bitrateType.equals(bitrateTypeDefault)) { |
259 bitratePreferenceValue.setEnabled(false); | 258 bitratePreferenceValue.setEnabled(false); |
260 } else { | 259 } else { |
261 bitratePreferenceValue.setEnabled(true); | 260 bitratePreferenceValue.setEnabled(true); |
262 } | 261 } |
263 } | 262 } |
264 } | 263 } |
OLD | NEW |