1a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown/*
2a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown * Copyright (C) 2012 The Android Open Source Project
3a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown *
4a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown * Licensed under the Apache License, Version 2.0 (the "License");
5a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown * you may not use this file except in compliance with the License.
6a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown * You may obtain a copy of the License at
7a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown *
8a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown *      http://www.apache.org/licenses/LICENSE-2.0
9a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown *
10a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown * Unless required by applicable law or agreed to in writing, software
11a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown * distributed under the License is distributed on an "AS IS" BASIS,
12a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown * See the License for the specific language governing permissions and
14a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown * limitations under the License.
15a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown */
16a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown
17a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brownpackage android.os;
18a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown
19a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brownimport android.util.Log;
20a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown
21a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown/**
22a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown * Vibrator implementation that does nothing.
23a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown *
24a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown * @hide
25a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown */
26a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brownpublic class NullVibrator extends Vibrator {
27a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown    private static final NullVibrator sInstance = new NullVibrator();
28a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown
29a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown    private NullVibrator() {
30a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown    }
31a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown
32a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown    public static NullVibrator getInstance() {
33a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown        return sInstance;
34a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown    }
35a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown
36a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown    @Override
37a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown    public boolean hasVibrator() {
38a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown        return false;
39a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown    }
40a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown
41a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown    @Override
42a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown    public void vibrate(long milliseconds) {
43a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown    }
44a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown
45a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown    @Override
46a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown    public void vibrate(long[] pattern, int repeat) {
47a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown        if (repeat >= pattern.length) {
48a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown            throw new ArrayIndexOutOfBoundsException();
49a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown        }
50a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown    }
51a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown
52a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown    @Override
53a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown    public void cancel() {
54a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown    }
55a47425a13c19f95057df78b8bb65bb25657e8753Jeff Brown}
56