Home | History | Annotate | Download | only in shadows
      1 package com.xtremelabs.robolectric.shadows;
      2 
      3 import android.hardware.Sensor;
      4 import android.hardware.SensorEvent;
      5 import android.hardware.SensorEventListener;
      6 import android.hardware.SensorManager;
      7 import android.os.Handler;
      8 
      9 import com.xtremelabs.robolectric.Robolectric;
     10 import com.xtremelabs.robolectric.internal.Implementation;
     11 import com.xtremelabs.robolectric.internal.Implements;
     12 
     13 import java.util.ArrayList;
     14 import java.util.List;
     15 
     16 
     17 @Implements(SensorManager.class)
     18 public class ShadowSensorManager {
     19 
     20 	private ArrayList<SensorEventListener> listeners = new ArrayList<SensorEventListener>();
     21 
     22 	public boolean forceListenersToFail = false;
     23 
     24 	@Implementation
     25 	public boolean registerListener(SensorEventListener listener, Sensor sensor, int rate) {
     26 
     27 		if(forceListenersToFail)
     28 			return false;
     29 
     30 		if(!listeners.contains(listener))
     31 			listeners.add(listener);
     32 
     33 		return true;
     34 	}
     35 
     36 	@Implementation
     37 	public void unregisterListener(SensorEventListener listener, Sensor sensor) {
     38 		listeners.remove(listener);
     39 	}
     40 
     41 	public boolean hasListener(SensorEventListener listener) {
     42 		return listeners.contains(listener);
     43 	}
     44 
     45 	public SensorEvent createSensorEvent() {
     46 		return Robolectric.newInstanceOf(SensorEvent.class);
     47 	}
     48 }
     49