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

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

Merge "Add VibrationAttributes"

parents e11493cb 7b2c88c0
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
@@ -36096,6 +36096,37 @@ package android.os {
    method public int getUserOperationResult();
  }
  public final class VibrationAttributes implements android.os.Parcelable {
    method public int describeContents();
    method public int getFlags();
    method public int getUsage();
    method public int getUsageClass();
    method public boolean isFlagSet(int);
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.os.VibrationAttributes> CREATOR;
    field public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 1; // 0x1
    field public static final int USAGE_ALARM = 17; // 0x11
    field public static final int USAGE_CLASS_ALARM = 1; // 0x1
    field public static final int USAGE_CLASS_FEEDBACK = 2; // 0x2
    field public static final int USAGE_CLASS_MASK = 15; // 0xf
    field public static final int USAGE_CLASS_UNKNOWN = 0; // 0x0
    field public static final int USAGE_COMMUNICATION_REQUEST = 65; // 0x41
    field public static final int USAGE_HARDWARE_FEEDBACK = 50; // 0x32
    field public static final int USAGE_NOTIFICATION = 49; // 0x31
    field public static final int USAGE_PHYSICAL_EMULATION = 34; // 0x22
    field public static final int USAGE_RINGTONE = 33; // 0x21
    field public static final int USAGE_TOUCH = 18; // 0x12
    field public static final int USAGE_UNKNOWN = 0; // 0x0
  }
  public static final class VibrationAttributes.Builder {
    ctor public VibrationAttributes.Builder();
    ctor public VibrationAttributes.Builder(@Nullable android.os.VibrationAttributes);
    method @NonNull public android.os.VibrationAttributes build();
    method @NonNull public android.os.VibrationAttributes.Builder replaceFlags(int);
    method @NonNull public android.os.VibrationAttributes.Builder setUsage(int);
  }
  public abstract class VibrationEffect implements android.os.Parcelable {
    method public static android.os.VibrationEffect createOneShot(long, int);
    method @NonNull public static android.os.VibrationEffect createPredefined(int);
+8 −0
Original line number Diff line number Diff line
@@ -2183,6 +2183,14 @@ package android.os {
    field public static final String ACTION_USER_RESTRICTIONS_CHANGED = "android.os.action.USER_RESTRICTIONS_CHANGED";
  }

  public final class VibrationAttributes implements android.os.Parcelable {
    method @Deprecated @NonNull public android.media.AudioAttributes getAudioAttributes();
  }

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

  public abstract class VibrationEffect implements android.os.Parcelable {
    method public static android.os.VibrationEffect get(int);
    method public static android.os.VibrationEffect get(int, boolean);
+4 −0
Original line number Diff line number Diff line
@@ -84,6 +84,10 @@ public class ExternalVibration implements Parcelable {
        return mAttrs;
    }

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

    /**
     * Mutes the external vibration if it's playing and unmuted.
     *
+5 −4
Original line number Diff line number Diff line
@@ -16,17 +16,18 @@

package android.os;

import android.media.AudioAttributes;
import android.os.VibrationEffect;
import android.os.VibrationAttributes;

/** {@hide} */
interface IVibratorService
{
    boolean hasVibrator();
    boolean hasAmplitudeControl();
    boolean setAlwaysOnEffect(int id, in VibrationEffect effect, in AudioAttributes attributes);
    void vibrate(int uid, String opPkg, in VibrationEffect effect, in AudioAttributes attributes,
            String reason, IBinder token);
    boolean setAlwaysOnEffect(int id, in VibrationEffect effect,
            in VibrationAttributes attributes);
    void vibrate(int uid, String opPkg, in VibrationEffect effect,
            in VibrationAttributes attributes, String reason, IBinder token);
    void cancelVibrate(IBinder token);
}
+7 −2
Original line number Diff line number Diff line
@@ -76,7 +76,8 @@ public class SystemVibrator extends Vibrator {
            return false;
        }
        try {
            return mService.setAlwaysOnEffect(id, effect, attributes);
            VibrationAttributes atr = new VibrationAttributes.Builder(attributes, effect).build();
            return mService.setAlwaysOnEffect(id, effect, atr);
        } catch (RemoteException e) {
            Log.w(TAG, "Failed to set always-on effect.", e);
        }
@@ -91,7 +92,11 @@ public class SystemVibrator extends Vibrator {
            return;
        }
        try {
            mService.vibrate(uid, opPkg, effect, attributes, reason, mToken);
            if (attributes == null) {
                attributes = new AudioAttributes.Builder().build();
            }
            VibrationAttributes atr = new VibrationAttributes.Builder(attributes, effect).build();
            mService.vibrate(uid, opPkg, effect, atr, reason, mToken);
        } catch (RemoteException e) {
            Log.w(TAG, "Failed to vibrate.", e);
        }
Loading