Loading api/system-current.txt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -3000,7 +3000,7 @@ package android.media { field public static final int AUDIOFOCUS_FLAG_DELAY_OK = 1; // 0x1 field public static final int AUDIOFOCUS_FLAG_DELAY_OK = 1; // 0x1 field public static final int AUDIOFOCUS_FLAG_LOCK = 4; // 0x4 field public static final int AUDIOFOCUS_FLAG_LOCK = 4; // 0x4 field public static final int AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS = 2; // 0x2 field public static final int AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS = 2; // 0x2 field public static final int FLAG_FROM_KEY = 4096; // 0x1000 field public static final int FLAG_FROM_KEY = 65536; // 0x10000 } } public static abstract class AudioManager.AudioServerStateCallback { public static abstract class AudioManager.AudioServerStateCallback { Loading media/java/android/media/AudioManager.java +26 −20 Original line number Original line Diff line number Diff line Loading @@ -67,6 +67,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Iterator; import java.util.List; import java.util.List; import java.util.Map; import java.util.Map; import java.util.TreeMap; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Executor; import java.util.concurrent.Executor; Loading Loading @@ -539,37 +540,42 @@ public class AudioManager { /** /** * Adjusting the volume due to a hardware key press. * Adjusting the volume due to a hardware key press. * This flag can be used in the places in order to denote (or check) that a volume adjustment * request is from a hardware key press. (e.g. {@link MediaController}). * @hide * @hide */ */ @SystemApi @SystemApi public static final int FLAG_FROM_KEY = 1 << 12; public static final int FLAG_FROM_KEY = 1 << 16; private static final String[] FLAG_NAMES = { // The iterator of TreeMap#entrySet() returns the entries in ascending key order. "FLAG_SHOW_UI", private static final TreeMap<Integer, String> FLAG_NAMES = new TreeMap<>(); "FLAG_ALLOW_RINGER_MODES", "FLAG_PLAY_SOUND", static { "FLAG_REMOVE_SOUND_AND_VIBRATE", FLAG_NAMES.put(FLAG_SHOW_UI, "FLAG_SHOW_UI"); "FLAG_VIBRATE", FLAG_NAMES.put(FLAG_ALLOW_RINGER_MODES, "FLAG_ALLOW_RINGER_MODES"); "FLAG_FIXED_VOLUME", FLAG_NAMES.put(FLAG_PLAY_SOUND, "FLAG_PLAY_SOUND"); "FLAG_BLUETOOTH_ABS_VOLUME", FLAG_NAMES.put(FLAG_REMOVE_SOUND_AND_VIBRATE, "FLAG_REMOVE_SOUND_AND_VIBRATE"); "FLAG_SHOW_SILENT_HINT", FLAG_NAMES.put(FLAG_VIBRATE, "FLAG_VIBRATE"); "FLAG_HDMI_SYSTEM_AUDIO_VOLUME", FLAG_NAMES.put(FLAG_FIXED_VOLUME, "FLAG_FIXED_VOLUME"); "FLAG_ACTIVE_MEDIA_ONLY", FLAG_NAMES.put(FLAG_BLUETOOTH_ABS_VOLUME, "FLAG_BLUETOOTH_ABS_VOLUME"); "FLAG_SHOW_UI_WARNINGS", FLAG_NAMES.put(FLAG_SHOW_SILENT_HINT, "FLAG_SHOW_SILENT_HINT"); "FLAG_SHOW_VIBRATE_HINT", FLAG_NAMES.put(FLAG_HDMI_SYSTEM_AUDIO_VOLUME, "FLAG_HDMI_SYSTEM_AUDIO_VOLUME"); "FLAG_FROM_KEY", FLAG_NAMES.put(FLAG_ACTIVE_MEDIA_ONLY, "FLAG_ACTIVE_MEDIA_ONLY"); }; FLAG_NAMES.put(FLAG_SHOW_UI_WARNINGS, "FLAG_SHOW_UI_WARNINGS"); FLAG_NAMES.put(FLAG_SHOW_VIBRATE_HINT, "FLAG_SHOW_VIBRATE_HINT"); FLAG_NAMES.put(FLAG_FROM_KEY, "FLAG_FROM_KEY"); } /** @hide */ /** @hide */ public static String flagsToString(int flags) { public static String flagsToString(int flags) { final StringBuilder sb = new StringBuilder(); final StringBuilder sb = new StringBuilder(); for (int i = 0; i < FLAG_NAMES.length; i++) { for (Map.Entry<Integer, String> entry : FLAG_NAMES.entrySet()) { final int flag = 1 << i; final int flag = entry.getKey(); if ((flags & flag) != 0) { if ((flags & flag) != 0) { if (sb.length() > 0) { if (sb.length() > 0) { sb.append(','); sb.append(','); } } sb.append(FLAG_NAMES[i]); sb.append(entry.getValue()); flags &= ~flag; flags &= ~flag; } } } } Loading Loading
api/system-current.txt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -3000,7 +3000,7 @@ package android.media { field public static final int AUDIOFOCUS_FLAG_DELAY_OK = 1; // 0x1 field public static final int AUDIOFOCUS_FLAG_DELAY_OK = 1; // 0x1 field public static final int AUDIOFOCUS_FLAG_LOCK = 4; // 0x4 field public static final int AUDIOFOCUS_FLAG_LOCK = 4; // 0x4 field public static final int AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS = 2; // 0x2 field public static final int AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS = 2; // 0x2 field public static final int FLAG_FROM_KEY = 4096; // 0x1000 field public static final int FLAG_FROM_KEY = 65536; // 0x10000 } } public static abstract class AudioManager.AudioServerStateCallback { public static abstract class AudioManager.AudioServerStateCallback { Loading
media/java/android/media/AudioManager.java +26 −20 Original line number Original line Diff line number Diff line Loading @@ -67,6 +67,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Iterator; import java.util.List; import java.util.List; import java.util.Map; import java.util.Map; import java.util.TreeMap; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Executor; import java.util.concurrent.Executor; Loading Loading @@ -539,37 +540,42 @@ public class AudioManager { /** /** * Adjusting the volume due to a hardware key press. * Adjusting the volume due to a hardware key press. * This flag can be used in the places in order to denote (or check) that a volume adjustment * request is from a hardware key press. (e.g. {@link MediaController}). * @hide * @hide */ */ @SystemApi @SystemApi public static final int FLAG_FROM_KEY = 1 << 12; public static final int FLAG_FROM_KEY = 1 << 16; private static final String[] FLAG_NAMES = { // The iterator of TreeMap#entrySet() returns the entries in ascending key order. "FLAG_SHOW_UI", private static final TreeMap<Integer, String> FLAG_NAMES = new TreeMap<>(); "FLAG_ALLOW_RINGER_MODES", "FLAG_PLAY_SOUND", static { "FLAG_REMOVE_SOUND_AND_VIBRATE", FLAG_NAMES.put(FLAG_SHOW_UI, "FLAG_SHOW_UI"); "FLAG_VIBRATE", FLAG_NAMES.put(FLAG_ALLOW_RINGER_MODES, "FLAG_ALLOW_RINGER_MODES"); "FLAG_FIXED_VOLUME", FLAG_NAMES.put(FLAG_PLAY_SOUND, "FLAG_PLAY_SOUND"); "FLAG_BLUETOOTH_ABS_VOLUME", FLAG_NAMES.put(FLAG_REMOVE_SOUND_AND_VIBRATE, "FLAG_REMOVE_SOUND_AND_VIBRATE"); "FLAG_SHOW_SILENT_HINT", FLAG_NAMES.put(FLAG_VIBRATE, "FLAG_VIBRATE"); "FLAG_HDMI_SYSTEM_AUDIO_VOLUME", FLAG_NAMES.put(FLAG_FIXED_VOLUME, "FLAG_FIXED_VOLUME"); "FLAG_ACTIVE_MEDIA_ONLY", FLAG_NAMES.put(FLAG_BLUETOOTH_ABS_VOLUME, "FLAG_BLUETOOTH_ABS_VOLUME"); "FLAG_SHOW_UI_WARNINGS", FLAG_NAMES.put(FLAG_SHOW_SILENT_HINT, "FLAG_SHOW_SILENT_HINT"); "FLAG_SHOW_VIBRATE_HINT", FLAG_NAMES.put(FLAG_HDMI_SYSTEM_AUDIO_VOLUME, "FLAG_HDMI_SYSTEM_AUDIO_VOLUME"); "FLAG_FROM_KEY", FLAG_NAMES.put(FLAG_ACTIVE_MEDIA_ONLY, "FLAG_ACTIVE_MEDIA_ONLY"); }; FLAG_NAMES.put(FLAG_SHOW_UI_WARNINGS, "FLAG_SHOW_UI_WARNINGS"); FLAG_NAMES.put(FLAG_SHOW_VIBRATE_HINT, "FLAG_SHOW_VIBRATE_HINT"); FLAG_NAMES.put(FLAG_FROM_KEY, "FLAG_FROM_KEY"); } /** @hide */ /** @hide */ public static String flagsToString(int flags) { public static String flagsToString(int flags) { final StringBuilder sb = new StringBuilder(); final StringBuilder sb = new StringBuilder(); for (int i = 0; i < FLAG_NAMES.length; i++) { for (Map.Entry<Integer, String> entry : FLAG_NAMES.entrySet()) { final int flag = 1 << i; final int flag = entry.getKey(); if ((flags & flag) != 0) { if ((flags & flag) != 0) { if (sb.length() > 0) { if (sb.length() > 0) { sb.append(','); sb.append(','); } } sb.append(FLAG_NAMES[i]); sb.append(entry.getValue()); flags &= ~flag; flags &= ~flag; } } } } Loading