kopia lustrzana https://github.com/ryukoposting/Signal-Android
rodzic
a075bf7505
commit
eddb97013a
|
@ -26,12 +26,14 @@ public class LockManager {
|
|||
|
||||
|
||||
private int orientation = AccelerometerListener.ORIENTATION_UNKNOWN;
|
||||
private boolean proximityDisabled = false;
|
||||
|
||||
public enum PhoneState {
|
||||
IDLE,
|
||||
PROCESSING, //used when the phone is active but before the user should be alerted.
|
||||
INTERACTIVE,
|
||||
IN_CALL,
|
||||
IN_VIDEO
|
||||
}
|
||||
|
||||
private enum LockState {
|
||||
|
@ -78,8 +80,7 @@ public class LockManager {
|
|||
}
|
||||
|
||||
private void updateInCallLockState() {
|
||||
if (orientation != AccelerometerListener.ORIENTATION_HORIZONTAL
|
||||
&& wifiLockEnforced) {
|
||||
if (orientation != AccelerometerListener.ORIENTATION_HORIZONTAL && wifiLockEnforced && !proximityDisabled) {
|
||||
setLockState(LockState.PROXIMITY);
|
||||
} else {
|
||||
setLockState(LockState.FULL);
|
||||
|
@ -100,7 +101,13 @@ public class LockManager {
|
|||
setLockState(LockState.FULL);
|
||||
accelerometerListener.enable(false);
|
||||
break;
|
||||
case IN_VIDEO:
|
||||
proximityDisabled = true;
|
||||
accelerometerListener.enable(false);
|
||||
updateInCallLockState();
|
||||
break;
|
||||
case IN_CALL:
|
||||
proximityDisabled = false;
|
||||
accelerometerListener.enable(true);
|
||||
updateInCallLockState();
|
||||
break;
|
||||
|
|
|
@ -491,7 +491,9 @@ public class WebRtcCallService extends Service implements InjectableType, PeerCo
|
|||
|
||||
initializeAudio();
|
||||
outgoingRinger.playComplete();
|
||||
lockManager.updatePhoneState(LockManager.PhoneState.IN_CALL);
|
||||
|
||||
if (localVideoEnabled) lockManager.updatePhoneState(LockManager.PhoneState.IN_VIDEO);
|
||||
else lockManager.updatePhoneState(LockManager.PhoneState.IN_CALL);
|
||||
|
||||
sendMessage(WebRtcViewModel.State.CALL_CONNECTED, recipient, localVideoEnabled, remoteVideoEnabled);
|
||||
|
||||
|
@ -664,6 +666,11 @@ public class WebRtcCallService extends Service implements InjectableType, PeerCo
|
|||
.build().toByteArray()), false));
|
||||
}
|
||||
|
||||
if (callState == CallState.STATE_CONNECTED) {
|
||||
if (localVideoEnabled) this.lockManager.updatePhoneState(LockManager.PhoneState.IN_VIDEO);
|
||||
else this.lockManager.updatePhoneState(LockManager.PhoneState.IN_CALL);
|
||||
}
|
||||
|
||||
sendMessage(viewModelStateFor(callState), this.recipient, localVideoEnabled, remoteVideoEnabled);
|
||||
}
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue