Use core setting for friendlist subscription + added app settings for mic & playback gain

This commit is contained in:
Sylvain Berfini 2019-03-01 17:14:07 +01:00
parent 242a9ccd9c
commit f53cbb976d
6 changed files with 72 additions and 2 deletions

View file

@ -35,6 +35,7 @@ Group changes to describe their impact on the project, as follows:
- Option to automatically download incoming files, either always, never or depending on their sizes. This adds the feature of having images received by file transfer in notifications. - Option to automatically download incoming files, either always, never or depending on their sizes. This adds the feature of having images received by file transfer in notifications.
- Call recording. - Call recording.
- Get remote provisioning URL from QR code scan. - Get remote provisioning URL from QR code scan.
- Added app setting for microphone & playback gain.
### Fixes ### Fixes
- Fixed chat room user can't get into if there are more than one with the same remote but different local accounts - Fixed chat room user can't get into if there are more than one with the same remote but different local accounts

View file

@ -514,11 +514,17 @@ public class LinphonePreferences {
} }
public boolean isFriendlistsubscriptionEnabled() { public boolean isFriendlistsubscriptionEnabled() {
return getConfig().getBool("app", "friendlist_subscription_enabled", false); boolean previousConfig =
getConfig().getBool("app", "friendlist_subscription_enabled", false);
if (previousConfig) {
enabledFriendlistSubscription(previousConfig);
getConfig().setBool("app", "friendlist_subscription_enabled", false);
}
return getLc().isFriendListSubscriptionEnabled();
} }
public void enabledFriendlistSubscription(boolean enabled) { public void enabledFriendlistSubscription(boolean enabled) {
getConfig().setBool("app", "friendlist_subscription_enabled", enabled); getLc().enableFriendListSubscription(enabled);
} }
public void setDefaultAccount(int accountIndex) { public void setDefaultAccount(int accountIndex) {
@ -629,6 +635,22 @@ public class LinphonePreferences {
return getConfig().getInt("sound", "ec_delay", -1); return getConfig().getInt("sound", "ec_delay", -1);
} }
public float getMicGainDb() {
return getLc().getMicGainDb();
}
public void setMicGainDb(float gain) {
getLc().setMicGainDb(gain);
}
public float getPlaybackGainDb() {
return getLc().getPlaybackGainDb();
}
public void setPlaybackGainDb(float gain) {
getLc().setPlaybackGainDb(gain);
}
// End of audio settings // End of audio settings
// Video settings // Video settings

View file

@ -630,6 +630,15 @@ public class SettingsFragment extends PreferencesListFragment {
(ListPreference) findPreference(getString(R.string.pref_codec_bitrate_limit_key)); (ListPreference) findPreference(getString(R.string.pref_codec_bitrate_limit_key));
bitrateLimit.setSummary(String.valueOf(mPrefs.getCodecBitrateLimit())); bitrateLimit.setSummary(String.valueOf(mPrefs.getCodecBitrateLimit()));
bitrateLimit.setValue(String.valueOf(mPrefs.getCodecBitrateLimit())); bitrateLimit.setValue(String.valueOf(mPrefs.getCodecBitrateLimit()));
EditTextPreference micGain =
(EditTextPreference) findPreference(getString(R.string.pref_mic_gain_db_key));
micGain.setText(String.valueOf(mPrefs.getMicGainDb()));
micGain.setSummary(String.valueOf(mPrefs.getMicGainDb()));
EditTextPreference playbackGain =
(EditTextPreference) findPreference(getString(R.string.pref_playback_gain_db_key));
playbackGain.setText(String.valueOf(mPrefs.getPlaybackGainDb()));
playbackGain.setSummary(String.valueOf(mPrefs.getPlaybackGainDb()));
} }
private void setAudioPreferencesListener() { private void setAudioPreferencesListener() {
@ -728,6 +737,28 @@ public class SettingsFragment extends PreferencesListFragment {
return true; return true;
} }
}); });
findPreference(getString(R.string.pref_mic_gain_db_key))
.setOnPreferenceChangeListener(
new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object o) {
float newVal = Float.valueOf((String) o);
mPrefs.setMicGainDb(newVal);
return true;
}
});
findPreference(getString(R.string.pref_playback_gain_db_key))
.setOnPreferenceChangeListener(
new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object o) {
float newVal = Float.valueOf((String) o);
mPrefs.setPlaybackGainDb(newVal);
return true;
}
});
} }
public void startEchoTester() { public void startEchoTester() {

View file

@ -31,6 +31,8 @@
<string name="pref_audio_soft_volume_key">pref_audio_soft_volume_key</string> <string name="pref_audio_soft_volume_key">pref_audio_soft_volume_key</string>
<string name="pref_audio_ringtone">pref_audio_ringtone</string> <string name="pref_audio_ringtone">pref_audio_ringtone</string>
<string name="pref_incoming_call_vibration_key">pref_incoming_call_vibration_key</string> <string name="pref_incoming_call_vibration_key">pref_incoming_call_vibration_key</string>
<string name="pref_mic_gain_db_key">pref_mic_gain_db_key</string>
<string name="pref_playback_gain_db_key">pref_playback_gain_db_key</string>
<string name="pref_ipv6_key">pref_ipv6_key</string> <string name="pref_ipv6_key">pref_ipv6_key</string>

View file

@ -398,6 +398,8 @@
<string name="failed">failed</string> <string name="failed">failed</string>
<string name="pref_adaptive_rate_control">Adaptive rate control</string> <string name="pref_adaptive_rate_control">Adaptive rate control</string>
<string name="pref_codec_bitrate_limit">Codec bitrate limit</string> <string name="pref_codec_bitrate_limit">Codec bitrate limit</string>
<string name="pref_mic_gain_db">Microphone gain (in db)</string>
<string name="pref_playback_gain_db">Playback gain (in db)</string>
<string name="pref_codecs">Codecs</string> <string name="pref_codecs">Codecs</string>
<!-- Video settings --> <!-- Video settings -->

View file

@ -79,6 +79,18 @@
android:persistent="false" android:persistent="false"
android:title="@string/pref_codec_bitrate_limit" /> android:title="@string/pref_codec_bitrate_limit" />
<EditTextPreference
android:key="@string/pref_mic_gain_db_key"
android:persistent="false"
android:inputType="numberSigned|numberDecimal"
android:title="@string/pref_mic_gain_db" />
<EditTextPreference
android:key="@string/pref_playback_gain_db_key"
android:persistent="false"
android:inputType="numberSigned|numberDecimal"
android:title="@string/pref_playback_gain_db" />
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory <PreferenceCategory