1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 package org.chromium.content.browser;
7 import android.content.Context;
8 import android.media.AudioManager;
9 import android.os.Vibrator;
11 import org.chromium.base.CalledByNative;
12 import org.chromium.base.JNINamespace;
15 * This is the implementation of the C++ counterpart VibrationProvider.
17 @JNINamespace("content")
18 class VibrationProvider {
20 private final AudioManager mAudioManager;
21 private final Vibrator mVibrator;
24 private static VibrationProvider create(Context context) {
25 return new VibrationProvider(context);
29 private void vibrate(long milliseconds) {
30 if (mAudioManager.getRingerMode() != AudioManager.RINGER_MODE_SILENT)
31 mVibrator.vibrate(milliseconds);
35 private void cancelVibration() {
39 private VibrationProvider(Context context) {
40 mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
41 mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);