| Index: content/public/android/java/src/org/chromium/content/browser/DeviceMotionAndOrientation.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/browser/DeviceMotionAndOrientation.java b/content/public/android/java/src/org/chromium/content/browser/DeviceMotionAndOrientation.java
|
| index 54a0c56738d1651775d0877abc045557364138c1..eb9cf0ec596f90bf1b888bc7ea6ba3be984ec85b 100644
|
| --- a/content/public/android/java/src/org/chromium/content/browser/DeviceMotionAndOrientation.java
|
| +++ b/content/public/android/java/src/org/chromium/content/browser/DeviceMotionAndOrientation.java
|
| @@ -11,17 +11,16 @@ import android.hardware.SensorEventListener;
|
| import android.hardware.SensorManager;
|
| import android.os.Handler;
|
| import android.os.HandlerThread;
|
| -import android.os.Looper;
|
| import android.util.Log;
|
|
|
| import com.google.common.annotations.VisibleForTesting;
|
| -import com.google.common.collect.ImmutableSet;
|
| -import com.google.common.collect.Sets;
|
|
|
| import org.chromium.base.CalledByNative;
|
| +import org.chromium.base.CollectionUtil;
|
| import org.chromium.base.JNINamespace;
|
| import org.chromium.base.WeakContext;
|
|
|
| +import java.util.HashSet;
|
| import java.util.List;
|
| import java.util.Set;
|
|
|
| @@ -38,14 +37,14 @@ class DeviceMotionAndOrientation implements SensorEventListener {
|
| private Handler mHandler;
|
|
|
| // The lock to access the mHandler.
|
| - private Object mHandlerLock = new Object();
|
| + private final Object mHandlerLock = new Object();
|
|
|
| // Non-zero if and only if we're listening for events.
|
| // To avoid race conditions on the C++ side, access must be synchronized.
|
| private int mNativePtr;
|
|
|
| // The lock to access the mNativePtr.
|
| - private Object mNativePtrLock = new Object();
|
| + private final Object mNativePtrLock = new Object();
|
|
|
| // The acceleration vector including gravity expressed in the body frame.
|
| private float[] mAccelerationIncludingGravityVector;
|
| @@ -67,17 +66,17 @@ class DeviceMotionAndOrientation implements SensorEventListener {
|
| static final int DEVICE_ORIENTATION = 0;
|
| static final int DEVICE_MOTION = 1;
|
|
|
| - static final ImmutableSet<Integer> DEVICE_ORIENTATION_SENSORS = ImmutableSet.of(
|
| + static final Set<Integer> DEVICE_ORIENTATION_SENSORS = CollectionUtil.newHashSet(
|
| Sensor.TYPE_ACCELEROMETER,
|
| Sensor.TYPE_MAGNETIC_FIELD);
|
|
|
| - static final ImmutableSet<Integer> DEVICE_MOTION_SENSORS = ImmutableSet.of(
|
| + static final Set<Integer> DEVICE_MOTION_SENSORS = CollectionUtil.newHashSet(
|
| Sensor.TYPE_ACCELEROMETER,
|
| Sensor.TYPE_LINEAR_ACCELERATION,
|
| Sensor.TYPE_GYROSCOPE);
|
|
|
| @VisibleForTesting
|
| - final Set<Integer> mActiveSensors = Sets.newHashSet();
|
| + final Set<Integer> mActiveSensors = new HashSet<Integer>();
|
| boolean mDeviceMotionIsActive = false;
|
| boolean mDeviceOrientationIsActive = false;
|
|
|
| @@ -122,7 +121,7 @@ class DeviceMotionAndOrientation implements SensorEventListener {
|
|
|
| @CalledByNative
|
| public int getNumberActiveDeviceMotionSensors() {
|
| - Set<Integer> deviceMotionSensors = Sets.newHashSet(DEVICE_MOTION_SENSORS);
|
| + Set<Integer> deviceMotionSensors = new HashSet<Integer>(DEVICE_MOTION_SENSORS);
|
| deviceMotionSensors.removeAll(mActiveSensors);
|
| return DEVICE_MOTION_SENSORS.size() - deviceMotionSensors.size();
|
| }
|
| @@ -138,7 +137,7 @@ class DeviceMotionAndOrientation implements SensorEventListener {
|
| */
|
| @CalledByNative
|
| public void stop(int eventType) {
|
| - Set<Integer> sensorsToRemainActive = Sets.newHashSet();
|
| + Set<Integer> sensorsToRemainActive = new HashSet<Integer>();
|
| synchronized (mNativePtrLock) {
|
| switch (eventType) {
|
| case DEVICE_ORIENTATION:
|
| @@ -156,7 +155,7 @@ class DeviceMotionAndOrientation implements SensorEventListener {
|
| return;
|
| }
|
|
|
| - Set<Integer> sensorsToDeactivate = Sets.newHashSet(mActiveSensors);
|
| + Set<Integer> sensorsToDeactivate = new HashSet<Integer>(mActiveSensors);
|
| sensorsToDeactivate.removeAll(sensorsToRemainActive);
|
| unregisterSensors(sensorsToDeactivate);
|
| setEventTypeActive(eventType, false);
|
| @@ -298,9 +297,9 @@ class DeviceMotionAndOrientation implements SensorEventListener {
|
| * activated. When false the method return true if at least one
|
| * sensor in sensorTypes could be activated.
|
| */
|
| - private boolean registerSensors(Iterable<Integer> sensorTypes, int rateInMilliseconds,
|
| + private boolean registerSensors(Set<Integer> sensorTypes, int rateInMilliseconds,
|
| boolean failOnMissingSensor) {
|
| - Set<Integer> sensorsToActivate = Sets.newHashSet(sensorTypes);
|
| + Set<Integer> sensorsToActivate = new HashSet<Integer>(sensorTypes);
|
| sensorsToActivate.removeAll(mActiveSensors);
|
| boolean success = false;
|
|
|
| @@ -442,6 +441,7 @@ class DeviceMotionAndOrientation implements SensorEventListener {
|
| mSensorManager = sensorManager;
|
| }
|
|
|
| + @Override
|
| public boolean registerListener(SensorEventListener listener, int sensorType, int rate,
|
| Handler handler) {
|
| List<Sensor> sensors = mSensorManager.getSensorList(sensorType);
|
| @@ -451,6 +451,7 @@ class DeviceMotionAndOrientation implements SensorEventListener {
|
| return mSensorManager.registerListener(listener, sensors.get(0), rate, handler);
|
| }
|
|
|
| + @Override
|
| public void unregisterListener(SensorEventListener listener, int sensorType) {
|
| List<Sensor> sensors = mSensorManager.getSensorList(sensorType);
|
| if (!sensors.isEmpty()) {
|
|
|