Loading api/current.txt +31 −0 Original line number Diff line number Diff line Loading @@ -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); api/test-current.txt +8 −0 Original line number Diff line number Diff line Loading @@ -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); Loading core/java/android/os/ExternalVibration.java +4 −0 Original line number Diff line number Diff line Loading @@ -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. * Loading core/java/android/os/IVibratorService.aidl +5 −4 Original line number Diff line number Diff line Loading @@ -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); } core/java/android/os/SystemVibrator.java +7 −2 Original line number Diff line number Diff line Loading @@ -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); } Loading @@ -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 Loading
api/current.txt +31 −0 Original line number Diff line number Diff line Loading @@ -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);
api/test-current.txt +8 −0 Original line number Diff line number Diff line Loading @@ -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); Loading
core/java/android/os/ExternalVibration.java +4 −0 Original line number Diff line number Diff line Loading @@ -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. * Loading
core/java/android/os/IVibratorService.aidl +5 −4 Original line number Diff line number Diff line Loading @@ -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); }
core/java/android/os/SystemVibrator.java +7 −2 Original line number Diff line number Diff line Loading @@ -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); } Loading @@ -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