aboutsummaryrefslogtreecommitdiff
path: root/doze
diff options
context:
space:
mode:
Diffstat (limited to 'doze')
-rw-r--r--doze/src/org/lineageos/settings/doze/ProximitySensor.java19
-rw-r--r--doze/src/org/lineageos/settings/doze/TiltSensor.java22
2 files changed, 35 insertions, 6 deletions
diff --git a/doze/src/org/lineageos/settings/doze/ProximitySensor.java b/doze/src/org/lineageos/settings/doze/ProximitySensor.java
index 45e409d..52b8e75 100644
--- a/doze/src/org/lineageos/settings/doze/ProximitySensor.java
+++ b/doze/src/org/lineageos/settings/doze/ProximitySensor.java
@@ -24,6 +24,10 @@ import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.util.Log;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+
public class ProximitySensor implements SensorEventListener {
private static final boolean DEBUG = false;
@@ -38,6 +42,7 @@ public class ProximitySensor implements SensorEventListener {
private SensorManager mSensorManager;
private Sensor mSensor;
private Context mContext;
+ private ExecutorService mExecutorService;
private boolean mSawNear = false;
private long mInPocketTime = 0;
@@ -46,6 +51,11 @@ public class ProximitySensor implements SensorEventListener {
mContext = context;
mSensorManager = mContext.getSystemService(SensorManager.class);
mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY, false);
+ mExecutorService = Executors.newSingleThreadExecutor();
+ }
+
+ private Future<?> submit(Runnable runnable) {
+ return mExecutorService.submit(runnable);
}
@Override
@@ -81,11 +91,16 @@ public class ProximitySensor implements SensorEventListener {
protected void enable() {
if (DEBUG) Log.d(TAG, "Enabling");
- mSensorManager.registerListener(this, mSensor, SensorManager.SENSOR_DELAY_NORMAL);
+ submit(() -> {
+ mSensorManager.registerListener(this, mSensor,
+ SensorManager.SENSOR_DELAY_NORMAL);
+ });
}
protected void disable() {
if (DEBUG) Log.d(TAG, "Disabling");
- mSensorManager.unregisterListener(this, mSensor);
+ submit(() -> {
+ mSensorManager.unregisterListener(this, mSensor);
+ });
}
}
diff --git a/doze/src/org/lineageos/settings/doze/TiltSensor.java b/doze/src/org/lineageos/settings/doze/TiltSensor.java
index 4127657..6598127 100644
--- a/doze/src/org/lineageos/settings/doze/TiltSensor.java
+++ b/doze/src/org/lineageos/settings/doze/TiltSensor.java
@@ -25,6 +25,10 @@ import android.hardware.SensorManager;
import android.os.SystemClock;
import android.util.Log;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+
public class TiltSensor implements SensorEventListener {
private static final boolean DEBUG = false;
@@ -36,6 +40,7 @@ public class TiltSensor implements SensorEventListener {
private SensorManager mSensorManager;
private Sensor mSensor;
private Context mContext;
+ private ExecutorService mExecutorService;
private long mEntryTimestamp;
@@ -43,6 +48,11 @@ public class TiltSensor implements SensorEventListener {
mContext = context;
mSensorManager = mContext.getSystemService(SensorManager.class);
mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_TILT_DETECTOR);
+ mExecutorService = Executors.newSingleThreadExecutor();
+ }
+
+ private Future<?> submit(Runnable runnable) {
+ return mExecutorService.submit(runnable);
}
@Override
@@ -68,13 +78,17 @@ public class TiltSensor implements SensorEventListener {
protected void enable() {
if (DEBUG) Log.d(TAG, "Enabling");
- mSensorManager.registerListener(this, mSensor,
- SensorManager.SENSOR_DELAY_NORMAL, BATCH_LATENCY_IN_MS * 1000);
- mEntryTimestamp = SystemClock.elapsedRealtime();
+ submit(() -> {
+ mSensorManager.registerListener(this, mSensor,
+ SensorManager.SENSOR_DELAY_NORMAL, BATCH_LATENCY_IN_MS * 1000);
+ mEntryTimestamp = SystemClock.elapsedRealtime();
+ });
}
protected void disable() {
if (DEBUG) Log.d(TAG, "Disabling");
- mSensorManager.unregisterListener(this, mSensor);
+ submit(() -> {
+ mSensorManager.unregisterListener(this, mSensor);
+ });
}
}