remove code around proximity sensing in LinphoneManager.java, that is no longer used in the app.
This commit is contained in:
parent
9d8481386b
commit
fc2fb6ceb7
1 changed files with 0 additions and 82 deletions
|
@ -1362,88 +1362,6 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag
|
|||
mAudioManager.adjustStreamVolume(LINPHONE_VOLUME_STREAM, i < 0 ? AudioManager.ADJUST_LOWER : AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
|
||||
}
|
||||
|
||||
public static Boolean isProximitySensorNearby(final SensorEvent event) {
|
||||
float threshold = 4.001f; // <= 4 cm is near
|
||||
|
||||
final float distanceInCm = event.values[0];
|
||||
final float maxDistance = event.sensor.getMaximumRange();
|
||||
Log.d("Proximity sensor report [",distanceInCm,"] , for max range [",maxDistance,"]");
|
||||
|
||||
if (maxDistance <= threshold) {
|
||||
// Case binary 0/1 and short sensors
|
||||
threshold = maxDistance;
|
||||
}
|
||||
|
||||
return distanceInCm < threshold;
|
||||
}
|
||||
|
||||
private static boolean sLastProximitySensorValueNearby;
|
||||
private static Set<Activity> sProximityDependentActivities = new HashSet<Activity>();
|
||||
private static SensorEventListener sProximitySensorListener = new SensorEventListener() {
|
||||
@Override
|
||||
public void onSensorChanged(SensorEvent event) {
|
||||
if (event.timestamp == 0) return; //just ignoring for nexus 1
|
||||
sLastProximitySensorValueNearby = isProximitySensorNearby(event);
|
||||
proximityNearbyChanged();
|
||||
}
|
||||
@Override
|
||||
public void onAccuracyChanged(Sensor sensor, int accuracy) {}
|
||||
};
|
||||
|
||||
|
||||
private static void simulateProximitySensorNearby(Activity activity, boolean nearby) {
|
||||
final Window window = activity.getWindow();
|
||||
WindowManager.LayoutParams params = window.getAttributes();
|
||||
View view = ((ViewGroup) window.getDecorView().findViewById(android.R.id.content)).getChildAt(0);
|
||||
if (nearby) {
|
||||
params.screenBrightness = 0.1f;
|
||||
view.setVisibility(View.INVISIBLE);
|
||||
activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
|
||||
} else {
|
||||
params.screenBrightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE;
|
||||
view.setVisibility(View.VISIBLE);
|
||||
activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
|
||||
}
|
||||
window.setAttributes(params);
|
||||
}
|
||||
|
||||
private static void proximityNearbyChanged() {
|
||||
boolean nearby = sLastProximitySensorValueNearby;
|
||||
for (Activity activity : sProximityDependentActivities) {
|
||||
simulateProximitySensorNearby(activity, nearby);
|
||||
}
|
||||
}
|
||||
|
||||
public static synchronized void startProximitySensorForActivity(Activity activity) {
|
||||
if (sProximityDependentActivities.contains(activity)) {
|
||||
Log.i("proximity sensor already active for " + activity.getLocalClassName());
|
||||
return;
|
||||
}
|
||||
if (sProximityDependentActivities.isEmpty()) {
|
||||
SensorManager sm = (SensorManager) activity.getSystemService(Context.SENSOR_SERVICE);
|
||||
Sensor s = sm.getDefaultSensor(Sensor.TYPE_PROXIMITY);
|
||||
if (s != null) {
|
||||
sm.registerListener(sProximitySensorListener,s,SensorManager.SENSOR_DELAY_UI);
|
||||
Log.i("Proximity sensor detected, registering");
|
||||
}
|
||||
} else if (sLastProximitySensorValueNearby){
|
||||
simulateProximitySensorNearby(activity, true);
|
||||
}
|
||||
|
||||
sProximityDependentActivities.add(activity);
|
||||
}
|
||||
|
||||
public static synchronized void stopProximitySensorForActivity(Activity activity) {
|
||||
sProximityDependentActivities.remove(activity);
|
||||
simulateProximitySensorNearby(activity, false);
|
||||
if (sProximityDependentActivities.isEmpty()) {
|
||||
SensorManager sm = (SensorManager) activity.getSystemService(Context.SENSOR_SERVICE);
|
||||
sm.unregisterListener(sProximitySensorListener);
|
||||
sLastProximitySensorValueNearby = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static synchronized LinphoneCore getLcIfManagerNotDestroyedOrNull() {
|
||||
if (sExited || instance == null) {
|
||||
// Can occur if the UI thread play a posted event but in the meantime the LinphoneManager was destroyed
|
||||
|
|
Loading…
Reference in a new issue