Loading core/api/module-lib-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -225,7 +225,7 @@ package android.media { method @Nullable public android.os.IBinder get(); } @FlaggedApi("android.media.audio.ringtone_vibration_utils_api") public class Utils { @FlaggedApi("android.media.audio.ringtone_vibration_utils_api") public final class VibrationUtils { method @FlaggedApi("android.media.audio.ringtone_vibration_utils_api") public static boolean hasVibrationParameter(@Nullable android.net.Uri); field @FlaggedApi("android.media.audio.ringtone_vibration_utils_api") public static final String SYNCHRONIZED_VIBRATION = "synchronized"; field @FlaggedApi("android.media.audio.ringtone_vibration_utils_api") public static final String VIBRATION_URI_PARAM = "vibration_uri"; Loading core/api/test-current.txt +3 −3 Original line number Diff line number Diff line Loading @@ -2230,9 +2230,9 @@ package android.media { method public android.media.PlaybackParams setAudioStretchMode(int); } @FlaggedApi("android.media.audio.ringtone_vibration_utils_api") public class Utils { field @FlaggedApi("android.media.audio.ringtone_vibration_utils_api") public static final String SYNCHRONIZED_VIBRATION = "synchronized"; field @FlaggedApi("android.media.audio.ringtone_vibration_utils_api") public static final String VIBRATION_URI_PARAM = "vibration_uri"; public class Utils { field public static final String SYNCHRONIZED_VIBRATION = "synchronized"; field public static final String VIBRATION_URI_PARAM = "vibration_uri"; } public final class VolumePolicy implements android.os.Parcelable { Loading core/java/android/media/VibrationUtils.java 0 → 100644 +65 −0 Original line number Diff line number Diff line /* * Copyright (C) 2025 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media; import static android.annotation.SystemApi.Client.MODULE_LIBRARIES; import android.annotation.FlaggedApi; import android.annotation.Nullable; import android.annotation.SystemApi; import android.media.audio.Flags; import android.net.Uri; /** * Utility methods of System APIs for Mainlines to be able to handle ringtone/vibration uri check. * @hide */ @FlaggedApi(Flags.FLAG_RINGTONE_VIBRATION_UTILS_API) @SystemApi(client = MODULE_LIBRARIES) public final class VibrationUtils { // Not instantiable. private VibrationUtils() {} /** * The vibration uri key parameter used to query its existence from the ringtone uri * @hide */ @FlaggedApi(Flags.FLAG_RINGTONE_VIBRATION_UTILS_API) @SystemApi(client = MODULE_LIBRARIES) public static final String VIBRATION_URI_PARAM = Utils.VIBRATION_URI_PARAM; /** * The vibration uri path segment indicates the synchronized vibration * @hide */ @FlaggedApi(Flags.FLAG_RINGTONE_VIBRATION_UTILS_API) @SystemApi(client = MODULE_LIBRARIES) public static final String SYNCHRONIZED_VIBRATION = Utils.SYNCHRONIZED_VIBRATION; /** * Whether the given ringtone Uri has vibration Uri parameter * * @param ringtoneUri the ringtone Uri * @return {@code true} if the Uri has vibration parameter * * @hide */ @FlaggedApi(Flags.FLAG_RINGTONE_VIBRATION_UTILS_API) @SystemApi(client = MODULE_LIBRARIES) public static boolean hasVibrationParameter(@Nullable Uri ringtoneUri) { return Utils.hasVibrationParameter(ringtoneUri); } } media/java/android/media/Utils.java +0 −18 Original line number Diff line number Diff line Loading @@ -16,19 +16,14 @@ package android.media; import static android.annotation.SystemApi.Client.MODULE_LIBRARIES; import android.annotation.FlaggedApi; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.TestApi; import android.content.ContentResolver; import android.content.Context; import android.content.res.Resources; import android.database.Cursor; import android.media.audio.Flags; import android.net.Uri; import android.os.Binder; import android.os.Environment; Loading Loading @@ -65,16 +60,10 @@ import java.util.concurrent.Executor; * * This class is hidden but public to allow CTS testing and verification * of the static methods and classes. * * Also, this class provides the utility methods of System APIs for Mainlines to be able to handle * ringtone/vibration uri check. * * @hide */ @TestApi @SuppressLint({"StaticUtils"}) @FlaggedApi(Flags.FLAG_RINGTONE_VIBRATION_UTILS_API) @SystemApi(client = MODULE_LIBRARIES) public class Utils { // Not instantiable. Loading @@ -87,8 +76,6 @@ public class Utils { * @hide */ @TestApi @FlaggedApi(Flags.FLAG_RINGTONE_VIBRATION_UTILS_API) @SystemApi(client = MODULE_LIBRARIES) public static final String VIBRATION_URI_PARAM = "vibration_uri"; /** Loading @@ -96,8 +83,6 @@ public class Utils { * @hide */ @TestApi @FlaggedApi(Flags.FLAG_RINGTONE_VIBRATION_UTILS_API) @SystemApi(client = MODULE_LIBRARIES) public static final String SYNCHRONIZED_VIBRATION = "synchronized"; /** Loading Loading @@ -768,8 +753,6 @@ public class Utils { * * @hide */ @FlaggedApi(Flags.FLAG_RINGTONE_VIBRATION_UTILS_API) @SystemApi(client = MODULE_LIBRARIES) public static boolean hasVibrationParameter(@Nullable Uri ringtoneUri) { if (ringtoneUri == null) { return false; Loading Loading @@ -806,7 +789,6 @@ public class Utils { * * @hide */ @SuppressWarnings("FlaggedApi") // VibrationXmlParser is available internally as hidden APIs. public static VibrationEffect parseVibrationEffect(Vibrator vibrator, Uri vibrationUri) { if (vibrationUri == null) { Log.w(TAG, "The vibration Uri is null."); Loading Loading
core/api/module-lib-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -225,7 +225,7 @@ package android.media { method @Nullable public android.os.IBinder get(); } @FlaggedApi("android.media.audio.ringtone_vibration_utils_api") public class Utils { @FlaggedApi("android.media.audio.ringtone_vibration_utils_api") public final class VibrationUtils { method @FlaggedApi("android.media.audio.ringtone_vibration_utils_api") public static boolean hasVibrationParameter(@Nullable android.net.Uri); field @FlaggedApi("android.media.audio.ringtone_vibration_utils_api") public static final String SYNCHRONIZED_VIBRATION = "synchronized"; field @FlaggedApi("android.media.audio.ringtone_vibration_utils_api") public static final String VIBRATION_URI_PARAM = "vibration_uri"; Loading
core/api/test-current.txt +3 −3 Original line number Diff line number Diff line Loading @@ -2230,9 +2230,9 @@ package android.media { method public android.media.PlaybackParams setAudioStretchMode(int); } @FlaggedApi("android.media.audio.ringtone_vibration_utils_api") public class Utils { field @FlaggedApi("android.media.audio.ringtone_vibration_utils_api") public static final String SYNCHRONIZED_VIBRATION = "synchronized"; field @FlaggedApi("android.media.audio.ringtone_vibration_utils_api") public static final String VIBRATION_URI_PARAM = "vibration_uri"; public class Utils { field public static final String SYNCHRONIZED_VIBRATION = "synchronized"; field public static final String VIBRATION_URI_PARAM = "vibration_uri"; } public final class VolumePolicy implements android.os.Parcelable { Loading
core/java/android/media/VibrationUtils.java 0 → 100644 +65 −0 Original line number Diff line number Diff line /* * Copyright (C) 2025 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media; import static android.annotation.SystemApi.Client.MODULE_LIBRARIES; import android.annotation.FlaggedApi; import android.annotation.Nullable; import android.annotation.SystemApi; import android.media.audio.Flags; import android.net.Uri; /** * Utility methods of System APIs for Mainlines to be able to handle ringtone/vibration uri check. * @hide */ @FlaggedApi(Flags.FLAG_RINGTONE_VIBRATION_UTILS_API) @SystemApi(client = MODULE_LIBRARIES) public final class VibrationUtils { // Not instantiable. private VibrationUtils() {} /** * The vibration uri key parameter used to query its existence from the ringtone uri * @hide */ @FlaggedApi(Flags.FLAG_RINGTONE_VIBRATION_UTILS_API) @SystemApi(client = MODULE_LIBRARIES) public static final String VIBRATION_URI_PARAM = Utils.VIBRATION_URI_PARAM; /** * The vibration uri path segment indicates the synchronized vibration * @hide */ @FlaggedApi(Flags.FLAG_RINGTONE_VIBRATION_UTILS_API) @SystemApi(client = MODULE_LIBRARIES) public static final String SYNCHRONIZED_VIBRATION = Utils.SYNCHRONIZED_VIBRATION; /** * Whether the given ringtone Uri has vibration Uri parameter * * @param ringtoneUri the ringtone Uri * @return {@code true} if the Uri has vibration parameter * * @hide */ @FlaggedApi(Flags.FLAG_RINGTONE_VIBRATION_UTILS_API) @SystemApi(client = MODULE_LIBRARIES) public static boolean hasVibrationParameter(@Nullable Uri ringtoneUri) { return Utils.hasVibrationParameter(ringtoneUri); } }
media/java/android/media/Utils.java +0 −18 Original line number Diff line number Diff line Loading @@ -16,19 +16,14 @@ package android.media; import static android.annotation.SystemApi.Client.MODULE_LIBRARIES; import android.annotation.FlaggedApi; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.TestApi; import android.content.ContentResolver; import android.content.Context; import android.content.res.Resources; import android.database.Cursor; import android.media.audio.Flags; import android.net.Uri; import android.os.Binder; import android.os.Environment; Loading Loading @@ -65,16 +60,10 @@ import java.util.concurrent.Executor; * * This class is hidden but public to allow CTS testing and verification * of the static methods and classes. * * Also, this class provides the utility methods of System APIs for Mainlines to be able to handle * ringtone/vibration uri check. * * @hide */ @TestApi @SuppressLint({"StaticUtils"}) @FlaggedApi(Flags.FLAG_RINGTONE_VIBRATION_UTILS_API) @SystemApi(client = MODULE_LIBRARIES) public class Utils { // Not instantiable. Loading @@ -87,8 +76,6 @@ public class Utils { * @hide */ @TestApi @FlaggedApi(Flags.FLAG_RINGTONE_VIBRATION_UTILS_API) @SystemApi(client = MODULE_LIBRARIES) public static final String VIBRATION_URI_PARAM = "vibration_uri"; /** Loading @@ -96,8 +83,6 @@ public class Utils { * @hide */ @TestApi @FlaggedApi(Flags.FLAG_RINGTONE_VIBRATION_UTILS_API) @SystemApi(client = MODULE_LIBRARIES) public static final String SYNCHRONIZED_VIBRATION = "synchronized"; /** Loading Loading @@ -768,8 +753,6 @@ public class Utils { * * @hide */ @FlaggedApi(Flags.FLAG_RINGTONE_VIBRATION_UTILS_API) @SystemApi(client = MODULE_LIBRARIES) public static boolean hasVibrationParameter(@Nullable Uri ringtoneUri) { if (ringtoneUri == null) { return false; Loading Loading @@ -806,7 +789,6 @@ public class Utils { * * @hide */ @SuppressWarnings("FlaggedApi") // VibrationXmlParser is available internally as hidden APIs. public static VibrationEffect parseVibrationEffect(Vibrator vibrator, Uri vibrationUri) { if (vibrationUri == null) { Log.w(TAG, "The vibration Uri is null."); Loading