Fix animation in call and conference pause

This commit is contained in:
Margaux Clerc 2016-03-03 14:59:46 +01:00
parent d9fe5be063
commit a15f81217e
2 changed files with 25 additions and 16 deletions

View file

@ -5,9 +5,6 @@
[net] [net]
mtu=1300 mtu=1300
[app]
animations=0
[sip] [sip]
guess_hostname=1 guess_hostname=1
inc_timeout=15 inc_timeout=15
@ -33,7 +30,6 @@ dtmf_player_amp=0.1
#remove this property for any application that is not Linphone public version itself #remove this property for any application that is not Linphone public version itself
ec_calibrator_cool_tones=1 ec_calibrator_cool_tones=1
[misc] [misc]
max_calls=10 max_calls=10
log_collection_upload_server_url=https://www.linphone.org:444/lft.php log_collection_upload_server_url=https://www.linphone.org:444/lft.php

View file

@ -892,6 +892,7 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
if (cameraNumber > 1) { if (cameraNumber > 1) {
switchCamera.startAnimation(slideInTopToBottom); switchCamera.startAnimation(slideInTopToBottom);
} }
pause.startAnimation(slideInTopToBottom);
} }
} }
resetControlsHidingCallBack(); resetControlsHidingCallBack();
@ -945,6 +946,7 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
if (cameraNumber > 1) { if (cameraNumber > 1) {
switchCamera.startAnimation(slideOutBottomToTop); switchCamera.startAnimation(slideOutBottomToTop);
} }
pause.startAnimation(slideOutBottomToTop);
} }
} }
}, SECONDS_BEFORE_HIDING_CONTROLS); }, SECONDS_BEFORE_HIDING_CONTROLS);
@ -1041,6 +1043,7 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
transfer.setVisibility(View.INVISIBLE); transfer.setVisibility(View.INVISIBLE);
} }
addCall.setVisibility(View.INVISIBLE); addCall.setVisibility(View.INVISIBLE);
conference.setVisibility(View.INVISIBLE);
animation.setAnimationListener(null); animation.setAnimationListener(null);
} }
}); });
@ -1048,6 +1051,7 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
transfer.startAnimation(animation); transfer.startAnimation(animation);
} }
addCall.startAnimation(animation); addCall.startAnimation(animation);
conference.startAnimation(animation);
} }
private void hideAnimatedLandscapeCallOptions() { private void hideAnimatedLandscapeCallOptions() {
@ -1066,6 +1070,7 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
public void onAnimationEnd(Animation animation) { public void onAnimationEnd(Animation animation) {
transfer.setAnimation(null); transfer.setAnimation(null);
transfer.setVisibility(View.INVISIBLE); transfer.setVisibility(View.INVISIBLE);
animation = AnimationUtils.loadAnimation(CallActivity.this, R.anim.slide_out_top_to_bottom); // Reload animation to prevent transfer button to blink animation = AnimationUtils.loadAnimation(CallActivity.this, R.anim.slide_out_top_to_bottom); // Reload animation to prevent transfer button to blink
animation.setAnimationListener(new AnimationListener() { animation.setAnimationListener(new AnimationListener() {
@Override @Override
@ -1085,6 +1090,7 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
} }
}); });
transfer.startAnimation(animation); transfer.startAnimation(animation);
conference.startAnimation(animation);
} else { } else {
animation.setAnimationListener(new AnimationListener() { animation.setAnimationListener(new AnimationListener() {
@Override @Override
@ -1098,9 +1104,11 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
@Override @Override
public void onAnimationEnd(Animation animation) { public void onAnimationEnd(Animation animation) {
addCall.setVisibility(View.INVISIBLE); addCall.setVisibility(View.INVISIBLE);
conference.setVisibility(View.INVISIBLE);
} }
}); });
addCall.startAnimation(animation); addCall.startAnimation(animation);
conference.startAnimation(animation);
} }
} }
@ -1117,17 +1125,19 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
@Override @Override
public void onAnimationEnd(Animation animation) { public void onAnimationEnd(Animation animation) {
options.setBackgroundResource(R.drawable.options_default); options.setImageResource(R.drawable.options_default);
if (isTransferAllowed) { if (isTransferAllowed) {
transfer.setVisibility(View.VISIBLE); transfer.setVisibility(View.VISIBLE);
} }
addCall.setVisibility(View.VISIBLE); addCall.setVisibility(View.VISIBLE);
conference.setVisibility(View.VISIBLE);
animation.setAnimationListener(null); animation.setAnimationListener(null);
} }
}); });
if (isTransferAllowed) { if (isTransferAllowed) {
transfer.startAnimation(animation); transfer.startAnimation(animation);
} }
conference.startAnimation(animation);
addCall.startAnimation(animation); addCall.startAnimation(animation);
} }
@ -1145,8 +1155,9 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
@Override @Override
public void onAnimationEnd(Animation animation) { public void onAnimationEnd(Animation animation) {
addCall.setAnimation(null); addCall.setAnimation(null);
options.setBackgroundResource(R.drawable.options_default); options.setImageResource(R.drawable.options_default);
addCall.setVisibility(View.VISIBLE); addCall.setVisibility(View.VISIBLE);
conference.setVisibility(View.VISIBLE);
if (isTransferAllowed) { if (isTransferAllowed) {
animation.setAnimationListener(new AnimationListener() { animation.setAnimationListener(new AnimationListener() {
@Override @Override
@ -1164,6 +1175,7 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
}); });
transfer.startAnimation(animation); transfer.startAnimation(animation);
} }
conference.startAnimation(animation);
} }
}); });
addCall.startAnimation(animation); addCall.startAnimation(animation);
@ -1543,6 +1555,7 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
public void refreshCallList(Resources resources) { public void refreshCallList(Resources resources) {
isConferenceRunning = LinphoneManager.getLc().isInConference(); isConferenceRunning = LinphoneManager.getLc().isInConference();
List<LinphoneCall> pausedCalls = LinphoneUtils.getCallsInState(LinphoneManager.getLc(), Arrays.asList(State.PausedByRemote));
//MultiCalls //MultiCalls
if(LinphoneManager.getLc().getCallsNb() > 1){ if(LinphoneManager.getLc().getCallsNb() > 1){
@ -1552,7 +1565,7 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
//Active call //Active call
if(LinphoneManager.getLc().getCurrentCall() != null) { if(LinphoneManager.getLc().getCurrentCall() != null) {
displayNoCurrentCall(false); displayNoCurrentCall(false);
if(isVideoEnabled(LinphoneManager.getLc().getCurrentCall()) && !isConferenceRunning) { if(isVideoEnabled(LinphoneManager.getLc().getCurrentCall()) && !isConferenceRunning && pausedCalls.size() == 0) {
displayVideoCall(false); displayVideoCall(false);
} else { } else {
displayAudioCall(); displayAudioCall();
@ -1607,14 +1620,11 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
} }
//Paused by remote //Paused by remote
List<LinphoneCall> pausedCalls = LinphoneUtils.getCallsInState(LinphoneManager.getLc(), Arrays.asList(State.PausedByRemote));
if (pausedCalls.size() == 1) { if (pausedCalls.size() == 1) {
displayCallPaused(true); displayCallPaused(true);
} else { } else {
displayCallPaused(false); displayCallPaused(false);
} }
} }
//Conference //Conference
@ -1636,6 +1646,8 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
public void pauseOrResumeConference() { public void pauseOrResumeConference() {
LinphoneCore lc = LinphoneManager.getLc(); LinphoneCore lc = LinphoneManager.getLc();
conferenceStatus = (ImageView) findViewById(R.id.conference_pause);
if(conferenceStatus != null) {
if (lc.isInConference()) { if (lc.isInConference()) {
conferenceStatus.setImageResource(R.drawable.pause_big_over_selected); conferenceStatus.setImageResource(R.drawable.pause_big_over_selected);
lc.leaveConference(); lc.leaveConference();
@ -1643,6 +1655,7 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
conferenceStatus.setImageResource(R.drawable.pause_big_default); conferenceStatus.setImageResource(R.drawable.pause_big_default);
lc.enterConference(); lc.enterConference();
} }
}
refreshCallList(getResources()); refreshCallList(getResources());
} }