1243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org/*
2a8736448970fedd82f051c6b2cc89185b755ddf3Donald E Curtis *  Copyright 2014 The WebRTC Project Authors. All rights reserved.
3243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org *
4a8736448970fedd82f051c6b2cc89185b755ddf3Donald E Curtis *  Use of this source code is governed by a BSD-style license
5a8736448970fedd82f051c6b2cc89185b755ddf3Donald E Curtis *  that can be found in the LICENSE file in the root of the source
6a8736448970fedd82f051c6b2cc89185b755ddf3Donald E Curtis *  tree. An additional intellectual property rights grant can be found
7a8736448970fedd82f051c6b2cc89185b755ddf3Donald E Curtis *  in the file PATENTS.  All contributing project authors may
8a8736448970fedd82f051c6b2cc89185b755ddf3Donald E Curtis *  be found in the AUTHORS file in the root of the source tree.
9243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org */
10243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org
11243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.orgpackage org.appspot.apprtc;
12243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org
13243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.orgimport android.app.Activity;
14243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.orgimport android.content.SharedPreferences;
15243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.orgimport android.content.SharedPreferences.OnSharedPreferenceChangeListener;
16243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.orgimport android.os.Bundle;
17243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.orgimport android.preference.Preference;
18243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org
195eb71eb4f470bac0cbae0e1be4db8c83bc16fcd9jiayl@webrtc.org/**
205eb71eb4f470bac0cbae0e1be4db8c83bc16fcd9jiayl@webrtc.org * Settings activity for AppRTC.
215eb71eb4f470bac0cbae0e1be4db8c83bc16fcd9jiayl@webrtc.org */
22243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.orgpublic class SettingsActivity extends Activity
23243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    implements OnSharedPreferenceChangeListener{
24243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org  private SettingsFragment settingsFragment;
25e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org  private String keyprefVideoCall;
26243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org  private String keyprefResolution;
275f38c8d1b8e842652e55410333870acfc5395ea6glaznev@webrtc.org  private String keyprefFps;
2867e0cf15d323642516f40b619f6474db333524a7Magnus Jedvert  private String keyprefCaptureQualitySlider;
29e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org  private String keyprefStartVideoBitrateType;
30e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org  private String keyprefStartVideoBitrateValue;
3144ae4c8b07cdf06d20d5042326b90ec9b466b664glaznev@webrtc.org  private String keyPrefVideoCodec;
32dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org  private String keyprefHwCodec;
33d48015364d1a3545ea503ce03ec49762a480d42cPer  private String keyprefCaptureToTexture;
34e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org
35e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org  private String keyprefStartAudioBitrateType;
36e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org  private String keyprefStartAudioBitrateValue;
37e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org  private String keyPrefAudioCodec;
388a19f3dc62f4817404c322280d8f035de1adb56aNiklas Enbom  private String keyprefNoAudioProcessing;
390b0a88b918062ee50a36a8e8b5d7f0cc040046fbaluebs  private String keyprefAecDump;
40e66339296b3d2a3f077bf96a7c221c18d96ae630glaznev  private String keyprefOpenSLES;
41e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org
42a6f7ba6848302d142ba769615d12bbf77a13e6e6jiayl@webrtc.org  private String keyPrefRoomServerUrl;
43bc40324d9c673f5ba4df78590d928be3b9c62418glaznev@webrtc.org  private String keyPrefDisplayHud;
446f28cf0b951a9d41246f022f48a6cd035fad151dPeter Boström  private String keyPrefTracing;
45243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org
46243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org  @Override
47243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org  protected void onCreate(Bundle savedInstanceState) {
48243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    super.onCreate(savedInstanceState);
49e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    keyprefVideoCall = getString(R.string.pref_videocall_key);
50243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    keyprefResolution = getString(R.string.pref_resolution_key);
515f38c8d1b8e842652e55410333870acfc5395ea6glaznev@webrtc.org    keyprefFps = getString(R.string.pref_fps_key);
5267e0cf15d323642516f40b619f6474db333524a7Magnus Jedvert    keyprefCaptureQualitySlider = getString(R.string.pref_capturequalityslider_key);
53e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    keyprefStartVideoBitrateType = getString(R.string.pref_startvideobitrate_key);
54e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    keyprefStartVideoBitrateValue = getString(R.string.pref_startvideobitratevalue_key);
5544ae4c8b07cdf06d20d5042326b90ec9b466b664glaznev@webrtc.org    keyPrefVideoCodec = getString(R.string.pref_videocodec_key);
56dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org    keyprefHwCodec = getString(R.string.pref_hwcodec_key);
57d48015364d1a3545ea503ce03ec49762a480d42cPer    keyprefCaptureToTexture = getString(R.string.pref_capturetotexture_key);
58e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org
59e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    keyprefStartAudioBitrateType = getString(R.string.pref_startaudiobitrate_key);
60e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    keyprefStartAudioBitrateValue = getString(R.string.pref_startaudiobitratevalue_key);
61e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    keyPrefAudioCodec = getString(R.string.pref_audiocodec_key);
628a19f3dc62f4817404c322280d8f035de1adb56aNiklas Enbom    keyprefNoAudioProcessing = getString(R.string.pref_noaudioprocessing_key);
630b0a88b918062ee50a36a8e8b5d7f0cc040046fbaluebs    keyprefAecDump = getString(R.string.pref_aecdump_key);
64e66339296b3d2a3f077bf96a7c221c18d96ae630glaznev    keyprefOpenSLES = getString(R.string.pref_opensles_key);
65e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org
66a6f7ba6848302d142ba769615d12bbf77a13e6e6jiayl@webrtc.org    keyPrefRoomServerUrl = getString(R.string.pref_room_server_url_key);
67bc40324d9c673f5ba4df78590d928be3b9c62418glaznev@webrtc.org    keyPrefDisplayHud = getString(R.string.pref_displayhud_key);
686f28cf0b951a9d41246f022f48a6cd035fad151dPeter Boström    keyPrefTracing = getString(R.string.pref_tracing_key);
69243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org
70243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    // Display the fragment as the main content.
71243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    settingsFragment = new SettingsFragment();
72243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    getFragmentManager().beginTransaction()
73243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org        .replace(android.R.id.content, settingsFragment)
74243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org        .commit();
75243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org  }
76243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org
77243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org  @Override
78243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org  protected void onResume() {
79243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    super.onResume();
80243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    // Set summary to be the user-description for the selected value
81243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    SharedPreferences sharedPreferences =
82243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org        settingsFragment.getPreferenceScreen().getSharedPreferences();
83243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    sharedPreferences.registerOnSharedPreferenceChangeListener(this);
84e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    updateSummaryB(sharedPreferences, keyprefVideoCall);
85243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    updateSummary(sharedPreferences, keyprefResolution);
865f38c8d1b8e842652e55410333870acfc5395ea6glaznev@webrtc.org    updateSummary(sharedPreferences, keyprefFps);
8767e0cf15d323642516f40b619f6474db333524a7Magnus Jedvert    updateSummaryB(sharedPreferences, keyprefCaptureQualitySlider);
88e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    updateSummary(sharedPreferences, keyprefStartVideoBitrateType);
89e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    updateSummaryBitrate(sharedPreferences, keyprefStartVideoBitrateValue);
90e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    setVideoBitrateEnable(sharedPreferences);
9144ae4c8b07cdf06d20d5042326b90ec9b466b664glaznev@webrtc.org    updateSummary(sharedPreferences, keyPrefVideoCodec);
92dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org    updateSummaryB(sharedPreferences, keyprefHwCodec);
93d48015364d1a3545ea503ce03ec49762a480d42cPer    updateSummaryB(sharedPreferences, keyprefCaptureToTexture);
94e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org
95e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    updateSummary(sharedPreferences, keyprefStartAudioBitrateType);
96e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    updateSummaryBitrate(sharedPreferences, keyprefStartAudioBitrateValue);
97e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    setAudioBitrateEnable(sharedPreferences);
98e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    updateSummary(sharedPreferences, keyPrefAudioCodec);
998a19f3dc62f4817404c322280d8f035de1adb56aNiklas Enbom    updateSummaryB(sharedPreferences, keyprefNoAudioProcessing);
1000b0a88b918062ee50a36a8e8b5d7f0cc040046fbaluebs    updateSummaryB(sharedPreferences, keyprefAecDump);
101e66339296b3d2a3f077bf96a7c221c18d96ae630glaznev    updateSummaryB(sharedPreferences, keyprefOpenSLES);
102e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org
10344ae4c8b07cdf06d20d5042326b90ec9b466b664glaznev@webrtc.org    updateSummary(sharedPreferences, keyPrefRoomServerUrl);
104bc40324d9c673f5ba4df78590d928be3b9c62418glaznev@webrtc.org    updateSummaryB(sharedPreferences, keyPrefDisplayHud);
1056f28cf0b951a9d41246f022f48a6cd035fad151dPeter Boström    updateSummaryB(sharedPreferences, keyPrefTracing);
106243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org  }
107243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org
108243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org  @Override
109243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org  protected void onPause() {
110243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    super.onPause();
111243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    SharedPreferences sharedPreferences =
112243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org        settingsFragment.getPreferenceScreen().getSharedPreferences();
113243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    sharedPreferences.unregisterOnSharedPreferenceChangeListener(this);
114243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org  }
115243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org
116243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org  @Override
117243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org  public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
118243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org      String key) {
1195eb71eb4f470bac0cbae0e1be4db8c83bc16fcd9jiayl@webrtc.org    if (key.equals(keyprefResolution)
1205eb71eb4f470bac0cbae0e1be4db8c83bc16fcd9jiayl@webrtc.org        || key.equals(keyprefFps)
121e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org        || key.equals(keyprefStartVideoBitrateType)
122e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org        || key.equals(keyPrefVideoCodec)
123e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org        || key.equals(keyprefStartAudioBitrateType)
124e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org        || key.equals(keyPrefAudioCodec)
125e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org        || key.equals(keyPrefRoomServerUrl)) {
126243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org      updateSummary(sharedPreferences, key);
127e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    } else if (key.equals(keyprefStartVideoBitrateValue)
128e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org        || key.equals(keyprefStartAudioBitrateValue)) {
129dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org      updateSummaryBitrate(sharedPreferences, key);
130e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    } else if (key.equals(keyprefVideoCall)
1316f28cf0b951a9d41246f022f48a6cd035fad151dPeter Boström        || key.equals(keyPrefTracing)
13267e0cf15d323642516f40b619f6474db333524a7Magnus Jedvert        || key.equals(keyprefCaptureQualitySlider)
133e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org        || key.equals(keyprefHwCodec)
134d48015364d1a3545ea503ce03ec49762a480d42cPer        || key.equals(keyprefCaptureToTexture)
1358a19f3dc62f4817404c322280d8f035de1adb56aNiklas Enbom        || key.equals(keyprefNoAudioProcessing)
1360b0a88b918062ee50a36a8e8b5d7f0cc040046fbaluebs        || key.equals(keyprefAecDump)
137e66339296b3d2a3f077bf96a7c221c18d96ae630glaznev        || key.equals(keyprefOpenSLES)
138e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org        || key.equals(keyPrefDisplayHud)) {
1392176db343cf269a6f1faa7f0b20e8b5ad001c654henrika@webrtc.org      updateSummaryB(sharedPreferences, key);
140243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    }
141e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    if (key.equals(keyprefStartVideoBitrateType)) {
142e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org      setVideoBitrateEnable(sharedPreferences);
143e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    }
144e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    if (key.equals(keyprefStartAudioBitrateType)) {
145e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org      setAudioBitrateEnable(sharedPreferences);
146dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org    }
147243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org  }
148243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org
149243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org  private void updateSummary(SharedPreferences sharedPreferences, String key) {
150243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    Preference updatedPref = settingsFragment.findPreference(key);
151243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    // Set summary to be the user-description for the selected value
152243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org    updatedPref.setSummary(sharedPreferences.getString(key, ""));
153243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org  }
154243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org
155dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org  private void updateSummaryBitrate(
156dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org      SharedPreferences sharedPreferences, String key) {
157dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org    Preference updatedPref = settingsFragment.findPreference(key);
158dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org    updatedPref.setSummary(sharedPreferences.getString(key, "") + " kbps");
159dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org  }
160dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org
1612176db343cf269a6f1faa7f0b20e8b5ad001c654henrika@webrtc.org  private void updateSummaryB(SharedPreferences sharedPreferences, String key) {
1622176db343cf269a6f1faa7f0b20e8b5ad001c654henrika@webrtc.org    Preference updatedPref = settingsFragment.findPreference(key);
1632176db343cf269a6f1faa7f0b20e8b5ad001c654henrika@webrtc.org    updatedPref.setSummary(sharedPreferences.getBoolean(key, true)
164dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org        ? getString(R.string.pref_value_enabled)
165dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org        : getString(R.string.pref_value_disabled));
166dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org  }
167dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org
168e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org  private void setVideoBitrateEnable(SharedPreferences sharedPreferences) {
169e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    Preference bitratePreferenceValue =
170e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org        settingsFragment.findPreference(keyprefStartVideoBitrateValue);
171e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    String bitrateTypeDefault = getString(R.string.pref_startvideobitrate_default);
172e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    String bitrateType = sharedPreferences.getString(
173e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org        keyprefStartVideoBitrateType, bitrateTypeDefault);
174e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    if (bitrateType.equals(bitrateTypeDefault)) {
175e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org      bitratePreferenceValue.setEnabled(false);
176e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    } else {
177e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org      bitratePreferenceValue.setEnabled(true);
178e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    }
179e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org  }
180e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org
181e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org  private void setAudioBitrateEnable(SharedPreferences sharedPreferences) {
182dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org    Preference bitratePreferenceValue =
183e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org        settingsFragment.findPreference(keyprefStartAudioBitrateValue);
184e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org    String bitrateTypeDefault = getString(R.string.pref_startaudiobitrate_default);
185dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org    String bitrateType = sharedPreferences.getString(
186e3fccd4268d8e46c737f27a431c1dd263f312395glaznev@webrtc.org        keyprefStartAudioBitrateType, bitrateTypeDefault);
187dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org    if (bitrateType.equals(bitrateTypeDefault)) {
188dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org      bitratePreferenceValue.setEnabled(false);
189dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org    } else {
190dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org      bitratePreferenceValue.setEnabled(true);
191dea5173edfcc6fed0572ff61bbc116918988bd16glaznev@webrtc.org    }
1922176db343cf269a6f1faa7f0b20e8b5ad001c654henrika@webrtc.org  }
193243eb8e9af35f07befa733c86dd320f9f8b021bdglaznev@webrtc.org}
194