Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2772)

Unified Diff: device/vibration/android/java/src/org/chromium/device/vibration/VibrationManagerImpl.java

Issue 1274033002: Vibration API: convert implementation to java mojo-service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.");
- }
- }
}

Powered by Google App Engine
This is Rietveld 408576698