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

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

Merge "Remove deprecated VibrationAttributes.getAudioAttrs method"

parents 8a8b6fcd 8f2674b2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2995,7 +2995,7 @@ package android.os {
  }

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

  public static final class VibrationAttributes.Builder {
+3 −3
Original line number Diff line number Diff line
@@ -29,7 +29,6 @@ import android.annotation.TestApi;
import android.compat.annotation.ChangeId;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.media.AudioAttributes;
import android.os.Binder;
import android.os.BlockUntrustedTouchesMode;
import android.os.Build;
@@ -42,6 +41,7 @@ import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.ServiceManager.ServiceNotFoundException;
import android.os.SystemClock;
import android.os.VibrationAttributes;
import android.os.VibrationEffect;
import android.os.Vibrator;
import android.provider.Settings;
@@ -1435,8 +1435,8 @@ public final class InputManager {
         * @hide
         */
        @Override
        public void vibrate(int uid, String opPkg, VibrationEffect effect,
                String reason, AudioAttributes attributes) {
        public void vibrate(int uid, String opPkg, @NonNull VibrationEffect effect,
                String reason, @NonNull VibrationAttributes attributes) {
            try {
                mIm.vibrate(mDeviceId, effect, mToken);
            } catch (RemoteException ex) {
+1 −3
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package android.os;

import android.media.AudioAttributes;

/**
 * Vibrator implementation that does nothing.
 *
@@ -50,7 +48,7 @@ public class NullVibrator extends Vibrator {

    @Override
    public void vibrate(int uid, String opPkg, VibrationEffect effect,
            String reason, AudioAttributes attributes) {
            String reason, VibrationAttributes attributes) {
    }

    @Override
+3 −7
Original line number Diff line number Diff line
@@ -221,18 +221,14 @@ public class SystemVibrator extends Vibrator {
    }

    @Override
    public void vibrate(int uid, String opPkg, VibrationEffect effect,
            String reason, AudioAttributes attributes) {
    public void vibrate(int uid, String opPkg, @NonNull VibrationEffect effect,
            String reason, @NonNull VibrationAttributes attributes) {
        if (mService == null) {
            Log.w(TAG, "Failed to vibrate; no vibrator service.");
            return;
        }
        try {
            if (attributes == null) {
                attributes = new AudioAttributes.Builder().build();
            }
            VibrationAttributes atr = new VibrationAttributes.Builder(attributes, effect).build();
            mService.vibrate(uid, opPkg, effect, atr, reason, mToken);
            mService.vibrate(uid, opPkg, effect, attributes, reason, mToken);
        } catch (RemoteException e) {
            Log.w(TAG, "Failed to vibrate.", e);
        }
+37 −22
Original line number Diff line number Diff line
@@ -140,13 +140,12 @@ public final class VibrationAttributes implements Parcelable {

    private final int mUsage;
    private final int mFlags;
    private final int mOriginalAudioUsage;

    private final AudioAttributes mAudioAttributes;

    private VibrationAttributes(int usage, int flags, @NonNull AudioAttributes audio) {
    private VibrationAttributes(int usage, int audioUsage, int flags) {
        mUsage = usage;
        mOriginalAudioUsage = audioUsage;
        mFlags = flags & FLAG_ALL_SUPPORTED;
        mAudioAttributes = audio;
    }

    /**
@@ -182,14 +181,31 @@ public final class VibrationAttributes implements Parcelable {
    }

    /**
     * Return AudioAttributes equivalent to this VibrationAttributes.
     * @deprecated Temporary support of AudioAttributes, will be removed when out of WIP
     * Return {@link AudioAttributes} usage equivalent to {@link #getUsage()}.
     * @return one of {@link AudioAttributes#SDK_USAGES} that represents {@link #getUsage()}
     * @hide
     */
    @Deprecated
    @TestApi
    public @NonNull AudioAttributes getAudioAttributes() {
        return mAudioAttributes;
    public int getAudioUsage() {
        if (mOriginalAudioUsage != AudioAttributes.USAGE_UNKNOWN) {
            // Return same audio usage set in the Builder.
            return mOriginalAudioUsage;
        }
        // Return correct audio usage based on the vibration usage set in the Builder.
        switch (mUsage) {
            case USAGE_NOTIFICATION:
                return AudioAttributes.USAGE_NOTIFICATION;
            case USAGE_COMMUNICATION_REQUEST:
                return AudioAttributes.USAGE_NOTIFICATION_COMMUNICATION_REQUEST;
            case USAGE_RINGTONE:
                return AudioAttributes.USAGE_NOTIFICATION_RINGTONE;
            case USAGE_TOUCH:
                return AudioAttributes.USAGE_ASSISTANCE_SONIFICATION;
            case USAGE_ALARM:
                return AudioAttributes.USAGE_ALARM;
            default:
                return AudioAttributes.USAGE_UNKNOWN;
        }
    }

    @Override
@@ -200,15 +216,14 @@ public final class VibrationAttributes implements Parcelable {
    @Override
    public void writeToParcel(@NonNull Parcel dest, int flags) {
        dest.writeInt(mUsage);
        dest.writeInt(mOriginalAudioUsage);
        dest.writeInt(mFlags);
        dest.writeParcelable(mAudioAttributes, flags);
    }

    private VibrationAttributes(Parcel src) {
        mUsage = src.readInt();
        mOriginalAudioUsage = src.readInt();
        mFlags = src.readInt();
        mAudioAttributes = (AudioAttributes) src.readParcelable(
                AudioAttributes.class.getClassLoader());
    }

    public static final @NonNull Parcelable.Creator<VibrationAttributes>
@@ -230,18 +245,20 @@ public final class VibrationAttributes implements Parcelable {
            return false;
        }
        VibrationAttributes rhs = (VibrationAttributes) o;
        return mUsage == rhs.mUsage && mFlags == rhs.mFlags;
        return mUsage == rhs.mUsage && mOriginalAudioUsage == rhs.mOriginalAudioUsage
                && mFlags == rhs.mFlags;
    }

    @Override
    public int hashCode() {
        return Objects.hash(mUsage, mFlags);
        return Objects.hash(mUsage, mOriginalAudioUsage, mFlags);
    }

    @Override
    public String toString() {
        return "VibrationAttributes:"
                + " Usage=" + usageToString()
                + " Audio Usage= " + AudioAttributes.usageToString(mOriginalAudioUsage)
                + " Flags=" + mFlags;
    }

@@ -280,10 +297,9 @@ public final class VibrationAttributes implements Parcelable {
     */
    public static final class Builder {
        private int mUsage = USAGE_UNKNOWN;
        private int mOriginalAudioUsage = AudioAttributes.USAGE_UNKNOWN;
        private int mFlags = 0x0;

        private AudioAttributes mAudioAttributes = new AudioAttributes.Builder().build();

        /**
         * Constructs a new Builder with the defaults.
         */
@@ -296,8 +312,8 @@ public final class VibrationAttributes implements Parcelable {
        public Builder(@Nullable VibrationAttributes vib) {
            if (vib != null) {
                mUsage = vib.mUsage;
                mOriginalAudioUsage = vib.mOriginalAudioUsage;
                mFlags = vib.mFlags;
                mAudioAttributes = vib.mAudioAttributes;
            }
        }

@@ -306,9 +322,7 @@ public final class VibrationAttributes implements Parcelable {
         * @hide
         */
        @TestApi
        public Builder(@NonNull AudioAttributes audio,
                @Nullable VibrationEffect effect) {
            mAudioAttributes = audio;
        public Builder(@NonNull AudioAttributes audio, @Nullable VibrationEffect effect) {
            setUsage(audio);
            setFlags(audio);
            applyHapticFeedbackHeuristics(effect);
@@ -342,6 +356,7 @@ public final class VibrationAttributes implements Parcelable {
        }

        private void setUsage(@NonNull AudioAttributes audio) {
            mOriginalAudioUsage = audio.getUsage();
            switch (audio.getUsage()) {
                case AudioAttributes.USAGE_NOTIFICATION:
                case AudioAttributes.USAGE_NOTIFICATION_EVENT:
@@ -379,8 +394,7 @@ public final class VibrationAttributes implements Parcelable {
         * @return a new {@link VibrationAttributes} object
         */
        public @NonNull VibrationAttributes build() {
            VibrationAttributes ans = new VibrationAttributes(mUsage, mFlags,
                    mAudioAttributes);
            VibrationAttributes ans = new VibrationAttributes(mUsage, mOriginalAudioUsage, mFlags);
            return ans;
        }

@@ -396,6 +410,7 @@ public final class VibrationAttributes implements Parcelable {
         * @return the same Builder instance.
         */
        public @NonNull Builder setUsage(int usage) {
            mOriginalAudioUsage = AudioAttributes.USAGE_UNKNOWN;
            mUsage = usage;
            return this;
        }
Loading