ShadowVibrator.java revision aa1062defbe38956a7ff51abf077ab93b0911f0a
1331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogpackage com.xtremelabs.robolectric.shadows; 2331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 3331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogimport android.os.Vibrator; 4331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 5331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogimport com.xtremelabs.robolectric.internal.Implementation; 6331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogimport com.xtremelabs.robolectric.internal.Implements; 7331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 8331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog@Implements(Vibrator.class) 9331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogpublic class ShadowVibrator { 10aa1062defbe38956a7ff51abf077ab93b0911f0aLogdog private boolean vibrating; 11331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog private boolean cancelled; 12331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog private long milliseconds; 13331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog private long[] pattern; 14331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog private int repeat; 15331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 16331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog @Implementation 17331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog public void vibrate(long milliseconds) { 18aa1062defbe38956a7ff51abf077ab93b0911f0aLogdog vibrating = true; 19331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog this.milliseconds = milliseconds; 20331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog } 21331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 22331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog @Implementation 23331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog public void vibrate(long[] pattern, int repeat) { 24aa1062defbe38956a7ff51abf077ab93b0911f0aLogdog vibrating = true; 25331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog this.pattern = pattern; 26331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog this.repeat = repeat; 27331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog } 28331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 29331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog @Implementation 30331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog public void cancel() { 31331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog cancelled = true; 32aa1062defbe38956a7ff51abf077ab93b0911f0aLogdog vibrating = false; 33aa1062defbe38956a7ff51abf077ab93b0911f0aLogdog } 34aa1062defbe38956a7ff51abf077ab93b0911f0aLogdog 35aa1062defbe38956a7ff51abf077ab93b0911f0aLogdog public boolean isVibrating() { 36aa1062defbe38956a7ff51abf077ab93b0911f0aLogdog return vibrating; 37331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog } 38331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 39331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog public boolean isCancelled() { 40331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog return cancelled; 41331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog } 42331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 43331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog public long getMilliseconds() { 44331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog return milliseconds; 45331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog } 46331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 47331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog public long[] getPattern() { 48331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog return pattern; 49331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog } 50331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 51331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog public int getRepeat() { 52331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog return repeat; 53331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog } 54331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog}