package com.joyplus.joylink;
import android.content.res.Configuration;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.view.Display;
import com.wind.s1mobile.common.Protocol.ControlEvent;
import com.wind.s1mobile.common.packet.ControlEventPacket;
import com.wind.s1mobile.common.packet.SensorPacket;
import com.wind.s1mobile.send.Remote;
class ControlGSensor implements SensorEventListener {
private static ControlGSensor instance;
private Display mDisplay;
private Remote mRemote;
public static int mSensorMode;
private int mSensorModeType;
ControlGSensor(Remote mRemote) {
this.mRemote = mRemote;
}
// public static ControlGSensor getInstance() {
// if (instance == null) {
// instance = new ControlGSensor();
// }
// return instance;
// }
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
float mSensorX = 0;
float mSensorY = 0;
mSensorX = sensorEvent.values[0];
mSensorY = sensorEvent.values[1];
if (mSensorMode == Configuration.ORIENTATION_LANDSCAPE) {
if (mSensorModeType == 0) {
sensorEvent.values[0] = -mSensorY;
sensorEvent.values[1] = mSensorX;
} else if (mSensorModeType == 1) {
sensorEvent.values[0] = mSensorX;
sensorEvent.values[1] = mSensorY;
}
} else if (mSensorMode == Configuration.ORIENTATION_PORTRAIT) {
if (mSensorModeType == 0) {
sensorEvent.values[0] = mSensorX;
sensorEvent.values[1] = mSensorY;
} else if (mSensorModeType == 1) {
sensorEvent.values[0] = mSensorY;
sensorEvent.values[1] = -mSensorX;
}
}
SensorPacket sensorPacket = new SensorPacket(sensorEvent.sensor.getType(), sensorEvent.values);
mRemote.queuePacket(new ControlEventPacket(ControlEvent.SENSOR_TYPE, sensorPacket));
}
public void setConfig(Display display, int sensorMode) {
mDisplay = display;
mSensorMode = sensorMode;
}
public int getmSensorModeType() {
return mSensorModeType;
}
public void setmSensorModeType(int sensorModeType) {
System.out.println("setmSensorModeType:" + sensorModeType);
this.mSensorModeType = sensorModeType;
}
}