package
com.knspower.watchautoon;
import
android.content.Context;
import
android.hardware.Sensor;
import
android.hardware.SensorEvent;
import
android.hardware.SensorEventListener;
import
android.hardware.SensorManager;
import
android.view.WindowManager;
import
android.widget.TextView;
public
class
SensorWork
extends
WatchAutoOn
implements
SensorEventListener {
private
SensorManager sensorManager;
private
Sensor accelerometer;
private
float
sensorX =
0
;
private
float
sensorY =
0
;
private
float
sensorZ =
0
;
private
TextView currentX, currentY, currentZ;
public
void
sensorCheck(){
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
if
(sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER) !=
null
) {
accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensorManager.registerListener(
this
, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);
}
else
{
}
}
public
void
initializeViews() {
currentX = (TextView) findViewById(R.id.currentX);
currentY = (TextView) findViewById(R.id.currentY);
currentZ = (TextView) findViewById(R.id.currentZ);
}
protected
void
onResume() {
super
.onResume();
sensorManager.registerListener(
this
, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);
}
protected
void
onPause() {
super
.onPause();
sensorManager.unregisterListener(
this
);
}
@Override
public
void
onAccuracyChanged(Sensor sensor,
int
accuracy) {
}
public
void
requestScreenOn(
int
Brightness) {
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON;
params.screenBrightness = Brightness;
getWindow().setAttributes(params);
}
@Override
public
void
onSensorChanged(SensorEvent event) {
displayCleanValues();
displayCurrentValues();
sensorX = event.values[
0
];
sensorY = event.values[
1
];
sensorZ = event.values[
2
];
if
(sensorY >
0
&& sensorY <
4
& sensorZ >
8
) {
requestScreenOn(
100
);
}
else
{
requestScreenOn(
0
);
}
}
public
void
displayCleanValues() {
currentX.setText(
"0.0"
);
currentY.setText(
"0.0"
);
currentZ.setText(
"0.0"
);
}
public
void
displayCurrentValues() {
currentX.setText(Float.toString(sensorX));
currentY.setText(Float.toString(sensorY));
currentZ.setText(Float.toString(sensorZ));
}
}