Chromium Code Reviews| Index: device/vibration/android/java/src/org/chromium/device/vibration/VibrationManagerImpl.java |
| diff --git a/device/vibration/android/java/src/org/chromium/device/vibration/VibrationProvider.java b/device/vibration/android/java/src/org/chromium/device/vibration/VibrationManagerImpl.java |
| similarity index 54% |
| rename from device/vibration/android/java/src/org/chromium/device/vibration/VibrationProvider.java |
| rename to device/vibration/android/java/src/org/chromium/device/vibration/VibrationManagerImpl.java |
| index 0f12d7c2e67cbbd83ca2dc12628b72df6f77fb13..0283d1e21be446499be12a0a90f2eef700ddf830 100644 |
| --- a/device/vibration/android/java/src/org/chromium/device/vibration/VibrationProvider.java |
| +++ b/device/vibration/android/java/src/org/chromium/device/vibration/VibrationManagerImpl.java |
| @@ -1,4 +1,4 @@ |
| -// Copyright 2013 The Chromium Authors. All rights reserved. |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| @@ -10,45 +10,47 @@ import android.media.AudioManager; |
| import android.os.Vibrator; |
| import android.util.Log; |
| -import org.chromium.base.annotations.CalledByNative; |
| -import org.chromium.base.annotations.JNINamespace; |
| +import org.chromium.mojo.system.MojoException; |
| +import org.chromium.mojom.device.VibrationManager; |
| /** |
| - * This is the implementation of the C++ counterpart VibrationProvider. |
| + * Android implementation of the vibration manager service defined in |
| + * device/vibration/vibration_manager.mojom. |
| */ |
| -@JNINamespace("device") |
| -class VibrationProvider { |
| - private static final String TAG = "VibrationProvider"; |
| +public class VibrationManagerImpl implements VibrationManager { |
| + private static final String TAG = "VibrationManagerImpl"; |
| private final AudioManager mAudioManager; |
| private final Vibrator mVibrator; |
| private final boolean mHasVibratePermission; |
| - @CalledByNative |
| - private static VibrationProvider create(Context context) { |
| - return new VibrationProvider(context); |
| + public VibrationManagerImpl(Context context) { |
| + mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); |
| + mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); |
| + mHasVibratePermission = |
| + context.checkCallingOrSelfPermission(android.Manifest.permission.VIBRATE) |
| + == PackageManager.PERMISSION_GRANTED; |
| + if (!mHasVibratePermission) { |
| + Log.w(TAG, "Failed to use vibrate API, requires VIBRATE permission."); |
| + } |
| } |
| - @CalledByNative |
| - private void vibrate(long milliseconds) { |
| + @Override |
| + public void close() {} |
| + |
| + @Override |
| + public void onConnectionError(MojoException e) {} |
|
timvolodine
2015/08/07 13:42:31
is it necessary to override this method if it's em
leonhsl(Using Gerrit)
2015/08/10 05:52:53
It's an abstract method of interface ConnectionErr
|
| + |
| + @Override |
| + public void vibrate(long milliseconds) { |
|
timvolodine
2015/08/07 13:42:31
what about the sanity check in vibration_manager_i
leonhsl(Using Gerrit)
2015/08/10 05:52:53
Done.
|
| if (mAudioManager.getRingerMode() != AudioManager.RINGER_MODE_SILENT |
| && mHasVibratePermission) { |
| mVibrator.vibrate(milliseconds); |
| } |
| } |
| - @CalledByNative |
| - private void cancelVibration() { |
| + @Override |
| + public void cancel() { |
| if (mHasVibratePermission) mVibrator.cancel(); |
| } |
| - |
| - private VibrationProvider(Context context) { |
| - mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); |
| - mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); |
| - mHasVibratePermission = context.checkCallingOrSelfPermission( |
| - android.Manifest.permission.VIBRATE) == PackageManager.PERMISSION_GRANTED; |
| - if (!mHasVibratePermission) { |
| - Log.w(TAG, "Failed to use vibrate API, requires VIBRATE permission."); |
| - } |
| - } |
| } |