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.Preference; | 17 import android.preference.Preference; |
18 | 18 |
19 import org.webrtc.voiceengine.WebRtcAudioUtils; | |
20 | |
19 /** | 21 /** |
20 * Settings activity for AppRTC. | 22 * Settings activity for AppRTC. |
21 */ | 23 */ |
22 public class SettingsActivity extends Activity | 24 public class SettingsActivity extends Activity |
23 implements OnSharedPreferenceChangeListener{ | 25 implements OnSharedPreferenceChangeListener{ |
24 private SettingsFragment settingsFragment; | 26 private SettingsFragment settingsFragment; |
25 private String keyprefVideoCall; | 27 private String keyprefVideoCall; |
26 private String keyprefResolution; | 28 private String keyprefResolution; |
27 private String keyprefFps; | 29 private String keyprefFps; |
28 private String keyprefCaptureQualitySlider; | 30 private String keyprefCaptureQualitySlider; |
29 private String keyprefStartVideoBitrateType; | 31 private String keyprefStartVideoBitrateType; |
30 private String keyprefStartVideoBitrateValue; | 32 private String keyprefStartVideoBitrateValue; |
31 private String keyPrefVideoCodec; | 33 private String keyPrefVideoCodec; |
32 private String keyprefHwCodec; | 34 private String keyprefHwCodec; |
33 private String keyprefCaptureToTexture; | 35 private String keyprefCaptureToTexture; |
34 | 36 |
35 private String keyprefStartAudioBitrateType; | 37 private String keyprefStartAudioBitrateType; |
36 private String keyprefStartAudioBitrateValue; | 38 private String keyprefStartAudioBitrateValue; |
37 private String keyPrefAudioCodec; | 39 private String keyPrefAudioCodec; |
38 private String keyprefNoAudioProcessing; | 40 private String keyprefNoAudioProcessing; |
39 private String keyprefAecDump; | 41 private String keyprefAecDump; |
40 private String keyprefOpenSLES; | 42 private String keyprefOpenSLES; |
43 private String keyprefDisableBuiltInAEC; | |
41 | 44 |
42 private String keyPrefRoomServerUrl; | 45 private String keyPrefRoomServerUrl; |
43 private String keyPrefDisplayHud; | 46 private String keyPrefDisplayHud; |
44 private String keyPrefTracing; | 47 private String keyPrefTracing; |
45 | 48 |
46 @Override | 49 @Override |
47 protected void onCreate(Bundle savedInstanceState) { | 50 protected void onCreate(Bundle savedInstanceState) { |
48 super.onCreate(savedInstanceState); | 51 super.onCreate(savedInstanceState); |
49 keyprefVideoCall = getString(R.string.pref_videocall_key); | 52 keyprefVideoCall = getString(R.string.pref_videocall_key); |
50 keyprefResolution = getString(R.string.pref_resolution_key); | 53 keyprefResolution = getString(R.string.pref_resolution_key); |
51 keyprefFps = getString(R.string.pref_fps_key); | 54 keyprefFps = getString(R.string.pref_fps_key); |
52 keyprefCaptureQualitySlider = getString(R.string.pref_capturequalityslider_k ey); | 55 keyprefCaptureQualitySlider = getString(R.string.pref_capturequalityslider_k ey); |
53 keyprefStartVideoBitrateType = getString(R.string.pref_startvideobitrate_key ); | 56 keyprefStartVideoBitrateType = getString(R.string.pref_startvideobitrate_key ); |
54 keyprefStartVideoBitrateValue = getString(R.string.pref_startvideobitrateval ue_key); | 57 keyprefStartVideoBitrateValue = getString(R.string.pref_startvideobitrateval ue_key); |
55 keyPrefVideoCodec = getString(R.string.pref_videocodec_key); | 58 keyPrefVideoCodec = getString(R.string.pref_videocodec_key); |
56 keyprefHwCodec = getString(R.string.pref_hwcodec_key); | 59 keyprefHwCodec = getString(R.string.pref_hwcodec_key); |
57 keyprefCaptureToTexture = getString(R.string.pref_capturetotexture_key); | 60 keyprefCaptureToTexture = getString(R.string.pref_capturetotexture_key); |
58 | 61 |
59 keyprefStartAudioBitrateType = getString(R.string.pref_startaudiobitrate_key ); | 62 keyprefStartAudioBitrateType = getString(R.string.pref_startaudiobitrate_key ); |
60 keyprefStartAudioBitrateValue = getString(R.string.pref_startaudiobitrateval ue_key); | 63 keyprefStartAudioBitrateValue = getString(R.string.pref_startaudiobitrateval ue_key); |
61 keyPrefAudioCodec = getString(R.string.pref_audiocodec_key); | 64 keyPrefAudioCodec = getString(R.string.pref_audiocodec_key); |
62 keyprefNoAudioProcessing = getString(R.string.pref_noaudioprocessing_key); | 65 keyprefNoAudioProcessing = getString(R.string.pref_noaudioprocessing_key); |
63 keyprefAecDump = getString(R.string.pref_aecdump_key); | 66 keyprefAecDump = getString(R.string.pref_aecdump_key); |
64 keyprefOpenSLES = getString(R.string.pref_opensles_key); | 67 keyprefOpenSLES = getString(R.string.pref_opensles_key); |
68 keyprefDisableBuiltInAEC = getString(R.string.pref_disable_built_in_aec_key) ; | |
65 | 69 |
66 keyPrefRoomServerUrl = getString(R.string.pref_room_server_url_key); | 70 keyPrefRoomServerUrl = getString(R.string.pref_room_server_url_key); |
67 keyPrefDisplayHud = getString(R.string.pref_displayhud_key); | 71 keyPrefDisplayHud = getString(R.string.pref_displayhud_key); |
68 keyPrefTracing = getString(R.string.pref_tracing_key); | 72 keyPrefTracing = getString(R.string.pref_tracing_key); |
69 | 73 |
70 // Display the fragment as the main content. | 74 // Display the fragment as the main content. |
71 settingsFragment = new SettingsFragment(); | 75 settingsFragment = new SettingsFragment(); |
72 getFragmentManager().beginTransaction() | 76 getFragmentManager().beginTransaction() |
73 .replace(android.R.id.content, settingsFragment) | 77 .replace(android.R.id.content, settingsFragment) |
74 .commit(); | 78 .commit(); |
(...skipping 17 matching lines...) Expand all Loading... | |
92 updateSummaryB(sharedPreferences, keyprefHwCodec); | 96 updateSummaryB(sharedPreferences, keyprefHwCodec); |
93 updateSummaryB(sharedPreferences, keyprefCaptureToTexture); | 97 updateSummaryB(sharedPreferences, keyprefCaptureToTexture); |
94 | 98 |
95 updateSummary(sharedPreferences, keyprefStartAudioBitrateType); | 99 updateSummary(sharedPreferences, keyprefStartAudioBitrateType); |
96 updateSummaryBitrate(sharedPreferences, keyprefStartAudioBitrateValue); | 100 updateSummaryBitrate(sharedPreferences, keyprefStartAudioBitrateValue); |
97 setAudioBitrateEnable(sharedPreferences); | 101 setAudioBitrateEnable(sharedPreferences); |
98 updateSummary(sharedPreferences, keyPrefAudioCodec); | 102 updateSummary(sharedPreferences, keyPrefAudioCodec); |
99 updateSummaryB(sharedPreferences, keyprefNoAudioProcessing); | 103 updateSummaryB(sharedPreferences, keyprefNoAudioProcessing); |
100 updateSummaryB(sharedPreferences, keyprefAecDump); | 104 updateSummaryB(sharedPreferences, keyprefAecDump); |
101 updateSummaryB(sharedPreferences, keyprefOpenSLES); | 105 updateSummaryB(sharedPreferences, keyprefOpenSLES); |
106 updateSummaryB(sharedPreferences, keyprefDisableBuiltInAEC); | |
102 | 107 |
103 updateSummary(sharedPreferences, keyPrefRoomServerUrl); | 108 updateSummary(sharedPreferences, keyPrefRoomServerUrl); |
104 updateSummaryB(sharedPreferences, keyPrefDisplayHud); | 109 updateSummaryB(sharedPreferences, keyPrefDisplayHud); |
105 updateSummaryB(sharedPreferences, keyPrefTracing); | 110 updateSummaryB(sharedPreferences, keyPrefTracing); |
111 | |
112 // Disable forcing WebRTC based AEC so it won't affect our value. | |
113 // Otherwise, if it was enabled, isAcousticEchoCancelerSupported would alway s return false. | |
114 WebRtcAudioUtils.setWebRtcBasedAcousticEchoCanceler(false); | |
115 if(!WebRtcAudioUtils.isAcousticEchoCancelerSupported()) { | |
magjed_webrtc
2016/05/24 08:31:18
nit: space between 'if' and '('.
sakal
2016/05/24 10:56:35
Done.
| |
116 Preference disableBuiltInAECPreference = | |
117 settingsFragment.findPreference(keyprefDisableBuiltInAEC); | |
118 | |
119 | |
120 disableBuiltInAECPreference.setSummary(getString(R.string.pref_built_in_ae c_not_available)); | |
121 disableBuiltInAECPreference.setEnabled(false); | |
122 } | |
106 } | 123 } |
107 | 124 |
108 @Override | 125 @Override |
109 protected void onPause() { | 126 protected void onPause() { |
110 super.onPause(); | 127 super.onPause(); |
111 SharedPreferences sharedPreferences = | 128 SharedPreferences sharedPreferences = |
112 settingsFragment.getPreferenceScreen().getSharedPreferences(); | 129 settingsFragment.getPreferenceScreen().getSharedPreferences(); |
113 sharedPreferences.unregisterOnSharedPreferenceChangeListener(this); | 130 sharedPreferences.unregisterOnSharedPreferenceChangeListener(this); |
114 } | 131 } |
115 | 132 |
(...skipping 12 matching lines...) Expand all Loading... | |
128 || key.equals(keyprefStartAudioBitrateValue)) { | 145 || key.equals(keyprefStartAudioBitrateValue)) { |
129 updateSummaryBitrate(sharedPreferences, key); | 146 updateSummaryBitrate(sharedPreferences, key); |
130 } else if (key.equals(keyprefVideoCall) | 147 } else if (key.equals(keyprefVideoCall) |
131 || key.equals(keyPrefTracing) | 148 || key.equals(keyPrefTracing) |
132 || key.equals(keyprefCaptureQualitySlider) | 149 || key.equals(keyprefCaptureQualitySlider) |
133 || key.equals(keyprefHwCodec) | 150 || key.equals(keyprefHwCodec) |
134 || key.equals(keyprefCaptureToTexture) | 151 || key.equals(keyprefCaptureToTexture) |
135 || key.equals(keyprefNoAudioProcessing) | 152 || key.equals(keyprefNoAudioProcessing) |
136 || key.equals(keyprefAecDump) | 153 || key.equals(keyprefAecDump) |
137 || key.equals(keyprefOpenSLES) | 154 || key.equals(keyprefOpenSLES) |
155 || key.equals(keyprefDisableBuiltInAEC) | |
138 || key.equals(keyPrefDisplayHud)) { | 156 || key.equals(keyPrefDisplayHud)) { |
139 updateSummaryB(sharedPreferences, key); | 157 updateSummaryB(sharedPreferences, key); |
140 } | 158 } |
141 if (key.equals(keyprefStartVideoBitrateType)) { | 159 if (key.equals(keyprefStartVideoBitrateType)) { |
142 setVideoBitrateEnable(sharedPreferences); | 160 setVideoBitrateEnable(sharedPreferences); |
143 } | 161 } |
144 if (key.equals(keyprefStartAudioBitrateType)) { | 162 if (key.equals(keyprefStartAudioBitrateType)) { |
145 setAudioBitrateEnable(sharedPreferences); | 163 setAudioBitrateEnable(sharedPreferences); |
146 } | 164 } |
147 } | 165 } |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
184 String bitrateTypeDefault = getString(R.string.pref_startaudiobitrate_defaul t); | 202 String bitrateTypeDefault = getString(R.string.pref_startaudiobitrate_defaul t); |
185 String bitrateType = sharedPreferences.getString( | 203 String bitrateType = sharedPreferences.getString( |
186 keyprefStartAudioBitrateType, bitrateTypeDefault); | 204 keyprefStartAudioBitrateType, bitrateTypeDefault); |
187 if (bitrateType.equals(bitrateTypeDefault)) { | 205 if (bitrateType.equals(bitrateTypeDefault)) { |
188 bitratePreferenceValue.setEnabled(false); | 206 bitratePreferenceValue.setEnabled(false); |
189 } else { | 207 } else { |
190 bitratePreferenceValue.setEnabled(true); | 208 bitratePreferenceValue.setEnabled(true); |
191 } | 209 } |
192 } | 210 } |
193 } | 211 } |
OLD | NEW |