Fixed echo canceller calibration
This commit is contained in:
parent
bc64f13563
commit
ff69d00612
3 changed files with 10 additions and 3 deletions
|
@ -1542,7 +1542,7 @@ public class LinphoneManager implements CoreListener, ChatMessageListener, Senso
|
||||||
boolean encrypted, String authenticationToken) {
|
boolean encrypted, String authenticationToken) {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void startEcCalibration(CoreListener l) throws CoreException {
|
public void startEcCalibration() throws CoreException {
|
||||||
routeAudioToSpeaker();
|
routeAudioToSpeaker();
|
||||||
setAudioManagerInCallMode();
|
setAudioManagerInCallMode();
|
||||||
Log.i("Set audio mode on 'Voice Communication'");
|
Log.i("Set audio mode on 'Voice Communication'");
|
||||||
|
|
|
@ -50,6 +50,7 @@ import android.content.SharedPreferences;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.media.AudioManager;
|
import android.media.AudioManager;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.net.wifi.WifiManager;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
@ -97,6 +98,7 @@ public class SettingsFragment extends PreferencesListFragment {
|
||||||
mListener = new CoreListenerStub() {
|
mListener = new CoreListenerStub() {
|
||||||
@Override
|
@Override
|
||||||
public void onEcCalibrationResult(Core lc, Core.EcCalibratorStatus status, int delayMs) {
|
public void onEcCalibrationResult(Core lc, Core.EcCalibratorStatus status, int delayMs) {
|
||||||
|
lc.removeListener(mListener);
|
||||||
LinphoneManager.getInstance().routeAudioToReceiver();
|
LinphoneManager.getInstance().routeAudioToReceiver();
|
||||||
|
|
||||||
CheckBoxPreference echoCancellation = (CheckBoxPreference) findPreference(getString(R.string.pref_echo_cancellation_key));
|
CheckBoxPreference echoCancellation = (CheckBoxPreference) findPreference(getString(R.string.pref_echo_cancellation_key));
|
||||||
|
@ -540,6 +542,7 @@ public class SettingsFragment extends PreferencesListFragment {
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
boolean enable = (Boolean) newValue;
|
boolean enable = (Boolean) newValue;
|
||||||
pt.enable(enable);
|
pt.enable(enable);
|
||||||
|
((CheckBoxPreference)preference).setChecked(enable);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -662,7 +665,8 @@ public class SettingsFragment extends PreferencesListFragment {
|
||||||
try {
|
try {
|
||||||
if (LinphoneManager.getInstance().getEchoTesterStatus())
|
if (LinphoneManager.getInstance().getEchoTesterStatus())
|
||||||
stopEchoTester();
|
stopEchoTester();
|
||||||
LinphoneManager.getInstance().startEcCalibration(mListener);
|
LinphoneManager.getLc().addListener(mListener);
|
||||||
|
LinphoneManager.getInstance().startEcCalibration();
|
||||||
} catch (CoreException e) {
|
} catch (CoreException e) {
|
||||||
Log.e(e);
|
Log.e(e);
|
||||||
}
|
}
|
||||||
|
@ -747,6 +751,7 @@ public class SettingsFragment extends PreferencesListFragment {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pt.enable(enable);
|
pt.enable(enable);
|
||||||
|
((CheckBoxPreference)preference).setChecked(enable);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -57,6 +57,7 @@ public class EchoCancellerCalibrationFragment extends Fragment implements XmlRpc
|
||||||
mListener = new CoreListenerStub(){
|
mListener = new CoreListenerStub(){
|
||||||
@Override
|
@Override
|
||||||
public void onEcCalibrationResult(Core lc, Core.EcCalibratorStatus status, int delay_ms) {
|
public void onEcCalibrationResult(Core lc, Core.EcCalibratorStatus status, int delay_ms) {
|
||||||
|
lc.removeListener(mListener);
|
||||||
LinphoneManager.getInstance().routeAudioToReceiver();
|
LinphoneManager.getInstance().routeAudioToReceiver();
|
||||||
if (mSendEcCalibrationResult) {
|
if (mSendEcCalibrationResult) {
|
||||||
sendEcCalibrationResult(status, delay_ms);
|
sendEcCalibrationResult(status, delay_ms);
|
||||||
|
@ -76,7 +77,8 @@ public class EchoCancellerCalibrationFragment extends Fragment implements XmlRpc
|
||||||
xmlRpcRequest.setListener(this);
|
xmlRpcRequest.setListener(this);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
LinphoneManager.getInstance().startEcCalibration(mListener);
|
LinphoneManager.getLc().addListener(mListener);
|
||||||
|
LinphoneManager.getInstance().startEcCalibration();
|
||||||
} catch (CoreException e) {
|
} catch (CoreException e) {
|
||||||
Log.e(e, "Unable to calibrate EC");
|
Log.e(e, "Unable to calibrate EC");
|
||||||
AssistantActivity.instance().isEchoCalibrationFinished();
|
AssistantActivity.instance().isEchoCalibrationFinished();
|
||||||
|
|
Loading…
Reference in a new issue