sanders: MotoActions: Re-add/fix Glance Sensor
This commit is contained in:
@@ -35,7 +35,7 @@ import com.moto.actions.actions.LiftToSilence;
|
|||||||
import com.moto.actions.actions.ProximitySilencer;
|
import com.moto.actions.actions.ProximitySilencer;
|
||||||
|
|
||||||
import com.moto.actions.doze.DozePulseAction;
|
import com.moto.actions.doze.DozePulseAction;
|
||||||
//import com.moto.actions.doze.GlanceSensor;
|
import com.moto.actions.doze.GlanceSensor;
|
||||||
import com.moto.actions.doze.ProximitySensor;
|
import com.moto.actions.doze.ProximitySensor;
|
||||||
import com.moto.actions.doze.ScreenReceiver;
|
import com.moto.actions.doze.ScreenReceiver;
|
||||||
import com.moto.actions.doze.ScreenStateNotifier;
|
import com.moto.actions.doze.ScreenStateNotifier;
|
||||||
@@ -71,7 +71,7 @@ public class MotoActionsService extends IntentService implements ScreenStateNoti
|
|||||||
mScreenStateNotifiers.add(mDozePulseAction);
|
mScreenStateNotifiers.add(mDozePulseAction);
|
||||||
|
|
||||||
// Actionable sensors get screen on/off notifications
|
// Actionable sensors get screen on/off notifications
|
||||||
//mScreenStateNotifiers.add(new GlanceSensor(motoActionsSettings, mSensorHelper, mDozePulseAction));
|
mScreenStateNotifiers.add(new GlanceSensor(motoActionsSettings, mSensorHelper, mDozePulseAction));
|
||||||
mScreenStateNotifiers.add(new ProximitySensor(motoActionsSettings, mSensorHelper, mDozePulseAction));
|
mScreenStateNotifiers.add(new ProximitySensor(motoActionsSettings, mSensorHelper, mDozePulseAction));
|
||||||
mScreenStateNotifiers.add(new StowSensor(motoActionsSettings, mSensorHelper, mDozePulseAction));
|
mScreenStateNotifiers.add(new StowSensor(motoActionsSettings, mSensorHelper, mDozePulseAction));
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ import android.content.Context;
|
|||||||
import android.hardware.Sensor;
|
import android.hardware.Sensor;
|
||||||
import android.hardware.SensorEventListener;
|
import android.hardware.SensorEventListener;
|
||||||
import android.hardware.SensorManager;
|
import android.hardware.SensorManager;
|
||||||
import android.hardware.TriggerEventListener;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
public class SensorHelper {
|
public class SensorHelper {
|
||||||
@@ -37,6 +36,7 @@ public class SensorHelper {
|
|||||||
private static final int SENSOR_TYPE_MMI_FLAT_UP = 65537;
|
private static final int SENSOR_TYPE_MMI_FLAT_UP = 65537;
|
||||||
private static final int SENSOR_TYPE_MMI_FLAT_DOWN = 65538;
|
private static final int SENSOR_TYPE_MMI_FLAT_DOWN = 65538;
|
||||||
private static final int SENSOR_TYPE_MMI_STOW = 65539;
|
private static final int SENSOR_TYPE_MMI_STOW = 65539;
|
||||||
|
private static final int SENSOR_TYPE_MMI_GLANCE = 65548;
|
||||||
|
|
||||||
private static final int BATCH_LATENCY_IN_MS = 100;
|
private static final int BATCH_LATENCY_IN_MS = 100;
|
||||||
|
|
||||||
@@ -81,6 +81,10 @@ public class SensorHelper {
|
|||||||
return mSensorManager.getDefaultSensor(SENSOR_TYPE_MMI_FLAT_DOWN, true);
|
return mSensorManager.getDefaultSensor(SENSOR_TYPE_MMI_FLAT_DOWN, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Sensor getGlanceSensor() {
|
||||||
|
return mSensorManager.getDefaultSensor(SENSOR_TYPE_MMI_GLANCE, true);
|
||||||
|
}
|
||||||
|
|
||||||
public Sensor getProximitySensor() {
|
public Sensor getProximitySensor() {
|
||||||
return mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY, true);
|
return mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY, true);
|
||||||
}
|
}
|
||||||
@@ -99,15 +103,4 @@ public class SensorHelper {
|
|||||||
public void unregisterListener(SensorEventListener listener) {
|
public void unregisterListener(SensorEventListener listener) {
|
||||||
mSensorManager.unregisterListener(listener);
|
mSensorManager.unregisterListener(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TriggerSensor */
|
|
||||||
public void requestTriggerSensor(Sensor sensor, TriggerEventListener listener) {
|
|
||||||
if (!mSensorManager.requestTriggerSensor(listener, sensor)) {
|
|
||||||
throw new RuntimeException("Failed to requestTriggerSensor for sensor " + sensor);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void cancelTriggerSensor(Sensor sensor, TriggerEventListener listener) {
|
|
||||||
mSensorManager.cancelTriggerSensor(listener, sensor);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
76
MotoActions/src/com/moto/actions/doze/GlanceSensor.java
Normal file
76
MotoActions/src/com/moto/actions/doze/GlanceSensor.java
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2017 The LineageOS Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.moto.actions.doze;
|
||||||
|
|
||||||
|
import android.hardware.Sensor;
|
||||||
|
import android.hardware.SensorEvent;
|
||||||
|
import android.hardware.SensorEventListener;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.moto.actions.MotoActionsSettings;
|
||||||
|
import com.moto.actions.SensorAction;
|
||||||
|
import com.moto.actions.SensorHelper;
|
||||||
|
|
||||||
|
public class GlanceSensor implements ScreenStateNotifier {
|
||||||
|
private static final String TAG = "MotoActions-GlanceSensor";
|
||||||
|
|
||||||
|
private final MotoActionsSettings mMotoActionsSettings;
|
||||||
|
private final SensorHelper mSensorHelper;
|
||||||
|
private final SensorAction mSensorAction;
|
||||||
|
private final Sensor mSensor;
|
||||||
|
|
||||||
|
private boolean mEnabled;
|
||||||
|
|
||||||
|
public GlanceSensor(MotoActionsSettings motoActionsSettings, SensorHelper sensorHelper,
|
||||||
|
SensorAction action) {
|
||||||
|
mMotoActionsSettings = motoActionsSettings;
|
||||||
|
mSensorHelper = sensorHelper;
|
||||||
|
mSensorAction = action;
|
||||||
|
|
||||||
|
mSensor = sensorHelper.getGlanceSensor();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void screenTurnedOn() {
|
||||||
|
if (mEnabled) {
|
||||||
|
Log.d(TAG, "Disabling");
|
||||||
|
mSensorHelper.unregisterListener(mGlanceListener);
|
||||||
|
mEnabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void screenTurnedOff() {
|
||||||
|
if (mMotoActionsSettings.isPickUpEnabled() && !mEnabled) {
|
||||||
|
Log.d(TAG, "Enabling");
|
||||||
|
mSensorHelper.registerListener(mSensor, mGlanceListener);
|
||||||
|
mEnabled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private SensorEventListener mGlanceListener = new SensorEventListener() {
|
||||||
|
@Override
|
||||||
|
public void onSensorChanged(SensorEvent event) {
|
||||||
|
Log.d(TAG, "triggered");
|
||||||
|
mSensorAction.action();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAccuracyChanged(Sensor mSensor, int accuracy) {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user