Java Examples for android.hardware.SensorEventListener

The following java examples will help you to understand the usage of android.hardware.SensorEventListener. These source code samples are taken from different open source projects.

Example 1
Project: RxSensor-master  File: RxSensor.java View source code
@Override
public void call(final Subscriber<? super RxSensorEvent> subscriber) {
    final Sensor sensor = sensorManager.getDefaultSensor(sensorType);
    if (sensor == null) {
        subscriber.onError(new SensorNotFoundException());
    }
    final SensorEventListener sensorEventListener = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            subscriber.onNext(RxSensorEvent.from(event));
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    sensorManager.registerListener(sensorEventListener, sensor, samplingPeriodUs);
    isUnsubscribed = false;
    subscriber.add(new Subscription() {

        @Override
        public void unsubscribe() {
            sensorManager.unregisterListener(sensorEventListener);
            isUnsubscribed = true;
        }

        @Override
        public boolean isUnsubscribed() {
            return isUnsubscribed;
        }
    });
}
Example 2
Project: AndroidLibraryProject-master  File: SensorController.java View source code
/**
	 * To register the Accelerometer Service 
	 */
public final // 1st Sensor
void registerAccelerometerService(// 1st Sensor
SensorEventListener listenerfromMainApp, // 1st Sensor
int sampleRate) throws // 1st Sensor
AccelerometerSensorException {
    accelListener = listenerfromMainApp;
    // Create an object of specific service class to  
    accel = AccelerometerDataListener.getInstance(contextFromActivity);
    if (CAFConfig.isSensorAccelerometer()) {
        try {
            if (enableDebugging)
                Log.d(TAG, "inside registerAccelerometerListner");
            accel.enableAccelerometerListener(accelListener, sampleRate);
        } catch (Exception e) {
            e.printStackTrace();
        }
    } else {
        if (enableDebugging)
            Log.d(TAG, "SENSOR_ACCELEROMETER is false");
        accel.disableAccelerometerListener(accelListener);
    }
}
Example 3
Project: cgeo-master  File: RotationProvider.java View source code
@Override
public void subscribe(final ObservableEmitter<Float> emitter) throws Exception {
    final SensorEventListener listener = new SensorEventListener() {

        private final float[] rotationMatrix = new float[16];

        private final float[] orientation = new float[4];

        private final float[] values = new float[4];

        @Override
        public void onSensorChanged(final SensorEvent event) {
            if (isTruncationNeeded) {
                // Since only the four first elements are used (and accepted), we truncate the vector.
                System.arraycopy(event.values, 0, values, 0, 4);
                SensorManager.getRotationMatrixFromVector(rotationMatrix, values);
            } else {
                try {
                    SensorManager.getRotationMatrixFromVector(rotationMatrix, event.values);
                } catch (final IllegalArgumentException ignored) {
                    Log.d("installing workaround for mismatched number of values in rotation vector");
                    isTruncationNeeded = true;
                    onSensorChanged(event);
                    return;
                }
            }
            SensorManager.getOrientation(rotationMatrix, orientation);
            emitter.onNext((float) (orientation[0] * 180 / Math.PI));
        }

        @Override
        public void onAccuracyChanged(final Sensor sensor, final int accuracy) {
        // empty
        }
    };
    Log.d("RotationProvider: registering listener");
    sensorManager.registerListener(listener, rotationSensor, SensorManager.SENSOR_DELAY_NORMAL);
    emitter.setDisposable(AndroidRxUtils.disposeOnCallbacksScheduler(new Runnable() {

        @Override
        public void run() {
            Log.d("RotationProvider: unregistering listener");
            sensorManager.unregisterListener(listener, rotationSensor);
        }
    }));
}
Example 4
Project: RoboVMAndroidCompat-master  File: SensorManager.java View source code
/**
     * Registers a {@link android.hardware.SensorEventListener
     * SensorEventListener} for the given sensor.
     * 
     * @param listener
     *            A {@link android.hardware.SensorEventListener
     *            SensorEventListener} object.
     * @param sensor
     *            The {@link android.hardware.Sensor Sensor} to register to.
     * @param rate
     *            The rate {@link android.hardware.SensorEvent sensor events}
     *            are delivered at. This is only a hint to the system. Events
     *            may be received faster or slower than the specified rate.
     *            Usually events are received faster. The value must be one of
     *            {@link #SENSOR_DELAY_NORMAL}, {@link #SENSOR_DELAY_UI},
     *            {@link #SENSOR_DELAY_GAME}, or {@link #SENSOR_DELAY_FASTEST}.
     * 
     * @return true if the sensor is supported and successfully enabled.
     * 
     */
public boolean registerListener(SensorEventListener listener, Sensor sensor, int rate) {
    if (sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
        /*
             * We are installing an event listener for the accelerometer. Freeze
             * screen orientation in order to avoid auto-rotating of the screen.
             */
        Application.getApplication().xmlvmFreezeInterfaceOrientation(true);
    }
    return eventListeners.add(new RegisteredEventListener(listener, sensor, rate));
}
Example 5
Project: Android-IMSI-Catcher-Detector-master  File: AccelerometerMonitor.java View source code
/**
     * Set up the accelerometer so that when movement is detected, the GPS is enabled.
     * GPS is normally disabled to save battery power.
     */
// TODO:
// E:V:A  We might need to loop this once and wait a few seconds, to prevent
//        GPS from starting by accidental vibrations.
private void setupAccelerometer(Context context) {
    // set up accelerometer sensor
    mSensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
    mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    mSensorListener = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float x = event.values[0];
            float y = event.values[1];
            float z = event.values[2];
            if (!mInitialized) {
                mInitialized = true;
                mLastX = x;
                mLastY = y;
                mLastZ = z;
            } else {
                float deltaX = Math.abs(mLastX - x);
                float deltaY = Math.abs(mLastY - y);
                float deltaZ = Math.abs(mLastZ - z);
                if (deltaX < ACCELEROMETER_NOISE) {
                    deltaX = 0.0f;
                }
                if (deltaY < ACCELEROMETER_NOISE) {
                    deltaY = 0.0f;
                }
                if (deltaZ < ACCELEROMETER_NOISE) {
                    deltaZ = 0.0f;
                }
                mLastX = x;
                mLastY = y;
                mLastZ = z;
                if (deltaX > 0 || deltaY > 0 || deltaZ > 0) {
                    // movement detected
                    // disable the movement sensor to save power
                    stop();
                    lastMovementTime = System.currentTimeMillis();
                    if (onMovement != null) {
                        Thread runThread = new Thread(onMovement);
                        runThread.start();
                    }
                }
            }
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int i) {
        }
    };
    start();
}
Example 6
Project: MD360Player4Android-master  File: DeviceSensorLooper.java View source code
public void onSensorChanged(SensorEvent event) {
    synchronized (DeviceSensorLooper.this.registeredListeners) {
        Iterator var3 = DeviceSensorLooper.this.registeredListeners.iterator();
        while (var3.hasNext()) {
            SensorEventListener listener = (SensorEventListener) var3.next();
            listener.onSensorChanged(event);
        }
    }
}
Example 7
Project: MobileSensing-master  File: AbstractAndroidSensorDevice.java View source code
/**
   * Getter for the sensor listener
   * 
   * @return the sensor listener
   */
public final SensorEventListener getListener() {
    if (sensorListener == null) {
        setListener(new SensorEventListener() {

            /*
         * (non-Javadoc)
         * 
         * @see
         * android.hardware.SensorEventListener#onSensorChanged(android.hardware
         * .SensorEvent)
         */
            @Override
            public void onSensorChanged(SensorEvent event) {
                try {
                    if (getSensor().equals(event.sensor)) {
                        doHandleSensorChanged(event);
                    }
                } catch (Exception e) {
                    Logger.getInstance().error(this, "Exception in onSensorChanged");
                }
            }

            /*
         * (non-Javadoc)
         * 
         * @see
         * android.hardware.SensorEventListener#onAccuracyChanged(android.hardware
         * .Sensor, int)
         */
            @Override
            public void onAccuracyChanged(Sensor changedSensor, int accuracy) {
                try {
                    if (getSensor().equals(changedSensor)) {
                        doHandleSensorAccuracyChanged(changedSensor, accuracy);
                    }
                } catch (Exception e) {
                    Logger.getInstance().error(this, "Exception in onAccuracyChanged");
                }
            }
        });
    }
    return sensorListener;
}
Example 8
Project: DroidPersianCalendar-master  File: CompassFragment.java View source code
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_compass, container, false);
    Context context = getContext();
    Utils utils = Utils.getInstance(context);
    Coordinate coordinate = utils.getCoordinate();
    if (coordinate == null) {
        utils.setActivityTitleAndSubtitle(getActivity(), getString(R.string.compass), "");
    } else {
        utils.setActivityTitleAndSubtitle(getActivity(), getString(R.string.qibla_compass), utils.getCityName(true));
    }
    compassListener = new SensorEventListener() {

        /*
             * time smoothing constant for low-pass filter 0 ≤ alpha ≤ 1 ; a smaller
             * value basically means more smoothing See:
             * http://en.wikipedia.org/wiki/Low-pass_filter#Discrete-time_realization
             */
        static final float ALPHA = 0.15f;

        float azimuth;

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }

        @Override
        public void onSensorChanged(SensorEvent event) {
            // angle between the magnetic north direction
            // 0=North, 90=East, 180=South, 270=West
            azimuth = lowPass(event.values[0], azimuth);
            compassView.setBearing(azimuth);
            compassView.invalidate();
        }

        /**
             * https://en.wikipedia.org/wiki/Low-pass_filter#Algorithmic_implementation
             * http://developer.android.com/reference/android/hardware/SensorEvent.html#values
             */
        private float lowPass(float input, float output) {
            if (Math.abs(180 - input) > 170) {
                return input;
            }
            return output + ALPHA * (input - output);
        }
    };
    compassView = (QiblaCompassView) view.findViewById(R.id.compass_view);
    DisplayMetrics displayMetrics = new DisplayMetrics();
    getActivity().getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
    int width = displayMetrics.widthPixels;
    int height = displayMetrics.heightPixels;
    compassView.setScreenResolution(width, height - 2 * height / 8);
    if (coordinate != null) {
        compassView.setLongitude(coordinate.getLongitude());
        compassView.setLatitude(coordinate.getLatitude());
        compassView.initCompassView();
        compassView.invalidate();
    }
    sensorManager = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE);
    sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
    if (sensor != null) {
        sensorManager.registerListener(compassListener, sensor, SensorManager.SENSOR_DELAY_FASTEST);
    } else {
        utils.quickToast(getString(R.string.compass_not_found));
    }
    return view;
}
Example 9
Project: funf-core-android-master  File: SensorProbe.java View source code
@Override
protected void onEnable() {
    super.onEnable();
    sensorManager = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE);
    sensor = sensorManager.getDefaultSensor(getSensorType());
    final String[] valueNames = getValueNames();
    sensorListener = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            JsonObject data = new JsonObject();
            data.addProperty(TIMESTAMP, TimeUtil.uptimeNanosToTimestamp(event.timestamp));
            data.addProperty(ACCURACY, event.accuracy);
            int valuesLength = Math.min(event.values.length, valueNames.length);
            for (int i = 0; i < valuesLength; i++) {
                String valueName = valueNames[i];
                data.addProperty(valueName, event.values[i]);
            }
            sendData(data);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
}
Example 10
Project: interactivespaces-master  File: AccelerometerAndroidActivity.java View source code
@Override
public void onActivitySetup() {
    getLog().info("Activity interactivespaces.example.activity.android.accelerometer setup");
    AndroidOsService androidService = getSpaceEnvironment().getServiceRegistry().getService(AndroidOsService.SERVICE_NAME);
    sensorManager = (SensorManager) androidService.getSystemService(Context.SENSOR_SERVICE);
    accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    accelerometerEventListener = new SensorEventListener() {

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // Nothing yet...
        }

        @Override
        public void onSensorChanged(SensorEvent event) {
            onAccelerometerEvent(event);
        }
    };
    sensorManager.registerListener(accelerometerEventListener, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);
}
Example 11
Project: newFunf-master  File: SensorProbe.java View source code
@Override
protected void onEnable() {
    super.onEnable();
    sensorManager = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE);
    sensor = sensorManager.getDefaultSensor(getSensorType());
    final String[] valueNames = getValueNames();
    sensorListener = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            JsonObject data = new JsonObject();
            data.addProperty(TIMESTAMP, TimeUtil.uptimeNanosToTimestamp(event.timestamp));
            data.addProperty(ACCURACY, event.accuracy);
            int valuesLength = Math.min(event.values.length, valueNames.length);
            for (int i = 0; i < valuesLength; i++) {
                String valueName = valueNames[i];
                data.addProperty(valueName, event.values[i]);
            }
            sendData(data);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
}
Example 12
Project: randgen-master  File: CompassSeeder.java View source code
@Override
public void getNewSeed(final Activity myActivity) {
    SensorManager sensMan = (SensorManager) myActivity.getSystemService(Context.SENSOR_SERVICE);
    Sensor myCompass = sensMan.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
    if (// If sensMan returns null
    myCompass == null) {
        Toast.makeText(myActivity, R.string.errNoCompass, Toast.LENGTH_LONG).show();
        return;
    }
    // TODO: Merge into a single class to use have the same iface with
    // accelerometer or create superclass
    dialog = new ProgressDialog(myActivity);
    dialog.setMax(maxSamples);
    dialog.setCancelable(true);
    dialog.setProgress(0);
    dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    dialog.setTitle("Seeding...");
    dialog.setMessage(myActivity.getText(R.string.takeCompassSeed));
    dialog.show();
    // Create Listener!
    SensorEventListener evtLst = new SensorEventListener() {

        private int sampleNo = 0;

        private long generatedSeed = 1;

        @Override
        public void onAccuracyChanged(Sensor arg0, int accuracy) {
            return;
        }

        @Override
        public void onSensorChanged(SensorEvent event) {
            if (sampleNo < maxSamples) {
                if (event.values[0] != 0 && event.values[1] != 0 && event.values[2] != 0) {
                    sampleNo++;
                    dialog.incrementProgressBy(1);
                    float randNum = event.values[0] * event.values[1] / event.values[2] + event.values[2] * (event.timestamp % 13);
                    generatedSeed = (generatedSeed * Float.floatToRawIntBits(randNum)) % (generatedSeed + Float.floatToRawIntBits(randNum));
                }
                ;
            } else {
                if (generatedSeed == 0) {
                    maxSamples += 10;
                    dialog.setMax(maxSamples);
                    return;
                }
                seed = generatedSeed;
                SensorManager sensMan = (SensorManager) myActivity.getSystemService(Context.SENSOR_SERVICE);
                sensMan.unregisterListener(this);
                // Close dialog
                // dialog.dismiss();
                dialog.setMessage("New seed generated!");
                // Update the
                RandGenApp.getRandomGenerator().getSeed();
            // Generator's
            // seed!
            }
        }
    };
    sensMan.registerListener(evtLst, myCompass, SensorManager.SENSOR_DELAY_NORMAL);
}
Example 13
Project: sensors2mqtt-master  File: SensorService.java View source code
/* (non-Javadoc)
	 * @see android.app.Service#onStart(android.content.Intent, int)
	 */
public void onStart(Intent i, int startId) {
    final String hostname = i.getStringExtra(HOSTNAME);
    final String port = i.getStringExtra(PORT);
    final String topicPrefix = i.getStringExtra(TOPIC_EXTRA);
    final String windowSize = i.getStringExtra(WINDOW_SIZE);
    try {
        final String deviceId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);
        final String url = String.format(Locale.getDefault(), "tcp://%s:%s", hostname, port);
        client = new MqttClient(url, deviceId, new MemoryPersistence());
        client.connect();
        final SensorManager sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
        final List<Sensor> sensors = sensorManager.getSensorList(Sensor.TYPE_LIGHT);
        for (Sensor sensor : sensors) {
            final String topic = sensor.getName().replaceAll("\\s+", "");
            final SensorEventListener mySensorEventListener = new MySensorEventListener(client, topicPrefix + topic, Integer.parseInt(windowSize));
            listeners.add(mySensorEventListener);
            sensorManager.registerListener(mySensorEventListener, sensor, SensorManager.SENSOR_DELAY_FASTEST);
        }
    } catch (MqttException e) {
        e.printStackTrace();
        return;
    }
}
Example 14
Project: gesture-recognizer-master  File: GesturesUnlockActivity.java View source code
@Override
protected void onResume() {
    super.onResume();
    if (isEmulator()) {
        mSensorManagerSimulator.registerListener((SensorEventListener) wiigee.getDevice(), mSensorManagerSimulator.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_GAME);
    } else {
        mSensorManager.registerListener((android.hardware.SensorEventListener) wiigee.getDevice(), mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_GAME);
    }
    try {
        wiigee.getDevice().setAccelerationEnabled(true);
    } catch (IOException e) {
        Log.e(getClass().toString(), e.getMessage(), e);
    }
}
Example 15
Project: curso-avanzado-android-master  File: Sensores_ejemplo.java View source code
private void initSensorListener() {
    sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
    List<Sensor> list = sensorManager.getSensorList(Sensor.TYPE_ALL);
    for (Iterator iterator = list.iterator(); iterator.hasNext(); ) {
        Sensor sensor = (Sensor) iterator.next();
        appendDetails(":[" + sensor.getName() + "] V:[" + sensor.getVendor() + "] T:" + sensor.getType());
    }
    listenerACC = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
                // assign directions
                float x = event.values[0];
                float y = event.values[1];
                float z = event.values[2];
                updateTextView("X: " + x, 0);
                updateTextView("Y: " + y, 1);
                updateTextView("Z: " + z, 2);
            }
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
            appendDetails(sensor.getName() + "::" + String.valueOf(accuracy));
        }
    };
    sensorManager.registerListener(listenerACC, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_FASTEST);
    listenerMAG = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) {
                // assign directions
                float x = event.values[0];
                float y = event.values[1];
                float z = event.values[2];
                updateTextView("X: " + x, 3);
                updateTextView("Y: " + y, 4);
                updateTextView("Z: " + z, 5);
            }
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
            appendDetails(sensor.getName() + "::" + String.valueOf(accuracy));
        }
    };
    sensorManager.registerListener(listenerMAG, sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD), SensorManager.SENSOR_DELAY_UI);
    listenerLight = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float x = event.values[0];
            updateTextView("LUX: " + x, 6);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
            appendDetails(sensor.getName() + "::" + String.valueOf(accuracy));
        }
    };
    sensorManager.registerListener(listenerLight, sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT), SensorManager.SENSOR_DELAY_GAME);
    listenerPROX = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float x = event.values[0];
            updateTextView("PROX: " + x, 7);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
            appendDetails(sensor.getName() + "::" + String.valueOf(accuracy));
        }
    };
    sensorManager.registerListener(listenerPROX, sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY), SensorManager.SENSOR_DELAY_GAME);
}
Example 16
Project: funf-v4-master  File: SensorProbe.java View source code
@Override
protected void onEnable() {
    super.onEnable();
    sensorManager = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE);
    sensor = sensorManager.getDefaultSensor(getSensorType());
    final String[] valueNames = getValueNames();
    sensorListener = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            JsonObject data = new JsonObject();
            data.addProperty(TIMESTAMP, TimeUtil.uptimeNanosToTimestamp(event.timestamp));
            data.addProperty(ACCURACY, event.accuracy);
            int valuesLength = Math.min(event.values.length, valueNames.length);
            for (int i = 0; i < valuesLength; i++) {
                String valueName = valueNames[i];
                data.addProperty(valueName, event.values[i]);
            }
            sendData(data);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
}
Example 17
Project: kippen-master  File: MoveActivity.java View source code
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_move);
    Object tmpMan = getSystemService(Context.SENSOR_SERVICE);
    if (tmpMan == null) {
        System.err.println("No sensor services detected on device. It does not make sense to start, I rather quit myself.");
        this.finish();
    }
    sensorMan = (SensorManager) tmpMan;
    // fetch initial time
    lastTime = System.nanoTime();
    accSense = sensorMan.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION);
    accSensorListener = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent se) {
            accVector = Arrays.copyOf(se.values, 4);
            if (gravVector == null || magVector == null) {
                return;
            }
            float[] rotMat = new float[16];
            float[] incMat = new float[16];
            SensorManager.getRotationMatrix(rotMat, incMat, gravVector, magVector);
            float[] invRotMat = new float[16];
            Matrix.invertM(invRotMat, 0, rotMat, 0);
            float[] accWorld = new float[4];
            Matrix.multiplyMV(accWorld, 0, invRotMat, 0, accVector, 0);
            // rounded for nicer output
            float[] tmpAcc = new float[accWorld.length];
            for (int i = 0; i < accWorld.length; i++) {
                tmpAcc[i] = (int) accWorld[i];
            }
            System.out.println("ACC: " + Arrays.toString(tmpAcc));
        // computeAndPrintPosition(accWorld);
        }

        @Override
        public void onAccuracyChanged(Sensor arg0, int arg1) {
        }
    };
    magSense = sensorMan.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
    magSensorListener = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent se) {
            magVector = Arrays.copyOf(se.values, 4);
        //				System.out.println("MAG: " + Arrays.toString(se.values));
        }

        @Override
        public void onAccuracyChanged(Sensor arg0, int arg1) {
        }
    };
    gravSense = sensorMan.getDefaultSensor(Sensor.TYPE_GRAVITY);
    gravSensorListener = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent se) {
            gravVector = Arrays.copyOf(se.values, 4);
        //				System.out.println("GRAV: " + Arrays.toString(se.values));
        }

        @Override
        public void onAccuracyChanged(Sensor arg0, int arg1) {
        }
    };
}
Example 18
Project: landmarker-master  File: DeviceSensorLooper.java View source code
/**
     * This registers two {@link SensorEventListener} and start a Looper.
     */
@Override
public void start() {
    if (isRunning) {
        // The looper is already started nothing needs to be done.
        return;
    }
    sensorEventListener = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            // Pass the event to all the listeners.
            synchronized (registeredListeners) {
                for (SensorEventListener listener : registeredListeners) {
                    listener.onSensorChanged(event);
                }
            }
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
            synchronized (registeredListeners) {
                for (SensorEventListener listener : registeredListeners) {
                    listener.onAccuracyChanged(sensor, accuracy);
                }
            }
        }
    };
    HandlerThread sensorThread = new HandlerThread("sensor") {

        @Override
        protected void onLooperPrepared() {
            Handler handler = new Handler(Looper.myLooper());
            // Initialize the accelerometer.
            Sensor accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
            sensorManager.registerListener(sensorEventListener, accelerometer, SensorManager.SENSOR_DELAY_GAME, handler);
            // Initialize the gyroscope.
            // If it's available, prefer to use the uncalibrated gyroscope sensor.
            // The regular gyroscope sensor is calibrated with a bias offset in the system. As we cannot
            // influence the behavior of this algorithm and it will affect the gyro while moving,
            // it is safer to initialize to the uncalibrated one and handle the gyro bias estimation
            // ourselves in a way which is optimized for our use case.
            Sensor gyroscope = getUncalibratedGyro();
            if (gyroscope == null) {
                Log.i(LOG_TAG, "Uncalibrated gyroscope unavailable, default to regular gyroscope.");
                gyroscope = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
            }
            sensorManager.registerListener(sensorEventListener, gyroscope, SensorManager.SENSOR_DELAY_GAME, handler);
            //init the magnetometer so we can point north properly
            Sensor magnetometer = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
            sensorManager.registerListener(sensorEventListener, magnetometer, SensorManager.SENSOR_DELAY_GAME, handler);
        }
    };
    sensorThread.start();
    // Blocks till looper is ready.
    sensorLooper = sensorThread.getLooper();
    isRunning = true;
}
Example 19
Project: ReactiveSensors-master  File: ReactiveSensors.java View source code
@Override
public void call(final Subscriber<? super ReactiveSensorEvent> subscriber) {
    final SensorEventListener listener = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent sensorEvent) {
            ReactiveSensorEvent event = new ReactiveSensorEvent(sensorEvent);
            subscriber.onNext(event);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
            ReactiveSensorEvent event = new ReactiveSensorEvent(sensor, accuracy);
            subscriber.onNext(event);
        }
    };
    if (null == handler) {
        sensorManager.registerListener(listener, sensor, samplingPeriodInUs);
    } else {
        sensorManager.registerListener(listener, sensor, samplingPeriodInUs, handler);
    }
    subscriber.add(unsubscribeInUiThread(new Action0() {

        @Override
        public void call() {
            sensorManager.unregisterListener(listener);
        }
    }));
}
Example 20
Project: Sensorcon-SensorDrone-master  File: SensorRealDeviceActivity.java View source code
private void initListeners() {
    mEventListenerAccelerometer = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextView1.setText("Accelerometer: " + values[0] + ", " + values[1] + ", " + values[2]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerMagneticField = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextView2.setText("Compass: " + values[0] + ", " + values[1] + ", " + values[2]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerOrientation = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextView3.setText("Orientation: " + values[0] + ", " + values[1] + ", " + values[2]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerTemperature = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextView4.setText("Temperature: " + values[0] + ", " + values[1] + ", " + values[2]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerLight = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextView5.setText("Light: " + values[0]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
}
Example 21
Project: sensors-master  File: SensorRealDeviceActivity.java View source code
private void initListeners() {
    mEventListenerAccelerometer = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewAccelerometer.setText("Accelerometer: " + values[0] + ", " + values[1] + ", " + values[2]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerLinearAcceleration = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewLinearAcceleration.setText("Linear Acceleration: " + values[0] + ", " + values[1] + ", " + values[2]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerGravity = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewGravity.setText("Gravity: " + values[0] + ", " + values[1] + ", " + values[2]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerMagneticField = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewMagneticField.setText("Compass: " + values[0] + ", " + values[1] + ", " + values[2]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerOrientation = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewOrientation.setText("Orientation: " + values[0] + ", " + values[1] + ", " + values[2]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerTemperature = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewTemperature.setText("Temperature: " + values[0]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerLight = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewLight.setText("Light: " + values[0]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerPressure = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewPressure.setText("Pressure: " + values[0]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerRotationVector = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewRotationVector.setText("RotationVector: " + values[0] + ", " + values[1] + ", " + values[2]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
}
Example 22
Project: sensorsimulator-master  File: SensorRealDeviceActivity.java View source code
private void initListeners() {
    mEventListenerAccelerometer = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewAccelerometer.setText("Accelerometer: " + values[0] + ", " + values[1] + ", " + values[2]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerLinearAcceleration = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewLinearAcceleration.setText("Linear Acceleration: " + values[0] + ", " + values[1] + ", " + values[2]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerGravity = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewGravity.setText("Gravity: " + values[0] + ", " + values[1] + ", " + values[2]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerMagneticField = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewMagneticField.setText("Compass: " + values[0] + ", " + values[1] + ", " + values[2]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerOrientation = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewOrientation.setText("Orientation: " + values[0] + ", " + values[1] + ", " + values[2]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerTemperature = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewTemperature.setText("Temperature: " + values[0]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerLight = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewLight.setText("Light: " + values[0]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerPressure = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewPressure.setText("Pressure: " + values[0]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    mEventListenerRotationVector = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            mTextViewRotationVector.setText("RotationVector: " + values[0] + ", " + values[1] + ", " + values[2]);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
}
Example 23
Project: webinos-android-master  File: SensorImpl.java View source code
@Override
public synchronized void start(final SensorCB cb) {
    if (cb == null) {
        return;
    }
    if (sensorListener == null) {
        sensorListener = new SensorEventListener() {

            @Override
            public void onAccuracyChanged(android.hardware.Sensor sensor, int accuracy) {
            }

            @Override
            public void onSensorChanged(android.hardware.SensorEvent event) {
                cb.onSensorEvent(getSensorEvent(event));
            }
        };
        sensorManager.getAndroidSensorManager().registerListener(sensorListener, sensor, rate);
    }
}
Example 24
Project: xmlvm.svn-master  File: AndroidFireworks.java View source code
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    updateFw = new Runnable() {

        public void run() {
            fireworks.doUpdate();
            updater.postDelayed(updateFw, Const.UPDATE_DELAY);
            layout.invalidate();
        }
    };
    // No title bar.
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    // Switch to fullscreen view, getting rid of the status bar as well.
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    layout = new ViewGroup(this) {

        @Override
        protected void onLayout(boolean changed, int l, int t, int r, int b) {
        // Nothing to be done.
        }
    };
    setContentView(layout);
    SensorManager sensorManager = (SensorManager) this.getSystemService(SENSOR_SERVICE);
    // Register the accelerometer listener.
    sensorManager.registerListener(new SensorEventListener() {

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // Do nothing.
        }

        @Override
        public void onSensorChanged(SensorEvent event) {
            environment.rotX = event.values[0];
            environment.rotY = event.values[1];
        }
    }, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_FASTEST);
    // Register the touch listener.
    layout.setOnTouchListener(new OnTouchListener() {

        private final int touchMod = 3;

        private int touchCount = 0;

        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN) {
                touchCount = 0;
            }
            if (touchCount == 0) {
                fireworks.touchExplode((int) event.getX(), (int) event.getY());
            }
            touchCount = (touchCount + 1) % touchMod;
            return true;
        }
    });
    fireworks = new Fireworks(layout, environment);
    updater.postDelayed(updateFw, 100);
}
Example 25
Project: androidmlapi-master  File: SensorProbe.java View source code
@Override
protected void onEnable() {
    handler = new Handler();
    sensor = getSensorManager().getDefaultSensor(getSensorType());
    recentEvents = new LinkedBlockingQueue<SensorEventCopy>();
    sensorListener = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            // TODO: the same event objects are reused
            recentEvents.offer(new SensorEventCopy(event));
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
}
Example 26
Project: Catroid-master  File: SensorHandler.java View source code
public static void startSensorListener(Context context) {
    if (instance == null) {
        instance = new SensorHandler(context);
    }
    instance.sensorManager.unregisterListener((SensorEventListener) instance);
    instance.sensorManager.unregisterListener((SensorCustomEventListener) instance);
    instance.locationManager.removeUpdates(instance);
    instance.locationManager.removeGpsStatusListener(instance);
    instance.registerListener(instance);
    instance.sensorManager.registerListener(instance, Sensors.LOUDNESS);
    FaceDetectionHandler.registerOnFaceDetectedListener(instance);
    FaceDetectionHandler.registerOnFaceDetectionStatusListener(instance);
    instance.locationManager.addGpsStatusListener(instance);
    if (gpsSensorAvailable()) {
        instance.locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, instance);
    }
    if (networkGpsAvailable()) {
        instance.locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, instance);
    }
}
Example 27
Project: DeviceConnect-Android-master  File: HostDeviceOrientationProfile.java View source code
/**
     * Device Orientation�データを�得�る.
     * @param response データを格��るレス�ンス
     * @return true�場����座�値を返��る�false�場���返���
     */
private boolean getDeviceOrientationEvent(final Intent response) {
    long t = System.currentTimeMillis() - mAccelLastTime;
    if (t > DEVICE_ORIENTATION_CACHE_TIME) {
        List<Sensor> sensors;
        final SensorEventListener l = new SensorEventListener() {

            @Override
            public void onSensorChanged(final SensorEvent event) {
                processSensorData(event);
                if (mIsAccellReady.get() && mIsGravityReady.get() && mIsGyroReady.get()) {
                    mAccelLastTime = System.currentTimeMillis();
                    Bundle orientation = createOrientation();
                    setResult(response, DConnectMessage.RESULT_OK);
                    setOrientation(response, orientation);
                    HostDeviceService service = (HostDeviceService) getContext();
                    service.sendResponse(response);
                    if (isEmptyEventList()) {
                        mSensorManager.unregisterListener(this);
                    }
                }
            }

            @Override
            public void onAccuracyChanged(final Sensor sensor, final int accuracy) {
            // No operation
            }
        };
        mSensorManager = getSensorManager();
        sensors = mSensorManager.getSensorList(Sensor.TYPE_ACCELEROMETER);
        if (sensors.size() > 0) {
            Sensor sensor = sensors.get(0);
            mSensorManager.registerListener(l, sensor, SensorManager.SENSOR_DELAY_NORMAL);
        } else {
            MessageUtils.setNotSupportAttributeError(response);
            return true;
        }
        sensors = mSensorManager.getSensorList(Sensor.TYPE_GRAVITY);
        if (sensors.size() > 0) {
            Sensor sensor = sensors.get(0);
            mSensorManager.registerListener(l, sensor, SensorManager.SENSOR_DELAY_NORMAL);
        } else {
            MessageUtils.setNotSupportAttributeError(response);
            return true;
        }
        sensors = mSensorManager.getSensorList(Sensor.TYPE_GYROSCOPE);
        if (sensors.size() > 0) {
            Sensor sensor = sensors.get(0);
            mSensorManager.registerListener(l, sensor, SensorManager.SENSOR_DELAY_NORMAL);
        } else {
            MessageUtils.setNotSupportAttributeError(response);
            return true;
        }
        invalidateLatestData();
        return false;
    } else {
        Bundle orientation = createOrientation();
        setResult(response, DConnectMessage.RESULT_OK);
        setOrientation(response, orientation);
        return true;
    }
}
Example 28
Project: funf-v3-master  File: SensorProbe.java View source code
@Override
protected void onEnable() {
    handler = new Handler();
    sensor = getSensorManager().getDefaultSensor(getSensorType());
    recentEvents = new LinkedBlockingQueue<SensorEventCopy>();
    sensorListener = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            // TODO: the same event objects are reused
            recentEvents.offer(new SensorEventCopy(event));
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
}
Example 29
Project: jukefox-master  File: AndroidContextProvider.java View source code
private void registerAccelerometerOnly() {
    accelerationListener = new SensorEventListener() {

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }

        @Override
        public void onSensorChanged(SensorEvent event) {
            accelerationDataHandler.onNewEvent(event);
        }
    };
    accelerationSensor = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    if (accelerationSensor != null) {
        sm.registerListener(accelerationListener, accelerationSensor, SensorManager.SENSOR_DELAY_GAME);
    }
}
Example 30
Project: life-master  File: SensorManagerActivity.java View source code
/**
     * Initialize the Activity data
     */
@Override
protected void initData() {
    // 获�传感器管�器
    SensorManager sensorManager = (SensorManager) this.getSystemService(Context.SENSOR_SERVICE);
    // 获�默认加速度传感器
    Sensor linear = sensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION);
    /**
         * 传感器监�
         * SensorEvent.values[0] = x
         * SensorEvent.values[1] = y
         * SensorEvent.values[2] = z
         */
    SensorEventListener listener = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            String info = "";
            for (int i = 0; i < event.values.length; i++) {
                info += "event.values[" + i + "]:" + event.values[i] + "\t";
            }
            Log.i("SensorManagerActivity", info);
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    // 给对应传感器添加监�
    sensorManager.registerListener(listener, linear, SensorManager.SENSOR_DELAY_NORMAL);
    // 获得全部的传感器列表
    List<Sensor> sensors = sensorManager.getSensorList(Sensor.TYPE_ALL);
    this.sensorManagerTV.setText(sensors.size() + "");
    for (Sensor sensor : sensors) {
        TextView title = new TextView(this);
        title.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
        title.setTextSize(15);
        title.setTextColor(this.getResources().getColor(R.color.themeColor));
        switch(sensor.getType()) {
            case Sensor.TYPE_ACCELEROMETER:
                {
                    title.setText("1.加速度传感器" + "(" + sensor.getName() + ")");
                    this.addInfoView(sensor, title);
                    break;
                }
            case Sensor.TYPE_MAGNETIC_FIELD:
                {
                    title.setText("2.�力传感器" + "(" + sensor.getName() + ")");
                    this.addInfoView(sensor, title);
                    break;
                }
            case Sensor.TYPE_ORIENTATION:
                {
                    title.setText("3.方�传感器" + "(" + sensor.getName() + ")");
                    this.addInfoView(sensor, title);
                    break;
                }
            case Sensor.TYPE_GYROSCOPE:
                {
                    title.setText("4.陀螺仪传感器" + "(" + sensor.getName() + ")");
                    this.addInfoView(sensor, title);
                    break;
                }
            case Sensor.TYPE_LIGHT:
                {
                    title.setText("5.光线感应传感器" + "(" + sensor.getName() + ")");
                    this.addInfoView(sensor, title);
                    break;
                }
            case Sensor.TYPE_PRESSURE:
                {
                    title.setText("6.压力传感器" + "(" + sensor.getName() + ")");
                    this.addInfoView(sensor, title);
                    break;
                }
            case Sensor.TYPE_TEMPERATURE:
                {
                    title.setText("7.温度传感器" + "(" + sensor.getName() + ")");
                    this.addInfoView(sensor, title);
                    break;
                }
            case Sensor.TYPE_PROXIMITY:
                {
                    title.setText("8.�离传感器" + "(" + sensor.getName() + ")");
                    this.addInfoView(sensor, title);
                    break;
                }
            case Sensor.TYPE_GRAVITY:
                {
                    title.setText("9.�力传感器" + "(" + sensor.getName() + ")");
                    this.addInfoView(sensor, title);
                    break;
                }
            case Sensor.TYPE_LINEAR_ACCELERATION:
                {
                    title.setText("10.线性加速度传感器" + "(" + sensor.getName() + ")");
                    this.addInfoView(sensor, title);
                    break;
                }
            case Sensor.TYPE_ROTATION_VECTOR:
                {
                    title.setText("11.旋转矢�传感器" + "(" + sensor.getName() + ")");
                    this.addInfoView(sensor, title);
                    break;
                }
        }
    }
}
Example 31
Project: NotificationPeekPort-master  File: SensorActivityHandler.java View source code
private void initGyroscopeSensor() {
    // get gyroscope sensor for on-table detection
    if (mUseGyroSensor) {
        mGyroscopeSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
    }
    if (mGyroscopeSensor != null) {
        mGyroscopeEventListener = new SensorEventListener() {

            @Override
            public void onAccuracyChanged(Sensor sensor, int accuracy) {
            }

            @Override
            public void onSensorChanged(SensorEvent event) {
                float x = event.values[0];
                float y = event.values[1];
                float z = event.values[1];
                boolean storeValues = false;
                if (mHasInitialValues) {
                    float dX = Math.abs(mLastX - x);
                    float dY = Math.abs(mLastY - y);
                    float dZ = Math.abs(mLastZ - z);
                    if (dX >= NOISE_THRESHOLD || dY >= NOISE_THRESHOLD || dZ >= NOISE_THRESHOLD) {
                        if (mWaitingForMovement) {
                            if (NotificationPeek.DEBUG) {
                                Log.d(TAG, "On table: false");
                            }
                            mOnTable = false;
                            // as mOnTable to synchronize status.
                            if (!mUseProxLightSensor) {
                                mInPocket = mOnTable;
                            }
                            mCallback.onTableModeChanged(mOnTable);
                            registerEventListeners();
                            mWaitingForMovement = false;
                            mSensorIncrement = 0;
                        }
                        storeValues = true;
                    } else {
                        if (mSensorIncrement < INCREMENTS_TO_DISABLE) {
                            mSensorIncrement++;
                            if (mSensorIncrement == INCREMENTS_TO_DISABLE) {
                                unregisterProximityLightEvent();
                                if (NotificationPeek.DEBUG) {
                                    Log.d(TAG, "On table: true");
                                }
                                mOnTable = true;
                                if (!mUseProxLightSensor) {
                                    mInPocket = mOnTable;
                                }
                                mCallback.onTableModeChanged(mOnTable);
                                mWaitingForMovement = true;
                            }
                        }
                    }
                }
                if (!mHasInitialValues || storeValues) {
                    mHasInitialValues = true;
                    mLastX = x;
                    mLastY = y;
                    mLastZ = z;
                }
            }
        };
    } else {
    // no accelerometer? time to buy a nexus
    }
}
Example 32
Project: android-microduino-master  File: DeviceControlActivity.java View source code
@Override
public void onCreate(Bundle savedInstanceState) {
    setContentView(R.layout.activity_main);
    super.onCreate(savedInstanceState);
    // Initializing the gravity vector to zero.
    gravity = new float[3];
    gravity[0] = 0;
    gravity[1] = 0;
    gravity[2] = 0;
    xView = (TextView) findViewById(R.id.x);
    yView = (TextView) findViewById(R.id.y);
    zView = (TextView) findViewById(R.id.z);
    vView = (TextView) findViewById(R.id.v);
    hView = (TextView) findViewById(R.id.h);
    lrView = (TextView) findViewById(R.id.lr);
    fbView = (TextView) findViewById(R.id.fb);
    // Initializing the accelerometer stuff
    // Register this as SensorEventListener
    mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
    mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_GAME);
    powerBar = (VerticalSeekBar) findViewById(R.id.powerBar);
    powerBar.setProgress(0);
    powerBar.setMax(CHANNEL_RANGE);
    powerBar.setEnabled(false);
    rotateLeft = (ImageButton) findViewById(R.id.rotateLeft);
    rotateRight = (ImageButton) findViewById(R.id.rotateRight);
    rotateLeft.setEnabled(false);
    rotateRight.setEnabled(false);
    powerBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            if (isDriving) {
                if (progress < 0)
                    progress = 0;
                if (progress > CHANNEL_RANGE)
                    progress = CHANNEL_RANGE;
                power = CHANNEL_LOW + progress;
                JoypadCommand.changeChannel(JoypadCommand.POWER, power);
                updateUIPower(power);
            }
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
        // ignore
        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
        // ignore
        }
    });
    rotateLeft.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (isDriving) {
                if (event.getAction() == MotionEvent.ACTION_DOWN) {
                    rotate = ROTATE_LEFT;
                } else if (event.getAction() == MotionEvent.ACTION_UP) {
                    rotate = ROTATE_MIDDLE;
                }
                JoypadCommand.changeChannel(JoypadCommand.ROTATE, rotate);
                updateUIRotate(rotate);
            }
            return false;
        }
    });
    rotateRight.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (isDriving) {
                if (event.getAction() == MotionEvent.ACTION_DOWN) {
                    rotate = ROTATE_RIGHT;
                } else if (event.getAction() == MotionEvent.ACTION_UP) {
                    rotate = ROTATE_MIDDLE;
                }
                JoypadCommand.changeChannel(JoypadCommand.ROTATE, rotate);
                updateUIRotate(rotate);
            }
            return false;
        }
    });
    unlockButton = (ToggleButton) findViewById(R.id.toggleButton);
    unlockButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (unlockButton.isChecked()) {
                powerBar.setEnabled(true);
                rotateLeft.setEnabled(true);
                rotateRight.setEnabled(true);
                power = 1150;
                powerBar.setProgress(power - CHANNEL_LOW);
                updateUIPower(power);
                UnlockTask task = new UnlockTask();
                task.execute();
                unlockButton.setBackgroundColor(Color.GREEN);
            } else {
                // Slow Down
                MinusPowerTask task = new MinusPowerTask();
                task.execute();
                power = 1000;
                powerBar.setProgress(0);
                updateUIPower(power);
                powerBar.setEnabled(false);
                rotateLeft.setEnabled(false);
                rotateRight.setEnabled(false);
                unlockButton.setBackgroundColor(Color.RED);
            }
        }
    });
    // Getting a WakeLock. This insures that the phone does not sleep
    // while driving the robot.
    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "My Tag");
    wl.acquire();
    Intent gattServiceIntent = new Intent(this, BluetoothLeService.class);
    bindService(gattServiceIntent, mServiceConnection, BIND_AUTO_CREATE);
    registerReceiver(mGattUpdateReceiver, makeGattUpdateIntentFilter());
    if (mBluetoothLeService != null) {
        final boolean result = mBluetoothLeService.connect(currDeviceAddress);
        Log.d(TAG, "Connect request result=" + result);
    }
}
Example 33
Project: Austeer-master  File: Logging.java View source code
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_logging);
    storageTextView = (TextView) findViewById(R.id.storageTextView);
    String state = Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state)) {
        storageTextView.setText(getString(R.string.storage_writable));
        envpath = Environment.getExternalStoragePublicDirectory(filepath);
        outputFile = new File(envpath, filename);
        envpath.mkdirs();
        try {
            fw = new FileWriter(outputFile);
        } catch (IOException e) {
            storageTextView.setText(getString(R.string.storage_problem));
        }
    } else {
        storageTextView.setText(getString(R.string.storage_not_writable));
    }
    final DecimalFormat df = new DecimalFormat("#.####");
    df.setRoundingMode(RoundingMode.CEILING);
    final DecimalFormat df2 = new DecimalFormat("#.#");
    df2.setRoundingMode(RoundingMode.CEILING);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    timerTextView = (TextView) findViewById(R.id.timerTextView);
    locationTextView = (TextView) findViewById(R.id.locationTextView);
    speedTextView = (TextView) findViewById(R.id.speedTextView);
    steeringTextView = (TextView) findViewById(R.id.steeringTextView);
    locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
    li = new LocationListener() {

        public void onLocationChanged(Location location) {
            // Called when a new location is found by the network location provider.
            Double newLat = location.getLatitude();
            Double newLng = location.getLongitude();
            Double newAlt = location.getAltitude();
            Long newTime = location.getTime();
            altitudeString = Double.toString(newAlt);
            Float accuracy = location.getAccuracy();
            // Altitude too inaccurate so just use the same altitude for calculating speed,
            // you're not moving that fast unless you fall off a cliff
            locString = df.format(newLat) + ", " + df.format(newLng);
            Log.v(TAG, "LOCATION CHANGE, lat=" + df.format(newLat) + ", lon=" + df.format(newLng) + "(Accuracy: " + accuracy + ")");
            // on first run set location and start timer
            if (lastLat == null) {
                startTime = System.currentTimeMillis();
                timerHandler.postDelayed(timerRunnable, 0);
                speedString = "0";
                lastLat = newLat;
                lastLng = newLng;
                lastAlt = newAlt;
                lastTime = newTime;
            } else {
                Double dist = distance(lastLat, newLat, lastLng, newLng, newAlt, newAlt);
                Log.v(TAG, "DISTANCE = " + dist);
                float timediff = (newTime - lastTime) / 1000;
                if (timediff == 0) {
                    // do nothing because distance is less than accuracy
                    // or measurement too quick
                    Log.v(TAG, "SPEED UNCHANGED");
                } else {
                    Double speed = Math.abs(dist) / timediff;
                    // Average speed from last five position results
                    speedlist.add(speed);
                    if (speedlist.size() > 5) {
                        speedlist.remove(0);
                        Double averagespeed = averageSpeed(speedlist);
                        if (averagespeed < 0.5) {
                            averagespeed = 0.0;
                        }
                        speedString = df2.format(Math.abs(averagespeed));
                        Log.v(TAG, "SPEEDS = " + speedlist.toString());
                        Log.v(TAG, "ALTITUDE = " + altitudeString);
                    }
                    // only update speeds if dist/time is changed
                    lastLat = newLat;
                    lastLng = newLng;
                    lastAlt = newAlt;
                    lastTime = newTime;
                }
            }
        }

        public void onStatusChanged(String provider, int status, Bundle extras) {
        }

        public void onProviderEnabled(String provider) {
        }

        public void onProviderDisabled(String provider) {
        }
    };
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        new AlertDialog.Builder(this).setTitle("Permissions Needed").setMessage("You need to give Austeer permission to use your location.").setNeutralButton(android.R.string.ok, new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {
            // do nothing
            }
        }).setIcon(android.R.drawable.ic_dialog_alert).show();
    }
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, li);
    locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, li);
    sMgr = (SensorManager) getSystemService(SENSOR_SERVICE);
    gyro = sMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    // With Accelerometer, flat on a table is X-0, Y-0, Z-10
    // Held flat upward in portrait mode, X-0, y-10, Z-0
    // Held flat upward in landscape: X-10, Y-0, Z-0
    // Steering mode fixed to steering wheel landscape: Just use Y-value
    sev = new SensorEventListener() {

        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }

        public void onSensorChanged(SensorEvent event) {
            float axisX = event.values[0];
            float axisY = event.values[1];
            float axisZ = event.values[2];
            // Trying to remove negative zero but doing it wrong.
            //                if (1 / axisY > 0) { } else { axisY = Math.abs(axisY); }
            steerStringX = Float.toString(Math.round(axisX * 10) / 10);
            steerStringY = String.format("%.2f", axisY / 10);
            steerStringZ = Float.toString(Math.round(axisZ * 10) / 10);
        }
    };
    sMgr.registerListener(sev, gyro, SensorManager.SENSOR_DELAY_FASTEST);
}
Example 34
Project: cg_starter-master  File: CarMonitor.java View source code
@Override
public void onReceive(final Context context, Intent intent) {
    if (intent == null)
        return;
    String action = intent.getAction();
    if (action == null)
        return;
    if ((Build.VERSION.SDK_INT > Build.VERSION_CODES.FROYO) && action.equals(UiModeManager.ACTION_ENTER_CAR_MODE)) {
        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
        if (preferences.getBoolean(State.CAR_MODE, false)) {
            setCarMode(context, true);
            abortBroadcast();
        }
    }
    if (action.equals(Intent.ACTION_DOCK_EVENT)) {
        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
        if (preferences.getBoolean(State.CAR_MODE, false)) {
            int dockState = intent.getIntExtra(Intent.EXTRA_DOCK_STATE, -1);
            setCarMode(context, (dockState == Intent.EXTRA_DOCK_STATE_CAR));
            abortBroadcast();
        }
    }
    if (action.equals("android.provider.Telephony.SMS_RECEIVED")) {
        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
        if (!preferences.getBoolean(State.SHOW_SMS, false))
            return;
        Object[] pduArray = (Object[]) intent.getExtras().get("pdus");
        SmsMessage[] messages = new SmsMessage[pduArray.length];
        for (int i = 0; i < pduArray.length; i++) {
            messages[i] = SmsMessage.createFromPdu((byte[]) pduArray[i]);
        }
        final String sms_from = messages[0].getOriginatingAddress();
        StringBuilder bodyText = new StringBuilder();
        for (SmsMessage m : messages) {
            bodyText.append(m.getMessageBody());
        }
        try {
            final String body = bodyText.toString();
            Pattern pattern = Pattern.compile("([0-9]{1,2}\\.[0-9]{4,7})[^0-9]+([0-9]{1,2}\\.[0-9]{4,7})");
            Matcher matcher = pattern.matcher(body);
            if (!matcher.find())
                return;
            Intent i = new Intent(context, SmsDialog.class);
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            i.putExtra(State.LATITUDE, matcher.group(1));
            i.putExtra(State.LONGITUDE, matcher.group(2));
            i.putExtra(State.INFO, sms_from);
            i.putExtra(State.TEXT, body);
            context.startActivity(i);
        } catch (Exception ex) {
        }
    }
    if (action.equals(Intent.ACTION_POWER_CONNECTED)) {
        if (power_kill_timer != null) {
            power_kill_timer.cancel();
            power_kill_timer = null;
        }
        if (!OnExitService.is_run && (power_timer == null)) {
            final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
            String interval = preferences.getString(State.POWER_TIME, "");
            if (State.inInterval(interval)) {
                orientation = null;
                if (preferences.getBoolean(State.VERTICAL, true)) {
                    if (sensorEventListener == null) {
                        sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
                        if (sensorAccelerometer == null)
                            sensorAccelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
                        if (sensorMagnetic == null)
                            sensorMagnetic = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
                        if (sensorEventListener == null) {
                            sensorEventListener = new SensorEventListener() {

                                @Override
                                public void onSensorChanged(SensorEvent event) {
                                    if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD)
                                        magnetic = event.values;
                                    if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
                                        gravity = event.values;
                                    if ((gravity == null) || (magnetic == null))
                                        return;
                                    float[] R = new float[9];
                                    float[] I = new float[9];
                                    if (!SensorManager.getRotationMatrix(R, I, gravity, magnetic))
                                        return;
                                    if (orientation == null)
                                        orientation = new float[3];
                                    SensorManager.getOrientation(R, orientation);
                                }

                                @Override
                                public void onAccuracyChanged(Sensor sensor, int accuracy) {
                                }
                            };
                            sensorManager.registerListener(sensorEventListener, sensorAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
                            sensorManager.registerListener(sensorEventListener, sensorMagnetic, SensorManager.SENSOR_DELAY_NORMAL);
                        }
                    }
                }
                power_timer = new CountDownTimer(10000, 2000) {

                    @Override
                    public void onTick(long millisUntilFinished) {
                        if (preferences.getBoolean(State.VERTICAL, true)) {
                            if (orientation == null)
                                return;
                            if ((Math.abs(orientation[1]) + Math.abs(orientation[2])) < 1) {
                                if (sensorEventListener != null) {
                                    sensorManager.unregisterListener(sensorEventListener);
                                    sensorEventListener = null;
                                }
                                orientation = null;
                                if (power_timer != null)
                                    power_timer.cancel();
                                power_timer = null;
                                return;
                            }
                            orientation = null;
                        }
                        if (sensorEventListener != null) {
                            sensorManager.unregisterListener(sensorEventListener);
                            sensorEventListener = null;
                        }
                        if (power_timer != null)
                            power_timer.cancel();
                        power_timer = null;
                        context.sendBroadcast(new Intent("com.smartmadsoft.xposed.nolockhome.UNLOCK"));
                        if (!OnExitService.isRunCG(context)) {
                            Intent run = new Intent(context, MainActivity.class);
                            run.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                            context.startActivity(run);
                        }
                    }

                    @Override
                    public void onFinish() {
                        if (sensorEventListener != null) {
                            sensorManager.unregisterListener(sensorEventListener);
                            sensorEventListener = null;
                        }
                        orientation = null;
                    }
                };
                power_timer.start();
            }
        }
    }
    if (action.equals(Intent.ACTION_POWER_DISCONNECTED)) {
        if (power_timer != null) {
            power_timer.cancel();
            power_timer = null;
        }
        if (power_kill_timer != null) {
            power_kill_timer.cancel();
            power_kill_timer = null;
        }
        if (OnExitService.is_run) {
            SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
            if (preferences.getBoolean(State.KILL_POWER, false)) {
                power_kill_timer = new CountDownTimer(3000, 3000) {

                    @Override
                    public void onTick(long millisUntilFinished) {
                    }

                    @Override
                    public void onFinish() {
                        State.appendLog("Exit on power");
                        power_kill_timer = null;
                        OnExitService.force_exit = true;
                        killCG(context);
                        lockDevice(context);
                    }
                };
                power_kill_timer.start();
            }
        }
    }
    if (action.equals(BluetoothDevice.ACTION_ACL_CONNECTED)) {
        BluetoothDevice device = (BluetoothDevice) intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
        String devices = preferences.getString(State.BT_DEVICES, "");
        if (!devices.equals(""))
            devices += ";";
        devices += device.getAddress();
        State.appendLog("ACL: " + devices);
        SharedPreferences.Editor ed = preferences.edit();
        ed.putString(State.BT_DEVICES, devices);
        ed.commit();
        if (bt_kill_timer != null) {
            bt_kill_timer.cancel();
            bt_kill_timer = null;
        }
    }
    if (action.equals(BluetoothDevice.ACTION_ACL_DISCONNECTED)) {
        BluetoothDevice device = (BluetoothDevice) intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
        State.appendLog("-ACL: " + device.getAddress());
        OnExitService.turnOffBT(context, device.getAddress());
        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
        if (preferences.getBoolean(State.KILL_BT, false) && preferences.getString(State.BT_DEVICES, "").equals("-")) {
            State.appendLog("Exit on BT");
            if (bt_kill_timer == null) {
                bt_kill_timer = new CountDownTimer(3000, 3000) {

                    @Override
                    public void onTick(long l) {
                    }

                    @Override
                    public void onFinish() {
                        State.appendLog("Exit on BT timer");
                        bt_kill_timer = null;
                        OnExitService.force_exit = true;
                        killCG(context);
                        lockDevice(context);
                    }
                };
                bt_kill_timer.start();
            }
        }
    }
    if (action.equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
        OnExitService.call_number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
        Pattern pattern = Pattern.compile("([0-9]{1,2}\\.[0-9]{4,7})[^0-9]+([0-9]{1,2}\\.[0-9]{4,7})");
        Matcher matcher = pattern.matcher(OnExitService.call_number);
        if (!matcher.find())
            return;
        Intent i = new Intent(context, SmsDialog.class);
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        i.putExtra(State.LATITUDE, matcher.group(1));
        i.putExtra(State.LONGITUDE, matcher.group(2));
        i.putExtra(State.INFO, R.string.go);
        i.putExtra(State.TEXT, OnExitService.call_number);
        context.startActivity(i);
        abortBroadcast();
    }
    if (action.equals(FIRE)) {
        Bundle data = intent.getBundleExtra(EditActivity.EXTRA_BUNDLE);
        try {
            String route = data.get(State.ROUTE).toString();
            String points = data.get(State.POINTS).toString();
            startCG(context, route, points, null);
        } catch (Exception ex) {
        }
    }
    if (action.equals(START)) {
        String route = intent.getStringExtra("ROUTE");
        String route_points = intent.getStringExtra("POINTS");
        if (route == null)
            route = "";
        if (route_points == null)
            route_points = "";
        int n_route = intent.getIntExtra("ROUTE", 0);
        if (n_route > 0) {
            State.Point[] points = State.get(context, false);
            if (n_route > points.length)
                return;
            State.Point p = points[n_route - 1];
            if ((p.lat.equals("")) && (p.lng.equals("")))
                return;
            route = p.lat + "|" + p.lng;
            route_points = p.points;
        } else if (n_route < 0) {
            MainActivity.removeRoute(context);
            route = "";
        }
        startCG(context, route, route_points, null);
    }
}
Example 35
Project: getback_gps-master  File: SensorOrientation.java View source code
/**
     * Register for Sensor events of
     * TYPE_ACCELEROMETER and TYPE_MAGNETIC_FIELD.
     *
     * @param listener SensorEventListener
     */
public final void registerEvents(final SensorEventListener listener) {
    if (!isSensorsEnabled()) {
        return;
    }
    int sensor = Integer.parseInt(PreferenceManager.getDefaultSharedPreferences(mContext).getString(SettingsActivity.KEY_PREF_GEO_ORIENTATION_SENSOR, SettingsActivity.DEFAULT_PREF_GEO_ORIENTATION_SENSOR));
    // (until raw sensor value is stable)
    if (sensor == SettingsActivity.GEO_ORIENTATION_SENSOR_CALCULATED || sensor == SettingsActivity.GEO_ORIENTATION_SENSOR_AUTO && mOrientationSensor != null) {
        // orientation sensor is deprecated
        mSensorManager.registerListener(listener, mOrientationSensor, SENSOR_UPDATE_RATE);
    } else if (mAccelerometer != null && mMagneticFieldSensor != null) {
        mSensorManager.registerListener(listener, mAccelerometer, SENSOR_UPDATE_RATE);
        mSensorManager.registerListener(listener, mMagneticFieldSensor, SENSOR_UPDATE_RATE);
    }
}
Example 36
Project: ProjectOxford-Apps-MimickerAlarm-master  File: MimicWithCameraFragment.java View source code
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_camera_mimic, container, false);
    SurfaceView previewView = (SurfaceView) view.findViewById(R.id.camera_preview_view);
    Display display = getActivity().getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    mSize = size;
    double aspectRatio = size.y > size.x ? (double) size.y / (double) size.x : (double) size.x / (double) size.y;
    mCameraPreview = new CameraPreview(previewView, new CameraPreview.OnCameraPreviewException() {

        @Override
        public void execute() {
            mStateManager.onMimicInternalError();
        }
    }, onCameraInitialized, aspectRatio, CameraFacing);
    View overlay = view.findViewById(R.id.camera_preview_overlay);
    overlay.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN) {
                // Camera sensor ranges from -1000 to 1000 regardless of aspect ratio, sizes, resolution, ...
                int deltaX = (int) (((float) mSize.x - event.getX()) / mSize.x * -2000) + 1000;
                int deltaY = (int) (((float) mSize.y - event.getY()) / mSize.y * -2000) + 1000;
                mCameraPreview.onFocus(deltaX, deltaY);
            }
            return true;
        }
    });
    mFlashButton = (ToggleButton) view.findViewById(R.id.camera_flash_toggle);
    ProgressButton progressButton = (ProgressButton) view.findViewById(R.id.capture_button);
    progressButton.setReadyState(ProgressButton.State.ReadyCamera);
    mStateManager = new MimicStateManager();
    mStateManager.registerCountDownTimer((CountDownTimerView) view.findViewById(R.id.countdown_timer), TIMEOUT_MILLISECONDS);
    mStateManager.registerStateBanner((MimicStateBanner) view.findViewById(R.id.mimic_state));
    mStateManager.registerProgressButton(progressButton, MimicButtonBehavior.CAMERA);
    mStateManager.registerMimic(this);
    mSensorManager = (SensorManager) getActivity().getSystemService(Context.SENSOR_SERVICE);
    if (mSensorManager != null) {
        mLightSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
    }
    mLightSensorListener = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            if (event.values[0] < LIGHT_THRESHOLD && CameraFacing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
                mTooDarkToast.show();
            } else {
                mTooDarkToast.cancel();
            }
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    // This toast is only shown when there is not enough light
    mTooDarkToast = Toast.makeText(getActivity(), getString(R.string.mimic_camera_too_dark), Toast.LENGTH_SHORT);
    return view;
}
Example 37
Project: S-Tools-master  File: SensorGraphActivity.java View source code
@Override
protected void onResume() {
    super.onResume();
    switch(getResources().getConfiguration().orientation) {
        case Configuration.ORIENTATION_PORTRAIT:
            {
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
                break;
            }
        case Configuration.ORIENTATION_LANDSCAPE:
            {
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
                break;
            }
    }
    if (xTick == 0) {
        ticker = new Ticker(this);
        ticker.start();
        sensorManager.registerListener((SensorEventListener) ticker, sensor, SensorManager.SENSOR_DELAY_UI);
    }
}
Example 38
Project: android-imf-ext-master  File: SensorManager.java View source code
/**
     * Registers a {@link android.hardware.SensorEventListener SensorEventListener}
     * for the given sensor.
     *
     * @param listener A {@link android.hardware.SensorEventListener SensorEventListener} object.
     * @param sensor The {@link android.hardware.Sensor Sensor} to register to.
     * @param rate The rate {@link android.hardware.SensorEvent sensor events} are delivered at.
     * This is only a hint to the system. Events may be received faster or
     * slower than the specified rate. Usually events are received faster. The value must be one
     * of {@link #SENSOR_DELAY_NORMAL}, {@link #SENSOR_DELAY_UI}, {@link #SENSOR_DELAY_GAME}, or
     * {@link #SENSOR_DELAY_FASTEST}.
     * @param handler The {@link android.os.Handler Handler} the
     * {@link android.hardware.SensorEvent sensor events} will be delivered to.
     *
     * @return true if the sensor is supported and successfully enabled.
     *
     */
public boolean registerListener(SensorEventListener listener, Sensor sensor, int rate, Handler handler) {
    if (listener == null || sensor == null) {
        return false;
    }
    boolean result;
    int delay = -1;
    switch(rate) {
        case SENSOR_DELAY_FASTEST:
            delay = 0;
            break;
        case SENSOR_DELAY_GAME:
            delay = 20;
            break;
        case SENSOR_DELAY_UI:
            delay = 60;
            break;
        case SENSOR_DELAY_NORMAL:
            delay = 200;
            break;
        default:
            return false;
    }
    try {
        synchronized (sListeners) {
            ListenerDelegate l = null;
            for (ListenerDelegate i : sListeners) {
                if (i.getListener() == listener) {
                    l = i;
                    break;
                }
            }
            String name = sensor.getName();
            int handle = sensor.getHandle();
            if (l == null) {
                l = new ListenerDelegate(listener, sensor, handler);
                result = mSensorService.enableSensor(l, name, handle, delay);
                if (result) {
                    sListeners.add(l);
                    sListeners.notify();
                }
                if (!sListeners.isEmpty()) {
                    sSensorThread.startLocked(mSensorService);
                }
            } else {
                result = mSensorService.enableSensor(l, name, handle, delay);
                if (result) {
                    l.addSensor(sensor);
                }
            }
        }
    } catch (RemoteException e) {
        Log.e(TAG, "RemoteException in registerListener: ", e);
        result = false;
    }
    return result;
}
Example 39
Project: android-voip-service-master  File: LinphoneActivity.java View source code
synchronized void startProxymitySensor() {
    if (mSensorEventListener != null) {
        Log.i("proximity sensor already active");
        return;
    }
    List<Sensor> lSensorList = mSensorManager.getSensorList(Sensor.TYPE_PROXIMITY);
    mSensorEventListener = new SensorEventListener() {

        public void onSensorChanged(SensorEvent event) {
            //just ignoring for nexus 1
            if (event.timestamp == 0)
                return;
            instance().hideScreen(LinphoneManager.isProximitySensorNearby(event));
        }

        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    if (lSensorList.size() > 0) {
        mSensorManager.registerListener(mSensorEventListener, lSensorList.get(0), SensorManager.SENSOR_DELAY_UI);
        Log.i("Proximity sensor detected, registering");
    }
}
Example 40
Project: BaseAnimation-master  File: MiLaucherMainActivity.java View source code
@Override
public void initView() {
    relate = (RelativeLayout) findViewById(R.id.relate);
    lst_views = (ScrollLayout) findViewById(R.id.views);
    tv_page = (TextView) findViewById(R.id.tv_page);
    tv_page.setText("1");
    Configure.init(MiLaucherMainActivity.this);
    param = new LinearLayout.LayoutParams(android.view.ViewGroup.LayoutParams.FILL_PARENT, android.view.ViewGroup.LayoutParams.FILL_PARENT);
    param.rightMargin = 100;
    param.leftMargin = 20;
    if (gridView != null) {
        lst_views.removeAllViews();
    }
    initData();
    for (int i = 0; i < Configure.countPages; i++) {
        lst_views.addView(addGridView(i));
    }
    lst_views.setPageListener(new ScrollLayout.PageListener() {

        @Override
        public void page(int page) {
            setCurPage(page);
        }
    });
    runImage = (ImageView) findViewById(R.id.run_image);
    runAnimation();
    delImage = (ImageView) findViewById(R.id.dels);
    relate.setOnLongClickListener(new OnLongClickListener() {

        @Override
        public boolean onLongClick(View v) {
            // TODO Auto-generated method stub
            System.out.println("LongClick");
            return false;
        }
    });
    vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
    sm = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    Sensor sensor = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    lsn = new SensorEventListener() {

        public void onSensorChanged(SensorEvent e) {
            if (e.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
                if (!isClean && rockCount >= 10) {
                    isClean = true;
                    rockCount = 0;
                    vibrator.vibrate(100);
                    CleanItems();
                    return;
                }
                float newX = e.values[SensorManager.DATA_X];
                float newY = e.values[SensorManager.DATA_Y];
                float newZ = e.values[SensorManager.DATA_Z];
                // {
                if ((newX >= 18 || newY >= 20 || newZ >= 20) && rockCount % 2 == 0) {
                    rockCount++;
                    return;
                }
                if ((newX <= -18 || newY <= -20 || newZ <= -20) && rockCount % 2 == 1) {
                    rockCount++;
                    return;
                }
            }
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // TODO Auto-generated method stub
        }
    };
    sm.registerListener(lsn, sensor, SensorManager.SENSOR_DELAY_GAME);
}
Example 41
Project: cnAndroidDocs-master  File: SensorManager.java View source code
/**
     * Registers a {@link android.hardware.SensorEventListener
     * SensorEventListener} for the given sensor.
     *
     * @param listener
     *        A {@link android.hardware.SensorEventListener SensorEventListener}
     *        object.
     *
     * @param sensor
     *        The {@link android.hardware.Sensor Sensor} to register to.
     *
     * @param rate
     *        The rate {@link android.hardware.SensorEvent sensor events} are
     *        delivered at. This is only a hint to the system. Events may be
     *        received faster or slower than the specified rate. Usually events
     *        are received faster. The value must be one of
     *        {@link #SENSOR_DELAY_NORMAL}, {@link #SENSOR_DELAY_UI},
     *        {@link #SENSOR_DELAY_GAME}, or {@link #SENSOR_DELAY_FASTEST}.
     *        or, the desired delay between events in microsecond.
     *
     * @param handler
     *        The {@link android.os.Handler Handler} the
     *        {@link android.hardware.SensorEvent sensor events} will be
     *        delivered to.
     *
     * @return true if the sensor is supported and successfully enabled.
     *
     * @see #registerListener(SensorEventListener, Sensor, int)
     * @see #unregisterListener(SensorEventListener)
     * @see #unregisterListener(SensorEventListener, Sensor)
     *
     */
public boolean registerListener(SensorEventListener listener, Sensor sensor, int rate, Handler handler) {
    if (listener == null || sensor == null) {
        return false;
    }
    int delay = -1;
    switch(rate) {
        case SENSOR_DELAY_FASTEST:
            delay = 0;
            break;
        case SENSOR_DELAY_GAME:
            delay = 20000;
            break;
        case SENSOR_DELAY_UI:
            delay = 66667;
            break;
        case SENSOR_DELAY_NORMAL:
            delay = 200000;
            break;
        default:
            delay = rate;
            break;
    }
    return registerListenerImpl(listener, sensor, delay, handler);
}
Example 42
Project: folio100_frameworks_base-master  File: SensorManager.java View source code
/**
     * Registers a {@link android.hardware.SensorEventListener SensorEventListener}
     * for the given sensor.
     *
     * @param listener A {@link android.hardware.SensorEventListener SensorEventListener} object.
     * @param sensor The {@link android.hardware.Sensor Sensor} to register to.
     * @param rate The rate {@link android.hardware.SensorEvent sensor events} are delivered at.
     * This is only a hint to the system. Events may be received faster or
     * slower than the specified rate. Usually events are received faster. The value must be one
     * of {@link #SENSOR_DELAY_NORMAL}, {@link #SENSOR_DELAY_UI}, {@link #SENSOR_DELAY_GAME}, or
     * {@link #SENSOR_DELAY_FASTEST}.
     * @param handler The {@link android.os.Handler Handler} the
     * {@link android.hardware.SensorEvent sensor events} will be delivered to.
     *
     * @return true if the sensor is supported and successfully enabled.
     *
     */
public boolean registerListener(SensorEventListener listener, Sensor sensor, int rate, Handler handler) {
    if (listener == null || sensor == null) {
        return false;
    }
    boolean result;
    int delay = -1;
    switch(rate) {
        case SENSOR_DELAY_FASTEST:
            delay = 0;
            break;
        case SENSOR_DELAY_GAME:
            delay = 20;
            break;
        case SENSOR_DELAY_UI:
            delay = 60;
            break;
        case SENSOR_DELAY_NORMAL:
            delay = 200;
            break;
        default:
            return false;
    }
    try {
        synchronized (sListeners) {
            ListenerDelegate l = null;
            for (ListenerDelegate i : sListeners) {
                if (i.getListener() == listener) {
                    l = i;
                    break;
                }
            }
            String name = sensor.getName();
            int handle = sensor.getHandle();
            if (l == null) {
                result = false;
                l = new ListenerDelegate(listener, sensor, handler);
                sListeners.add(l);
                if (!sListeners.isEmpty()) {
                    result = sSensorThread.startLocked(mSensorService);
                    if (result) {
                        result = mSensorService.enableSensor(l, name, handle, delay);
                        if (!result) {
                            // there was an error, remove the listeners
                            sListeners.remove(l);
                        }
                    }
                }
            } else {
                result = mSensorService.enableSensor(l, name, handle, delay);
                if (result) {
                    l.addSensor(sensor);
                }
            }
        }
    } catch (RemoteException e) {
        Log.e(TAG, "RemoteException in registerListener: ", e);
        result = false;
    }
    return result;
}
Example 43
Project: frameworks_base_disabled-master  File: SensorManager.java View source code
/**
     * Registers a {@link android.hardware.SensorEventListener
     * SensorEventListener} for the given sensor.
     *
     * @param listener
     *        A {@link android.hardware.SensorEventListener SensorEventListener}
     *        object.
     *
     * @param sensor
     *        The {@link android.hardware.Sensor Sensor} to register to.
     *
     * @param rate
     *        The rate {@link android.hardware.SensorEvent sensor events} are
     *        delivered at. This is only a hint to the system. Events may be
     *        received faster or slower than the specified rate. Usually events
     *        are received faster. The value must be one of
     *        {@link #SENSOR_DELAY_NORMAL}, {@link #SENSOR_DELAY_UI},
     *        {@link #SENSOR_DELAY_GAME}, or {@link #SENSOR_DELAY_FASTEST}.
     *        or, the desired delay between events in microsecond.
     *
     * @param handler
     *        The {@link android.os.Handler Handler} the
     *        {@link android.hardware.SensorEvent sensor events} will be
     *        delivered to.
     *
     * @return true if the sensor is supported and successfully enabled.
     *
     * @see #registerListener(SensorEventListener, Sensor, int)
     * @see #unregisterListener(SensorEventListener)
     * @see #unregisterListener(SensorEventListener, Sensor)
     *
     */
public boolean registerListener(SensorEventListener listener, Sensor sensor, int rate, Handler handler) {
    if (listener == null || sensor == null) {
        return false;
    }
    int delay = -1;
    switch(rate) {
        case SENSOR_DELAY_FASTEST:
            delay = 0;
            break;
        case SENSOR_DELAY_GAME:
            delay = 20000;
            break;
        case SENSOR_DELAY_UI:
            delay = 66667;
            break;
        case SENSOR_DELAY_NORMAL:
            delay = 200000;
            break;
        default:
            delay = rate;
            break;
    }
    return registerListenerImpl(listener, sensor, delay, handler);
}
Example 44
Project: property-db-master  File: SensorManager.java View source code
/**
     * Registers a {@link android.hardware.SensorEventListener
     * SensorEventListener} for the given sensor.
     *
     * @param listener
     *        A {@link android.hardware.SensorEventListener SensorEventListener}
     *        object.
     *
     * @param sensor
     *        The {@link android.hardware.Sensor Sensor} to register to.
     *
     * @param rate
     *        The rate {@link android.hardware.SensorEvent sensor events} are
     *        delivered at. This is only a hint to the system. Events may be
     *        received faster or slower than the specified rate. Usually events
     *        are received faster. The value must be one of
     *        {@link #SENSOR_DELAY_NORMAL}, {@link #SENSOR_DELAY_UI},
     *        {@link #SENSOR_DELAY_GAME}, or {@link #SENSOR_DELAY_FASTEST}.
     *        or, the desired delay between events in microsecond.
     *
     * @param handler
     *        The {@link android.os.Handler Handler} the
     *        {@link android.hardware.SensorEvent sensor events} will be
     *        delivered to.
     *
     * @return true if the sensor is supported and successfully enabled.
     *
     * @see #registerListener(SensorEventListener, Sensor, int)
     * @see #unregisterListener(SensorEventListener)
     * @see #unregisterListener(SensorEventListener, Sensor)
     *
     */
public boolean registerListener(SensorEventListener listener, Sensor sensor, int rate, Handler handler) {
    if (listener == null || sensor == null) {
        return false;
    }
    int delay = -1;
    switch(rate) {
        case SENSOR_DELAY_FASTEST:
            delay = 0;
            break;
        case SENSOR_DELAY_GAME:
            delay = 20000;
            break;
        case SENSOR_DELAY_UI:
            delay = 66667;
            break;
        case SENSOR_DELAY_NORMAL:
            delay = 200000;
            break;
        default:
            delay = rate;
            break;
    }
    return registerListenerImpl(listener, sensor, delay, handler);
}
Example 45
Project: stardroid-master  File: StardroidApplication.java View source code
private boolean hasDefaultSensor(int sensorType) {
    if (sensorManager == null) {
        return false;
    }
    Sensor sensor = sensorManager.getDefaultSensor(sensorType);
    if (sensor == null) {
        return false;
    }
    SensorEventListener dummy = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
        // Nothing
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // Nothing
        }
    };
    boolean success = sensorManager.registerListener(dummy, sensor, SensorManager.SENSOR_DELAY_UI);
    if (!success) {
        analytics.trackEvent(Analytics.SENSOR_CATEGORY, Analytics.SENSOR_LIAR, getSafeNameForSensor(sensor), 1);
    }
    sensorManager.unregisterListener(dummy);
    return success;
}
Example 46
Project: TinderCardDemo-master  File: CardFrameLayout.java View source code
void initSensor(Context context) {
    mSensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
    mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    SensorEventListener a = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            if (event.sensor.getType() != Sensor.TYPE_ACCELEROMETER)
                return;
            // low-pass filter to make the movement more stable
            if (mCurrent != null && !mCurrent.isTouching() && !mCurrent.isAnimating() && !isAnimationStarted()) {
                mCurrent.sensorEventChange(event);
            }
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
// mSensorManager.registerListener(a, mAccelerometer,
// SensorManager.SENSOR_DELAY_UI);
}
Example 47
Project: WS171-frameworks-base-master  File: SensorManager.java View source code
/**
     * Registers a {@link android.hardware.SensorEventListener SensorEventListener}
     * for the given sensor.
     *
     * @param listener A {@link android.hardware.SensorEventListener SensorEventListener} object.
     * @param sensor The {@link android.hardware.Sensor Sensor} to register to.
     * @param rate The rate {@link android.hardware.SensorEvent sensor events} are delivered at.
     * This is only a hint to the system. Events may be received faster or
     * slower than the specified rate. Usually events are received faster. The value must be one
     * of {@link #SENSOR_DELAY_NORMAL}, {@link #SENSOR_DELAY_UI}, {@link #SENSOR_DELAY_GAME}, or
     * {@link #SENSOR_DELAY_FASTEST}.
     * @param handler The {@link android.os.Handler Handler} the
     * {@link android.hardware.SensorEvent sensor events} will be delivered to.
     *
     * @return true if the sensor is supported and successfully enabled.
     *
     */
public boolean registerListener(SensorEventListener listener, Sensor sensor, int rate, Handler handler) {
    if (listener == null || sensor == null) {
        return false;
    }
    boolean result;
    int delay = -1;
    switch(rate) {
        case SENSOR_DELAY_FASTEST:
            delay = 0;
            break;
        case SENSOR_DELAY_GAME:
            delay = 20;
            break;
        case SENSOR_DELAY_UI:
            delay = 60;
            break;
        case SENSOR_DELAY_NORMAL:
            delay = 200;
            break;
        default:
            return false;
    }
    try {
        synchronized (sListeners) {
            ListenerDelegate l = null;
            for (ListenerDelegate i : sListeners) {
                if (i.getListener() == listener) {
                    l = i;
                    break;
                }
            }
            String name = sensor.getName();
            int handle = sensor.getHandle();
            if (l == null) {
                l = new ListenerDelegate(listener, sensor, handler);
                result = mSensorService.enableSensor(l, name, handle, delay);
                if (result) {
                    sListeners.add(l);
                    sListeners.notify();
                }
                if (!sListeners.isEmpty()) {
                    sSensorThread.startLocked(mSensorService);
                }
            } else {
                result = mSensorService.enableSensor(l, name, handle, delay);
                if (result) {
                    l.addSensor(sensor);
                }
            }
        }
    } catch (RemoteException e) {
        Log.e(TAG, "RemoteException in registerListener: ", e);
        result = false;
    }
    return result;
}
Example 48
Project: android-15-master  File: SensorManager.java View source code
/**
     * Registers a {@link android.hardware.SensorEventListener
     * SensorEventListener} for the given sensor.
     *
     * @param listener
     *        A {@link android.hardware.SensorEventListener SensorEventListener}
     *        object.
     *
     * @param sensor
     *        The {@link android.hardware.Sensor Sensor} to register to.
     *
     * @param rate
     *        The rate {@link android.hardware.SensorEvent sensor events} are
     *        delivered at. This is only a hint to the system. Events may be
     *        received faster or slower than the specified rate. Usually events
     *        are received faster. The value must be one of
     *        {@link #SENSOR_DELAY_NORMAL}, {@link #SENSOR_DELAY_UI},
     *        {@link #SENSOR_DELAY_GAME}, or {@link #SENSOR_DELAY_FASTEST}.
     *        or, the desired delay between events in microsecond.
     *
     * @param handler
     *        The {@link android.os.Handler Handler} the
     *        {@link android.hardware.SensorEvent sensor events} will be
     *        delivered to.
     *
     * @return true if the sensor is supported and successfully enabled.
     *
     * @see #registerListener(SensorEventListener, Sensor, int)
     * @see #unregisterListener(SensorEventListener)
     * @see #unregisterListener(SensorEventListener, Sensor)
     *
     */
public boolean registerListener(SensorEventListener listener, Sensor sensor, int rate, Handler handler) {
    if (listener == null || sensor == null) {
        return false;
    }
    boolean result = true;
    int delay = -1;
    switch(rate) {
        case SENSOR_DELAY_FASTEST:
            delay = 0;
            break;
        case SENSOR_DELAY_GAME:
            delay = 20000;
            break;
        case SENSOR_DELAY_UI:
            delay = 66667;
            break;
        case SENSOR_DELAY_NORMAL:
            delay = 200000;
            break;
        default:
            delay = rate;
            break;
    }
    synchronized (sListeners) {
        // look for this listener in our list
        ListenerDelegate l = null;
        for (ListenerDelegate i : sListeners) {
            if (i.getListener() == listener) {
                l = i;
                break;
            }
        }
        // if we don't find it, add it to the list
        if (l == null) {
            l = new ListenerDelegate(listener, sensor, handler);
            sListeners.add(l);
            // if the list is not empty, start our main thread
            if (!sListeners.isEmpty()) {
                if (sSensorThread.startLocked()) {
                    if (!enableSensorLocked(sensor, delay)) {
                        // oops. there was an error
                        sListeners.remove(l);
                        result = false;
                    }
                } else {
                    // there was an error, remove the listener
                    sListeners.remove(l);
                    result = false;
                }
            } else {
                // weird, we couldn't add the listener
                result = false;
            }
        } else {
            l.addSensor(sensor);
            if (!enableSensorLocked(sensor, delay)) {
                // oops. there was an error
                l.removeSensor(sensor);
                result = false;
            }
        }
    }
    return result;
}
Example 49
Project: Flyver-Apps-master  File: MainControl.java View source code
/**
     * Registers to the orientation sensors of the phone
     */
public void registerToSensors() {
    mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    Sensor orientationSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
    mSensorManager.registerListener(new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            //if the Start button is released, do not send data to the server
            if (mSendData) {
                jsonQuadruple = new Quadruple<>(COORDINATES, event.values[0], event.values[2], event.values[1]);
                jsonIntent.putExtra("json", JSONUtils.serialize(jsonQuadruple, jsonQuadrupleTypes));
                sendBroadcast(jsonIntent);
            }
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    }, orientationSensor, SensorManager.SENSOR_DELAY_NORMAL);
}
Example 50
Project: mayloon-runtime-master  File: SensorManager.java View source code
/**
     * Registers a {@link android.hardware.SensorEventListener
     * SensorEventListener} for the given sensor.
     *
     * @param listener
     *        A {@link android.hardware.SensorEventListener SensorEventListener}
     *        object.
     *
     * @param sensor
     *        The {@link android.hardware.Sensor Sensor} to register to.
     *
     * @param rate
     *        The rate {@link android.hardware.SensorEvent sensor events} are
     *        delivered at. This is only a hint to the system. Events may be
     *        received faster or slower than the specified rate. Usually events
     *        are received faster. The value must be one of
     *        {@link #SENSOR_DELAY_NORMAL}, {@link #SENSOR_DELAY_UI},
     *        {@link #SENSOR_DELAY_GAME}, or {@link #SENSOR_DELAY_FASTEST}.
     *        or, the desired delay between events in microsecond.
     *
     * @param handler
     *        The {@link android.os.Handler Handler} the
     *        {@link android.hardware.SensorEvent sensor events} will be
     *        delivered to.
     *
     * @return true if the sensor is supported and successfully enabled.
     *
     * @see #registerListener(SensorEventListener, Sensor, int)
     * @see #unregisterListener(SensorEventListener)
     * @see #unregisterListener(SensorEventListener, Sensor)
     *
     */
public boolean registerListener(SensorEventListener listener, Sensor sensor, int rate, Handler handler) {
    if (listener == null || sensor == null) {
        return false;
    }
    boolean result = true;
    int delay = -1;
    switch(rate) {
        case SENSOR_DELAY_FASTEST:
            delay = 0;
            break;
        case SENSOR_DELAY_GAME:
            delay = 20000;
            break;
        case SENSOR_DELAY_UI:
            delay = 60000;
            break;
        case SENSOR_DELAY_NORMAL:
            delay = 200000;
            break;
        default:
            delay = rate;
            break;
    }
    synchronized (sListeners) {
        // look for this listener in our list
        ListenerDelegate l = null;
        for (ListenerDelegate i : sListeners) {
            if (i.getListener() == listener) {
                l = i;
                break;
            }
        }
        // if we don't find it, add it to the list
        if (l == null) {
            l = new ListenerDelegate(listener, sensor, handler);
            sListeners.add(l);
            // if the list is not empty, start our main thread
            if (!sListeners.isEmpty()) {
                if (sSensorThread.startLocked()) {
                    if (!enableSensorLocked(sensor, delay)) {
                        // oops. there was an error
                        sListeners.remove(l);
                        result = false;
                    }
                } else {
                    // there was an error, remove the listener
                    sListeners.remove(l);
                    result = false;
                }
            } else {
                // weird, we couldn't add the listener
                result = false;
            }
        } else {
            l.addSensor(sensor);
            if (!enableSensorLocked(sensor, delay)) {
                // oops. there was an error
                l.removeSensor(sensor);
                result = false;
            }
        }
    }
    return result;
}
Example 51
Project: XobotOS-master  File: SensorManager.java View source code
/**
     * Registers a {@link android.hardware.SensorEventListener
     * SensorEventListener} for the given sensor.
     *
     * @param listener
     *        A {@link android.hardware.SensorEventListener SensorEventListener}
     *        object.
     *
     * @param sensor
     *        The {@link android.hardware.Sensor Sensor} to register to.
     *
     * @param rate
     *        The rate {@link android.hardware.SensorEvent sensor events} are
     *        delivered at. This is only a hint to the system. Events may be
     *        received faster or slower than the specified rate. Usually events
     *        are received faster. The value must be one of
     *        {@link #SENSOR_DELAY_NORMAL}, {@link #SENSOR_DELAY_UI},
     *        {@link #SENSOR_DELAY_GAME}, or {@link #SENSOR_DELAY_FASTEST}.
     *        or, the desired delay between events in microsecond.
     *
     * @param handler
     *        The {@link android.os.Handler Handler} the
     *        {@link android.hardware.SensorEvent sensor events} will be
     *        delivered to.
     *
     * @return true if the sensor is supported and successfully enabled.
     *
     * @see #registerListener(SensorEventListener, Sensor, int)
     * @see #unregisterListener(SensorEventListener)
     * @see #unregisterListener(SensorEventListener, Sensor)
     *
     */
public boolean registerListener(SensorEventListener listener, Sensor sensor, int rate, Handler handler) {
    if (listener == null || sensor == null) {
        return false;
    }
    boolean result = true;
    int delay = -1;
    switch(rate) {
        case SENSOR_DELAY_FASTEST:
            delay = 0;
            break;
        case SENSOR_DELAY_GAME:
            delay = 20000;
            break;
        case SENSOR_DELAY_UI:
            delay = 66667;
            break;
        case SENSOR_DELAY_NORMAL:
            delay = 200000;
            break;
        default:
            delay = rate;
            break;
    }
    synchronized (sListeners) {
        // look for this listener in our list
        ListenerDelegate l = null;
        for (ListenerDelegate i : sListeners) {
            if (i.getListener() == listener) {
                l = i;
                break;
            }
        }
        // if we don't find it, add it to the list
        if (l == null) {
            l = new ListenerDelegate(listener, sensor, handler);
            sListeners.add(l);
            // if the list is not empty, start our main thread
            if (!sListeners.isEmpty()) {
                if (sSensorThread.startLocked()) {
                    if (!enableSensorLocked(sensor, delay)) {
                        // oops. there was an error
                        sListeners.remove(l);
                        result = false;
                    }
                } else {
                    // there was an error, remove the listener
                    sListeners.remove(l);
                    result = false;
                }
            } else {
                // weird, we couldn't add the listener
                result = false;
            }
        } else {
            l.addSensor(sensor);
            if (!enableSensorLocked(sensor, delay)) {
                // oops. there was an error
                l.removeSensor(sensor);
                result = false;
            }
        }
    }
    return result;
}
Example 52
Project: yitu-master  File: DrawActivity.java View source code
/**
	 * ³õʼ»¯´«¸ÐÆ÷
	 */
private void initSensor() {
    mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
    mAccSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    mSensorListener = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            float x = Math.abs(values[0]);
            //				float y = Math.abs(values[1]);
            //				float z = Math.abs(values[2]);
            float value = 9;
            //				if(x>=value || y>=value || z>=value+9.8)
            if (x >= value) {
                dv_canvas.setShaked(true);
            }
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
}
Example 53
Project: CardboardHome-master  File: Launcher.java View source code
private void init() {
    preferences = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    gameView = new MyView(this);
    setContentView(gameView);
    makeImmersive();
    if (!isMyAppLauncherDefault() && preferences.getBoolean("use_as_home", true)) {
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_HOME);
        intent.setClassName("android", "com.android.internal.app.ResolverActivity");
        startActivity(intent);
    }
    installedApps.clear();
    // check for premium package
    List<ApplicationInfo> packages = getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA);
    for (int i = 0; i < packages.size(); i++) {
        if (packages.get(i).packageName.equals("com.dudeofawesome.cardboardhomeunlocker")) {
            premium = true;
            preferences.edit().putBoolean("premium", premium).commit();
            break;
        }
    }
    drawWallpaper = preferences.getBoolean("draw_wallpaper", true);
    // get installed apps
    for (int i = 0; i < packages.size(); i++) {
        if ((packages.get(i).packageName.toLowerCase().contains("cardboard") || packages.get(i).packageName.toLowerCase().contains("dive") || packages.get(i).packageName.toLowerCase().contains("vr") || packages.get(i).packageName.toLowerCase().contains("virtual") || packages.get(i).packageName.toLowerCase().contains("reality") || packages.get(i).packageName.equals("com.dudeofawesome.SuperHexagon")) && !packages.get(i).packageName.equals("com.dudeofawesome.cardboardhome") && !packages.get(i).packageName.equals("com.dudeofawesome.cardboardhomeunlocker")) {
            String[] ignoreNames = preferences.getString("blacklist", "").split(", ");
            boolean appOnBlacklist = false;
            for (int j = 0; j < ignoreNames.length; j++) {
                if (getPackageManager().getApplicationLabel(packages.get(i)).toString().toLowerCase().equals(ignoreNames[j].toLowerCase())) {
                    appOnBlacklist = true;
                }
            }
            if (!appOnBlacklist)
                installedApps.add(new ApplicationItem(new Rect((installedApps.size() - 1) * APP_SPACING, 315, 92, 92), packages.get(i), getPackageManager(), getBaseContext()));
        } else {
            String[] packageNames = preferences.getString("package_names_to_add", "").split(", ");
            for (int j = 0; j < packageNames.length; j++) {
                if (getPackageManager().getApplicationLabel(packages.get(i)).toString().toLowerCase().equals(packageNames[j].toLowerCase()) && !packages.get(i).packageName.equals("com.dudeofawesome.cardboardhome")) {
                    installedApps.add(new ApplicationItem(new Rect((installedApps.size() - 1) * APP_SPACING, 315, 92, 92), packages.get(i), getPackageManager(), getBaseContext()));
                }
            }
        }
    }
    installedApps.add(new ApplicationItem(new Rect((installedApps.size() - 1) * APP_SPACING, 315, 92, 92), BitmapFactory.decodeResource(getResources(), R.drawable.volume_icon), 2, getPackageManager(), getBaseContext()));
    installedApps.add(new ApplicationItem(new Rect((installedApps.size() - 1) * APP_SPACING, 315, 92, 92), BitmapFactory.decodeResource(getResources(), R.drawable.settings_icon), 1, getPackageManager(), getBaseContext()));
    installedApps.add(new ApplicationItem(new Rect((installedApps.size() - 1) * APP_SPACING, 315, 92, 92), BitmapFactory.decodeResource(getResources(), R.drawable.exit_icon), 0, getPackageManager(), getBaseContext()));
    iconCenter = (int) ((((installedApps.size() + 1) / 2) - 4.5) * APP_SPACING);
    mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
    SensorEventListener mSensorListener = new SensorEventListener() {

        @Override
        public void onAccuracyChanged(Sensor arg0, int arg1) {
        }

        @Override
        public void onSensorChanged(SensorEvent event) {
            Sensor sensor = event.sensor;
            if (sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
                accelDataOld = rawAccelData;
                rawAccelData = event.values[1];
                tweenStep = (rawAccelData - accelData) / TWEEN_TIMING;
            } else if (sensor.getType() == Sensor.TYPE_GYROSCOPE) {
                rawGyroData += event.values[0];
            }
        }
    };
    mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    mGyroscope = mSensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
    mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    mSensorManager.registerListener(mSensorListener, mGyroscope, SensorManager.SENSOR_DELAY_NORMAL);
    mSensorManager.registerListener(mSensorListener, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
    headTracker = new HeadTracker(getApplicationContext());
    headTracker.startTracking();
    MagnetSensor magnetSensor = new MagnetSensor(getApplicationContext());
    MagnetSensor.OnCardboardTriggerListener magnetTriggerListener = new MagnetSensor.OnCardboardTriggerListener() {

        @Override
        public void onCardboardTrigger() {
            gameView.magnetPull();
        }
    };
    magnetSensor.setOnCardboardTriggerListener(magnetTriggerListener);
    magnetSensor.start();
    //        NfcSensor nfcSensor = NfcSensor.getInstance(getApplicationContext());
    NfcSensor.OnCardboardNfcListener nfcListener = new NfcSensor.OnCardboardNfcListener() {

        @Override
        public void onInsertedIntoCardboard(CardboardDeviceParams cardboardDeviceParams) {
        }

        @Override
        public void onRemovedFromCardboard() {
            installedApps.get(installedApps.size() - 1).launch();
        }
    };
    AudioManager mgr = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
    originalVolume = mgr.getStreamVolume(AudioManager.STREAM_MUSIC);
    if (preferences.getBoolean("listen_for_voice", true))
        mgr.setStreamVolume(AudioManager.STREAM_MUSIC, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
    if (premium && preferences.getBoolean("listen_for_voice", true)) {
        RecognitionListener recognitionListener = new RecognitionListener() {

            @Override
            public void onReadyForSpeech(Bundle bundle) {
            }

            @Override
            public void onBeginningOfSpeech() {
                listening = true;
            }

            @Override
            public void onRmsChanged(float v) {
            }

            @Override
            public void onBufferReceived(byte[] bytes) {
            }

            @Override
            public void onEndOfSpeech() {
                listening = false;
            }

            @Override
            public void onError(int i) {
            }

            @Override
            public void onResults(Bundle bundle) {
                checkForCommands(bundle);
                listening = false;
            }

            @Override
            public void onPartialResults(Bundle bundle) {
                checkForCommands(bundle);
            }

            private void checkForCommands(Bundle bundle) {
                ArrayList<String> voiceText = bundle.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);
                for (int i = 0; i < voiceText.size(); i++) {
                    if (voiceText.get(i).toLowerCase().contains("okay cardboard") && voiceText.get(i).toLowerCase().split("okay cardboard").length > 0) {
                        String request = voiceText.get(i).toLowerCase().split("okay cardboard")[1].toLowerCase().replace(" ", "");
                        print(request);
                        for (int j = 0; j < LAUNCH_COMMANDS.length; j++) {
                            if (request.contains(LAUNCH_COMMANDS[j])) {
                                print(request);
                                for (int k = 0; k < installedApps.size(); k++) {
                                    if (request.contains(installedApps.get(k).name.toLowerCase().replace(" ", ""))) {
                                        mVibrator.vibrate(90);
                                        installedApps.get(k).launch();
                                        return;
                                    }
                                }
                            }
                        }
                        for (int j = 0; j < EXIT_COMMANDS.length; j++) {
                            if (request.contains(EXIT_COMMANDS[j])) {
                                installedApps.get(installedApps.size() - 1).launch();
                                return;
                            }
                        }
                        for (int j = 0; j < SETTINGS_COMMANDS.length; j++) {
                            if (request.contains(SETTINGS_COMMANDS[j])) {
                                installedApps.get(installedApps.size() - 2).launch();
                                return;
                            }
                        }
                    }
                }
            }

            @Override
            public void onEvent(int i, Bundle bundle) {
            }
        };
        recognizerIntent = RecognizerIntent.getVoiceDetailsIntent(getBaseContext());
        recognizerIntent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS, 30000);
        recognizerIntent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS, 30000);
        recognizerIntent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS, 30000);
        speechRecog = SpeechRecognizer.createSpeechRecognizer(getBaseContext());
        speechRecog.setRecognitionListener(recognitionListener);
        readyToListen = true;
        listening = true;
        speechRecog.startListening(recognizerIntent);
    }
    if (premium) {
        wallpaper = ((BitmapDrawable) WallpaperManager.getInstance(this).getDrawable()).getBitmap();
    }
}
Example 54
Project: katbag-master  File: Player.java View source code
@Override
public void onStop() {
    if (useAccelerometer)
        sensorManager.unregisterListener((SensorEventListener) this, accelerometer);
    if (drawingUsesAccelerometer.size() > 0) {
        for (int i = 0; i < drawingUsesAccelerometer.size(); i++) {
            KatbagDrawing drawing = (KatbagDrawing) playerView.findViewById(drawingUsesAccelerometer.get(i));
            drawing.sensorManager.unregisterListener((SensorEventListener) drawing.v, drawing.accelerometer);
        }
    }
    if (drawingUsesAccelerometer.size() > 0) {
        for (int i = 0; i < drawingUsesAccelerometer.size(); i++) {
            KatbagDrawing drawing = (KatbagDrawing) playerView.findViewById(drawingUsesAccelerometer.get(i));
            drawing.sensorManager.unregisterListener((SensorEventListener) drawing.v, drawing.accelerometer);
        }
    }
    if (drawingUsesBounceThread.size() > 0) {
        for (int i = 0; i < drawingUsesBounceThread.size(); i++) {
            KatbagDrawing drawing = (KatbagDrawing) playerView.findViewById(drawingUsesBounceThread.get(i));
            drawing.interruptBounce = true;
            if (drawing.bounce != null) {
                drawing.bounce.interrupt();
            }
        }
    }
    if (drawingUsesRandomly.size() > 0) {
        for (int i = 0; i < drawingUsesRandomly.size(); i++) {
            KatbagDrawing drawing = (KatbagDrawing) playerView.findViewById(drawingUsesRandomly.get(i));
            drawing.interruptRandomly = true;
            if (drawing.randomly != null) {
                drawing.randomly.interrupt();
            }
        }
    }
    stopPlayer();
    if (mHandler != null) {
        mHandler.removeCallbacks(mRunnable);
    }
    if (mHandlerPlayer != null) {
        mHandlerPlayer.removeCallbacks(mRunnablePlayer);
    }
    System.gc();
    super.onStop();
}
Example 55
Project: MySnippetRepo-master  File: MiLaucherActivity.java View source code
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.layout_milaucher);
    MobclickAgent.setDebugMode(true);
    MobclickAgent.setSessionContinueMillis(1000);
    MobclickAgent.onError(this);
    MobclickAgent.setAutoLocation(false);
    UmengConstants.enableCacheInUpdate = false;
    UMFeedbackService.enableNewReplyNotification(this, NotificationType.AlertDialog);
    MobclickAgent.setUpdateOnlyWifi(false);
    // daily
    MobclickAgent.update(this, 1000 * 60 * 60 * 24);
    MobclickAgent.setDefaultReportPolicy(this, ReportPolicy.BATCH_AT_LAUNCH);
    MobclickAgent.updateOnlineConfig(this);
    database.open();
    lstDate = database.getLauncher();
    addDate = lstDate;
    database.close();
    map_none.setText("none");
    map_null.setText(null);
    if (lstDate.size() == 0)
        Toast.makeText(MiLaucherActivity.this, "网络有点�给力哦", 2200).show();
    init();
    initData();
    initPath();
    initBroadCast();
    initBgBroadCast();
    for (int i = 0; i < Configure.countPages; i++) {
        lst_views.addView(addGridView(i));
    }
    lst_views.setPageListener(new ScrollLayout.PageListener() {

        @Override
        public void page(int page) {
            setCurPage(page);
        }
    });
    runImage = (ImageView) findViewById(R.id.run_image);
    setImageBgAndRun();
    delImage = (ImageView) findViewById(R.id.dels);
    vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
    sm = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    Sensor sensor = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    lsn = new SensorEventListener() {

        public void onSensorChanged(SensorEvent e) {
            if (e.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
                if (!isClean && rockCount >= 7) {
                    isClean = true;
                    rockCount = 0;
                    vibrator.vibrate(100);
                    CleanItems();
                    return;
                }
                float newX = e.values[SensorManager.DATA_X];
                float newY = e.values[SensorManager.DATA_Y];
                float newZ = e.values[SensorManager.DATA_Z];
                // {
                if ((newX >= 16 || newY >= 18 || newZ >= 18) && rockCount % 2 == 0) {
                    rockCount++;
                    return;
                }
                if ((newX <= -16 || newY <= -18 || newZ <= -18) && rockCount % 2 == 1) {
                    rockCount++;
                    return;
                }
            }
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // TODO Auto-generated method stub
        }
    };
    sm.registerListener(lsn, sensor, SensorManager.SENSOR_DELAY_GAME);
}
Example 56
Project: rageAgainstVM-master  File: HeuristicService.java View source code
private int getSensorProximity() {
    sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
    sensor = sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
    if (sensor == null) {
        heurData.setHeuristicData("Sensor/Proximity/Name", "None");
        // Toast.LENGTH_SHORT).show();
        return 0;
    } else {
        heurData.setHeuristicData("Sensor/Proximity/Name", sensor.getName());
        // Toast.makeText(getApplicationContext(), sensor.getName(),
        // Toast.LENGTH_SHORT).show();
        sensorManager.registerListener((SensorEventListener) this, sensor, SensorManager.SENSOR_DELAY_FASTEST);
        return 1;
    }
}
Example 57
Project: Android-Application-Using-CAF-Library-master  File: MediaPlaybackActivity.java View source code
//-------------------------------Prasenjit ---------------------------------//
// Added on 5th Aug 2014 By Prasenjit
public void getSensorServices() {
    accelSensorListener = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            // TODO Auto-generated method stub
            caf = new ContextAwareFunction(getApplicationContext());
            if (caf.shakeLeft(event.values[0])) {
                try {
                    mService.next();
                } catch (RemoteException e) {
                    e.printStackTrace();
                }
            }
            if (caf.shakeRight(event.values[0])) {
                try {
                    mService.prev();
                } catch (RemoteException e) {
                    e.printStackTrace();
                }
            }
            if (caf.shakeBack(event.values[1])) {
                try {
                    mService.pause();
                } catch (RemoteException e) {
                    e.printStackTrace();
                }
            }
            if (caf.shakeFront(event.values[1])) {
                try {
                    mService.play();
                } catch (RemoteException e) {
                    e.printStackTrace();
                }
            }
            if (caf.shakeUp(event.values[2])) {
                try {
                    caf.volumeIncrease();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            if (caf.shakeDown(event.values[2])) {
                try {
                    caf.volumeDecrease();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // TODO Auto-generated method stub
        }
    };
}
Example 58
Project: dlna-master  File: YouUtility.java View source code
public void addObserver(final Context context, YouPlayerSensorObserver ob) {
    YouUtility.v(TAG, "addObserver beg");
    if (g_sensor_observer_list == null)
        g_sensor_observer_list = new ArrayList<YouPlayerSensorObserver>();
    if (!g_sensor_observer_list.contains(ob)) {
        g_sensor_observer_list.add(ob);
        if (g_sensorManager == null) {
            g_sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
            sensor = g_sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
            sensor_orient = g_sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
            g_sensorListener = new SensorEventListener() {

                public void onAccuracyChanged(Sensor sensor, int accuracy) {
                }

                public void onSensorChanged(SensorEvent eventSensor) {
                    float[] values = eventSensor.values;
                    if (eventSensor.sensor == sensor) {
                        long curTime = System.currentTimeMillis();
                        {
                            long difTime = curTime - g_acce_old_time;
                            boolean bFirst = false;
                            if (curTime == g_acce_old_time)
                                bFirst = true;
                            g_acce_old_time = curTime;
                            float x, y, z;
                            x = values[SensorManager.DATA_X];
                            y = values[SensorManager.DATA_Y];
                            z = values[SensorManager.DATA_Z];
                            float speed;
                            if (difTime < 20)
                                difTime = 20;
                            speed = (Math.abs(x - old_x) + Math.abs(y - old_y)) / difTime * 10000;
                            if (old_x == 0.0 && old_y == 0 && old_z == 0)
                                bFirst = true;
                            String model = YouUtility.ConfigureGetManufactory();
                            model = model.toLowerCase();
                            if (model.equals("u8800") || model.equals("u8860")) {
                                speed = speed * 2;
                            }
                            old_x = x;
                            old_y = y;
                            old_z = z;
                        }
                    } else if (eventSensor.sensor == sensor_orient) {
                        float /* x, */
                        y, z;
                        // x = values[SensorManager.DATA_X];
                        y = values[SensorManager.DATA_Y];
                        z = values[SensorManager.DATA_Z];
                        float y_value = values[1];
                        float z_value = values[2];
                        y_value = Math.abs(y);
                        z_value = Math.abs(z);
                        boolean portrait = true;
                        if (y_value > 35 && z_value > 30) {
                            portrait = false;
                        }
                        if (g_b_portrait != portrait) {
                            g_b_portrait = portrait;
                            if (!g_b_portrait) {
                                HashMap<String, Object> event = new HashMap<String, Object>();
                                event.put("orientation", y_value);
                                event.put("zvalue", z_value);
                                event.put("type", "landscape");
                                g_utility.notifyObservers(event);
                            } else
                                YouUtility.v(TAG, "user change device to portrait");
                        }
                    }
                }
            };
        }
        g_sensorManager.registerListener(g_sensorListener, sensor, SensorManager.SENSOR_DELAY_GAME);
        g_sensorManager.registerListener(g_sensorListener, sensor_orient, SensorManager.SENSOR_DELAY_NORMAL);
    }
    YouUtility.v(TAG, "addObserver end");
}
Example 59
Project: android_frameworks_base-master  File: PowerManagerService.java View source code
private void runPostProximityCheck(final Runnable r) {
    if (mSensorManager == null) {
        r.run();
        return;
    }
    synchronized (mProximityWakeLock) {
        mProximityWakeLock.acquire();
        mProximityListener = new SensorEventListener() {

            @Override
            public void onSensorChanged(SensorEvent event) {
                cleanupProximityLocked();
                if (!mHandler.hasMessages(MSG_WAKE_UP)) {
                    Slog.w(TAG, "Proximity sensor took too long, wake event already triggered!");
                    return;
                }
                mHandler.removeMessages(MSG_WAKE_UP);
                final float distance = event.values[0];
                if (distance >= PROXIMITY_NEAR_THRESHOLD || distance >= mProximitySensor.getMaximumRange()) {
                    r.run();
                } else {
                    Slog.w(TAG, "Not waking up. Proximity sensor is blocked.");
                }
            }

            @Override
            public void onAccuracyChanged(Sensor sensor, int accuracy) {
            // Do nothing
            }
        };
        mSensorManager.registerListener(mProximityListener, mProximitySensor, SensorManager.SENSOR_DELAY_FASTEST);
    }
}
Example 60
Project: Flight-Computer-Android-Flightradar24-master  File: FCActivity.java View source code
public void startSensor() {
    pressure_hPa_filter_ = new KalmanFilter(KF_VAR_ACCEL);
    sensor_manager_ = (SensorManager) getSystemService(SENSOR_SERVICE);
    sensor_pressure_ = sensor_manager_.getDefaultSensor(Sensor.TYPE_PRESSURE);
    pressure_hPa_ = 1013.0912;
    pressure_hPa_filter_.reset(pressure_hPa_);
    last_measurement_time_ = SystemClock.elapsedRealtime() / 1000.;
    // Start listening to the pressure sensor.		    	  			 	
    mSensorListener = new SensorEventListener() {

        @Override
        public void onSensorChanged(SensorEvent event) {
            pressure_hPa_ = event.values[0];
        }

        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
}
Example 61
Project: kevoree-library-master  File: SensorEventListenerProxy.java View source code
public boolean startListening(final SensorEventListener pListener, final int pSensorType, final int pRate) {
    final Sensor sensor = mSensorManager.getDefaultSensor(pSensorType);
    if (sensor == null)
        return false;
    mListener = pListener;
    return mSensorManager.registerListener(this, sensor, pRate);
}
Example 62
Project: MapLite-master  File: SensorEventListenerProxy.java View source code
public boolean startListening(final SensorEventListener pListener, final int pSensorType, final int pRate) {
    final Sensor sensor = mSensorManager.getDefaultSensor(pSensorType);
    if (sensor == null)
        return false;
    mListener = pListener;
    return mSensorManager.registerListener(this, sensor, pRate);
}
Example 63
Project: MozStumbler-master  File: SensorEventListenerProxy.java View source code
public boolean startListening(final SensorEventListener pListener, final int pSensorType, final int pRate) {
    final Sensor sensor = mSensorManager.getDefaultSensor(pSensorType);
    if (sensor == null)
        return false;
    mListener = pListener;
    return mSensorManager.registerListener(this, sensor, pRate);
}
Example 64
Project: osmdroid-master  File: SensorEventListenerProxy.java View source code
public boolean startListening(final SensorEventListener pListener, final int pSensorType, final int pRate) {
    final Sensor sensor = mSensorManager.getDefaultSensor(pSensorType);
    if (sensor == null)
        return false;
    mListener = pListener;
    return mSensorManager.registerListener(this, sensor, pRate);
}
Example 65
Project: cloud-cup-android-master  File: ShakingGameActivity.java View source code
@Override
protected void onResume() {
    super.onResume();
    mSensorManager.registerListener((SensorEventListener) this, mSensor, SensorManager.SENSOR_DELAY_FASTEST);
}
Example 66
Project: matos-profiles-master  File: SensorManager.java View source code
@com.francetelecom.rd.stubs.annotation.ArgsRule(value = "SensorManager.registerListener-3", pos = 2, report = "-")
public boolean registerListener(@com.francetelecom.rd.stubs.annotation.CallBackRegister("android.hardware.SensorEventListener.onChange") SensorEventListener arg1, Sensor arg2, int arg3) {
    return false;
}
Example 67
Project: android-sdk-sources-for-api-level-23-master  File: SensorManager.java View source code
/**
     * Unregisters a listener for the sensors with which it is registered.
     *
     * <p class="note"></p>
     * Note: Don't use this method with a one shot trigger sensor such as
     * {@link Sensor#TYPE_SIGNIFICANT_MOTION}.
     * Use {@link #cancelTriggerSensor(TriggerEventListener, Sensor)} instead.
     * </p>
     *
     * @param listener
     *        a SensorEventListener object
     *
     * @param sensor
     *        the sensor to unregister from
     *
     * @see #unregisterListener(SensorEventListener)
     * @see #registerListener(SensorEventListener, Sensor, int)
     */
public void unregisterListener(SensorEventListener listener, Sensor sensor) {
    if (listener == null || sensor == null) {
        return;
    }
    unregisterListenerImpl(listener, sensor);
}
Example 68
Project: platform_frameworks_base-master  File: SensorManager.java View source code
/**
     * Unregisters a listener for the sensors with which it is registered.
     *
     * <p class="note"></p>
     * Note: Don't use this method with a one shot trigger sensor such as
     * {@link Sensor#TYPE_SIGNIFICANT_MOTION}.
     * Use {@link #cancelTriggerSensor(TriggerEventListener, Sensor)} instead.
     * </p>
     *
     * @param listener
     *        a SensorEventListener object
     *
     * @param sensor
     *        the sensor to unregister from
     *
     * @see #unregisterListener(SensorEventListener)
     * @see #registerListener(SensorEventListener, Sensor, int)
     */
public void unregisterListener(SensorEventListener listener, Sensor sensor) {
    if (listener == null || sensor == null) {
        return;
    }
    unregisterListenerImpl(listener, sensor);
}
Example 69
Project: CyclismoProject-master  File: DataSource.java View source code
/**
   * Registers a heading listener.
   * 
   * @param listener the listener
   */
public void registerHeadingListener(SensorEventListener listener) {
    Sensor heading = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
    if (heading == null) {
        Log.d(TAG, "No heading sensor.");
        return;
    }
    sensorManager.registerListener(listener, heading, SensorManager.SENSOR_DELAY_UI);
}
Example 70
Project: OpenCamera-master  File: VfGyroSensor.java View source code
public void SetListener(SensorEventListener listener) {
    m_listener = listener;
}
Example 71
Project: android-chromium-master  File: DeviceMotionAndOrientation.java View source code
@Override
public boolean registerListener(SensorEventListener listener, int sensorType, int rate, Handler handler) {
    List<Sensor> sensors = mSensorManager.getSensorList(sensorType);
    if (sensors.isEmpty()) {
        return false;
    }
    return mSensorManager.registerListener(listener, sensors.get(0), rate, handler);
}
Example 72
Project: android-chromium-view-master  File: DeviceMotionAndOrientation.java View source code
@Override
public boolean registerListener(SensorEventListener listener, int sensorType, int rate, Handler handler) {
    List<Sensor> sensors = mSensorManager.getSensorList(sensorType);
    if (sensors.isEmpty()) {
        return false;
    }
    return mSensorManager.registerListener(listener, sensors.get(0), rate, handler);
}
Example 73
Project: caw_shell-master  File: DeviceMotionAndOrientation.java View source code
@Override
public boolean registerListener(SensorEventListener listener, int sensorType, int rate, Handler handler) {
    List<Sensor> sensors = mSensorManager.getSensorList(sensorType);
    if (sensors.isEmpty()) {
        return false;
    }
    return mSensorManager.registerListener(listener, sensors.get(0), rate, handler);
}
Example 74
Project: chromeview-master  File: DeviceMotionAndOrientation.java View source code
public boolean registerListener(SensorEventListener listener, int sensorType, int rate, Handler handler) {
    List<Sensor> sensors = mSensorManager.getSensorList(sensorType);
    if (sensors.isEmpty()) {
        return false;
    }
    return mSensorManager.registerListener(listener, sensors.get(0), rate, handler);
}
Example 75
Project: chromium_webview-master  File: DeviceMotionAndOrientation.java View source code
@Override
public boolean registerListener(SensorEventListener listener, int sensorType, int rate, Handler handler) {
    List<Sensor> sensors = mSensorManager.getSensorList(sensorType);
    if (sensors.isEmpty()) {
        return false;
    }
    return mSensorManager.registerListener(listener, sensors.get(0), rate, handler);
}
Example 76
Project: RocBrowser-master  File: DeviceMotionAndOrientation.java View source code
public boolean registerListener(SensorEventListener listener, int sensorType, int rate, Handler handler) {
    List<Sensor> sensors = mSensorManager.getSensorList(sensorType);
    if (sensors.isEmpty()) {
        return false;
    }
    return mSensorManager.registerListener(listener, sensors.get(0), rate, handler);
}
Example 77
Project: SealBrowser-master  File: DeviceMotionAndOrientation.java View source code
@Override
public boolean registerListener(SensorEventListener listener, int sensorType, int rate, Handler handler) {
    List<Sensor> sensors = mSensorManager.getSensorList(sensorType);
    if (sensors.isEmpty()) {
        return false;
    }
    return mSensorManager.registerListener(listener, sensors.get(0), rate, handler);
}