Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 33f9db92 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add public vibrate method with VibrationAttributes"

parents d71cc858 4e9af660
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -32342,6 +32342,7 @@ package android.os {
  }
  public final class VibrationAttributes implements android.os.Parcelable {
    method @NonNull public static android.os.VibrationAttributes createForUsage(int);
    method public int describeContents();
    method public int getFlags();
    method public int getUsage();
@@ -32367,6 +32368,7 @@ package android.os {
  public static final class VibrationAttributes.Builder {
    ctor public VibrationAttributes.Builder();
    ctor public VibrationAttributes.Builder(@Nullable android.os.VibrationAttributes);
    ctor public VibrationAttributes.Builder(@NonNull android.media.AudioAttributes);
    method @NonNull public android.os.VibrationAttributes build();
    method @NonNull public android.os.VibrationAttributes.Builder setFlags(int, int);
    method @NonNull public android.os.VibrationAttributes.Builder setUsage(int);
@@ -32417,7 +32419,8 @@ package android.os {
    method @Deprecated @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(long[], int);
    method @Deprecated @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(long[], int, android.media.AudioAttributes);
    method @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(android.os.VibrationEffect);
    method @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(android.os.VibrationEffect, android.media.AudioAttributes);
    method @Deprecated @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(android.os.VibrationEffect, android.media.AudioAttributes);
    method @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(@NonNull android.os.VibrationEffect, @NonNull android.os.VibrationAttributes);
    field public static final int VIBRATION_EFFECT_SUPPORT_NO = 2; // 0x2
    field public static final int VIBRATION_EFFECT_SUPPORT_UNKNOWN = 0; // 0x0
    field public static final int VIBRATION_EFFECT_SUPPORT_YES = 1; // 0x1
+2 −1
Original line number Diff line number Diff line
@@ -1835,7 +1835,8 @@ package android.os {
  }

  public static final class VibrationAttributes.Builder {
    ctor public VibrationAttributes.Builder(@NonNull android.media.AudioAttributes, @Nullable android.os.VibrationEffect);
    ctor public VibrationAttributes.Builder(@NonNull android.media.AudioAttributes, @NonNull android.os.VibrationEffect);
    ctor public VibrationAttributes.Builder(@NonNull android.os.VibrationAttributes, @NonNull android.os.VibrationEffect);
  }

  public abstract class VibrationEffect implements android.os.Parcelable {
+2 −2
Original line number Diff line number Diff line
@@ -174,8 +174,8 @@ final class InputDeviceVibrator extends Vibrator {
     * @hide
     */
    @Override
    public void vibrate(int uid, String opPkg, @NonNull VibrationEffect effect,
            String reason, @NonNull VibrationAttributes attributes) {
    public void vibrate(int uid, String opPkg, @NonNull VibrationEffect effect, String reason,
            @NonNull VibrationAttributes attributes) {
        mInputManager.vibrate(mDeviceId, effect, mToken);
    }

+1 −1
Original line number Diff line number Diff line
@@ -99,7 +99,7 @@ public class ExternalVibration implements Parcelable {
    }

    public VibrationAttributes getVibrationAttributes() {
        return new VibrationAttributes.Builder(mAttrs, null).build();
        return new VibrationAttributes.Builder(mAttrs).build();
    }

    /**
+5 −4
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import android.annotation.CallbackExecutor;
import android.annotation.NonNull;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.media.AudioAttributes;
import android.util.ArrayMap;
import android.util.Log;
import android.util.SparseArray;
@@ -180,14 +179,13 @@ public class SystemVibrator extends Vibrator {

    @Override
    public boolean setAlwaysOnEffect(int uid, String opPkg, int alwaysOnId, VibrationEffect effect,
            AudioAttributes attributes) {
            VibrationAttributes attrs) {
        if (mVibratorManager == null) {
            Log.w(TAG, "Failed to set always-on effect; no vibrator manager.");
            return false;
        }
        VibrationAttributes attr = new VibrationAttributes.Builder(attributes, effect).build();
        CombinedVibration combinedEffect = CombinedVibration.createParallel(effect);
        return mVibratorManager.setAlwaysOnEffect(uid, opPkg, alwaysOnId, combinedEffect, attr);
        return mVibratorManager.setAlwaysOnEffect(uid, opPkg, alwaysOnId, combinedEffect, attrs);
    }

    @Override
@@ -198,6 +196,9 @@ public class SystemVibrator extends Vibrator {
            return;
        }
        CombinedVibration combinedEffect = CombinedVibration.createParallel(effect);
        // TODO(b/185351540): move this into VibratorManagerService once the touch vibration
        // heuristics is fixed and works for CombinedVibration. Make sure it's always applied.
        attributes = new VibrationAttributes.Builder(attributes, effect).build();
        mVibratorManager.vibrate(uid, opPkg, combinedEffect, reason, attributes);
    }

Loading