fix bug around proximity sensing in call activity. It could remain activated forever in some circumstances.
This commit is contained in:
parent
c4f52b2f96
commit
9d8481386b
1 changed files with 21 additions and 9 deletions
|
@ -119,6 +119,7 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
|
||||||
private boolean isConferenceRunning = false;
|
private boolean isConferenceRunning = false;
|
||||||
private LinphoneCoreListenerBase mListener;
|
private LinphoneCoreListenerBase mListener;
|
||||||
private DrawerLayout sideMenu;
|
private DrawerLayout sideMenu;
|
||||||
|
private boolean mProximitySensingEnabled;
|
||||||
|
|
||||||
public static CallActivity instance() {
|
public static CallActivity instance() {
|
||||||
return instance;
|
return instance;
|
||||||
|
@ -800,8 +801,22 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void enableProximitySensing(boolean enable){
|
||||||
|
if (enable){
|
||||||
|
if (!mProximitySensingEnabled){
|
||||||
|
mSensorManager.registerListener(this, mProximity, SensorManager.SENSOR_DELAY_NORMAL);
|
||||||
|
mProximitySensingEnabled = true;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if (mProximitySensingEnabled){
|
||||||
|
mSensorManager.unregisterListener(this);
|
||||||
|
mProximitySensingEnabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void showAudioView() {
|
private void showAudioView() {
|
||||||
mSensorManager.registerListener(this, mProximity, SensorManager.SENSOR_DELAY_NORMAL);
|
enableProximitySensing(true);
|
||||||
replaceFragmentVideoByAudio();
|
replaceFragmentVideoByAudio();
|
||||||
displayAudioCall();
|
displayAudioCall();
|
||||||
showStatusBar();
|
showStatusBar();
|
||||||
|
@ -816,7 +831,7 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
|
||||||
}
|
}
|
||||||
refreshInCallActions();
|
refreshInCallActions();
|
||||||
|
|
||||||
mSensorManager.unregisterListener(this);
|
enableProximitySensing(false);
|
||||||
replaceFragmentAudioByVideo();
|
replaceFragmentAudioByVideo();
|
||||||
hideStatusBar();
|
hideStatusBar();
|
||||||
}
|
}
|
||||||
|
@ -1173,7 +1188,7 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
|
||||||
handleViewIntent();
|
handleViewIntent();
|
||||||
|
|
||||||
if (!isVideoEnabled(LinphoneManager.getLc().getCurrentCall())) {
|
if (!isVideoEnabled(LinphoneManager.getLc().getCurrentCall())) {
|
||||||
mSensorManager.registerListener(this, mProximity, SensorManager.SENSOR_DELAY_NORMAL);
|
enableProximitySensing(true);
|
||||||
removeCallbacks();
|
removeCallbacks();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1223,10 +1238,7 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
|
||||||
mControlsHandler.removeCallbacks(mControls);
|
mControlsHandler.removeCallbacks(mControls);
|
||||||
}
|
}
|
||||||
mControls = null;
|
mControls = null;
|
||||||
|
enableProximitySensing(false);
|
||||||
if (!isVideoEnabled(LinphoneManager.getLc().getCurrentCall())) {
|
|
||||||
mSensorManager.unregisterListener(this);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1239,7 +1251,7 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
|
||||||
mControls = null;
|
mControls = null;
|
||||||
mControlsHandler = null;
|
mControlsHandler = null;
|
||||||
|
|
||||||
mSensorManager.unregisterListener(this);
|
enableProximitySensing(false);
|
||||||
|
|
||||||
unbindDrawables(findViewById(R.id.topLayout));
|
unbindDrawables(findViewById(R.id.topLayout));
|
||||||
instance = null;
|
instance = null;
|
||||||
|
@ -1510,7 +1522,7 @@ public class CallActivity extends Activity implements OnClickListener, SensorEve
|
||||||
private void displayConference(boolean isInConf){
|
private void displayConference(boolean isInConf){
|
||||||
if(isInConf) {
|
if(isInConf) {
|
||||||
mControlsLayout.setVisibility(View.VISIBLE);
|
mControlsLayout.setVisibility(View.VISIBLE);
|
||||||
mSensorManager.registerListener(this, mProximity, SensorManager.SENSOR_DELAY_NORMAL);
|
enableProximitySensing(true);
|
||||||
mActiveCallHeader.setVisibility(View.GONE);
|
mActiveCallHeader.setVisibility(View.GONE);
|
||||||
mNoCurrentCall.setVisibility(View.GONE);
|
mNoCurrentCall.setVisibility(View.GONE);
|
||||||
conferenceList.removeAllViews();
|
conferenceList.removeAllViews();
|
||||||
|
|
Loading…
Reference in a new issue