Android Open Source - Sensoria Sensor Collector






From Project

Back to project page Sensoria.

License

The source code is released under:

MIT License

If you think the Android project Sensoria listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.grocs.sensors.common;
// w  w w . ja  v a  2s  .c  o  m
import android.hardware.Sensor;
import android.hardware.SensorManager;

import java.util.HashSet;
import java.util.Set;

/**
 * Utility class to collect a filtered collection of sensorData from the SensorManager.
 * Additionaly verifies if a sensor is the default sensor for its type.
 * Note that since API 18, it seems like every sensor has been given its own type,
 * so every sensor seems to be the default sensor for its type - not very usefull...
 *
 * @author roomsg
 */
class SensorCollector {
    private final SensorData[] sensors;

    /**
     * Constructor.
     */
    SensorCollector(final SensorManager sensorManager, final SensorFilter filter) {
        // create filtered sensorSet
        final Set<SensorData> sensorSet = new HashSet<SensorData>();
        for (Sensor sensor : sensorManager.getSensorList(Sensor.TYPE_ALL)) {
            // compare with default sensor for the given type / reference equality on purpose !
            final boolean isDefault = (sensor == sensorManager.getDefaultSensor(sensor.getType()));
            // create sensorData
            final SensorData sensorData = new SensorData(sensor, isDefault);
            // register ico passing the filter
            if (filter.filter(sensorData)) {
                sensorSet.add(sensorData);
            }
        }
        // assign to our array result
        this.sensors = sensorSet.toArray(new SensorData[sensorSet.size()]);
    }

    /**
     * get resulting sensors.
     * @return filtered sensorData
     */
    SensorData[] getSensors() {
        return sensors;
    }
}




Java Source Code List

com.grocs.sensors.common.FloatConvertor.java
com.grocs.sensors.common.ISensorData.java
com.grocs.sensors.common.ISensorDescription.java
com.grocs.sensors.common.SensorCollector.java
com.grocs.sensors.common.SensorConstants.java
com.grocs.sensors.common.SensorDataComparator.java
com.grocs.sensors.common.SensorDataManagerListener.java
com.grocs.sensors.common.SensorDataManager.java
com.grocs.sensors.common.SensorData.java
com.grocs.sensors.common.SensorDescriptions.java
com.grocs.sensors.common.SensorFilter.java
com.grocs.sensors.common.SensorUtils.java
com.grocs.sensors.common.TestFloatConvertor.java
com.grocs.sensors.ui.ActivityDetail.java
com.grocs.sensors.ui.Activity.java
com.grocs.sensors.ui.EntryAdapter.java
com.grocs.sensors.ui.FloatFormatter.java
com.grocs.sensors.ui.SensorEntryComparator.java
com.grocs.sensors.ui.SensorEntry.java
com.grocs.sensors.ui.SensorPreferenceActivity.java
com.grocs.sensors.ui.TestFloatFormatter.java