Rename fast-scroll sound effects to navigation repeat
To match the nomenclature in view/SoundEffectConstants.java Test: manual Bug: 157407957 Change-Id: I54cb83a0d0cf1a02d1288af546385634fc6d4aec
This commit is contained in:
@@ -3123,52 +3123,57 @@ public class AudioManager {
|
||||
|
||||
/**
|
||||
* @hide Home sound
|
||||
* Played by the framework when the home app becomes active if config_enableHomeSound is set to
|
||||
* true. This is currently only used on TV devices.
|
||||
* <p>
|
||||
* To be played by the framework when the home app becomes active if config_enableHomeSound is
|
||||
* set to true. This is currently only used on TV devices.
|
||||
* Note that this sound is only available if a sound file is specified in audio_assets.xml.
|
||||
* @see #playSoundEffect(int)
|
||||
*/
|
||||
public static final int FX_HOME = 11;
|
||||
|
||||
/**
|
||||
* @hide Fast scroll sound 1
|
||||
* To be by the framework when a fast-scrolling is performed and
|
||||
* {@link #areFastScrollSoundEffectsEnabled()} is true.
|
||||
* @hide Navigation repeat sound 1
|
||||
* <p>
|
||||
* To be played by the framework when a focus navigation is repeatedly triggered
|
||||
* (e.g. due to long-pressing) and {@link #areNavigationRepeatSoundEffectsEnabled()} is true.
|
||||
* This is currently only used on TV devices.
|
||||
* Note that this sound is only available if a sound file is specified in audio_assets.xml
|
||||
* @see #playSoundEffect(int)
|
||||
*/
|
||||
public static final int FX_FAST_SCROLL_1 = 12;
|
||||
public static final int FX_FOCUS_NAVIGATION_REPEAT_1 = 12;
|
||||
|
||||
/**
|
||||
* @hide Fast scroll sound 2
|
||||
* To be by the framework when a fast-scrolling is performed and
|
||||
* {@link #areFastScrollSoundEffectsEnabled()} is true.
|
||||
* @hide Navigation repeat sound 2
|
||||
* <p>
|
||||
* To be played by the framework when a focus navigation is repeatedly triggered
|
||||
* (e.g. due to long-pressing) and {@link #areNavigationRepeatSoundEffectsEnabled()} is true.
|
||||
* This is currently only used on TV devices.
|
||||
* Note that this sound is only available if a sound file is specified in audio_assets.xml
|
||||
* @see #playSoundEffect(int)
|
||||
*/
|
||||
public static final int FX_FAST_SCROLL_2 = 13;
|
||||
public static final int FX_FOCUS_NAVIGATION_REPEAT_2 = 13;
|
||||
|
||||
/**
|
||||
* @hide Fast scroll sound 3
|
||||
* To be by the framework when a fast-scrolling is performed and
|
||||
* {@link #areFastScrollSoundEffectsEnabled()} is true.
|
||||
* @hide Navigation repeat sound 3
|
||||
* <p>
|
||||
* To be played by the framework when a focus navigation is repeatedly triggered
|
||||
* (e.g. due to long-pressing) and {@link #areNavigationRepeatSoundEffectsEnabled()} is true.
|
||||
* This is currently only used on TV devices.
|
||||
* Note that this sound is only available if a sound file is specified in audio_assets.xml
|
||||
* @see #playSoundEffect(int)
|
||||
*/
|
||||
public static final int FX_FAST_SCROLL_3 = 14;
|
||||
public static final int FX_FOCUS_NAVIGATION_REPEAT_3 = 14;
|
||||
|
||||
/**
|
||||
* @hide Fast scroll sound 4
|
||||
* To be by the framework when a fast-scrolling is performed and
|
||||
* {@link #areFastScrollSoundEffectsEnabled()} is true.
|
||||
* @hide Navigation repeat sound 4
|
||||
* <p>
|
||||
* To be played by the framework when a focus navigation is repeatedly triggered
|
||||
* (e.g. due to long-pressing) and {@link #areNavigationRepeatSoundEffectsEnabled()} is true.
|
||||
* This is currently only used on TV devices.
|
||||
* Note that this sound is only available if a sound file is specified in audio_assets.xml
|
||||
* @see #playSoundEffect(int)
|
||||
*/
|
||||
public static final int FX_FAST_SCROLL_4 = 15;
|
||||
public static final int FX_FOCUS_NAVIGATION_REPEAT_4 = 15;
|
||||
|
||||
/**
|
||||
* @hide Number of sound effects
|
||||
@@ -3177,27 +3182,27 @@ public class AudioManager {
|
||||
public static final int NUM_SOUND_EFFECTS = 16;
|
||||
|
||||
/**
|
||||
* @hide Number of fast scroll sound effects
|
||||
* @hide Number of FX_FOCUS_NAVIGATION_REPEAT_* sound effects
|
||||
*/
|
||||
public static final int NUM_FAST_SCROLL_SOUND_EFFECTS = 4;
|
||||
public static final int NUM_NAVIGATION_REPEAT_SOUND_EFFECTS = 4;
|
||||
|
||||
/**
|
||||
* @hide
|
||||
* @param n a value in [0, {@link #NUM_FAST_SCROLL_SOUND_EFFECTS}[
|
||||
* @return The id of a fast scroll sound effect or -1 if out of bounds
|
||||
* @param n a value in [0, {@link #NUM_NAVIGATION_REPEAT_SOUND_EFFECTS}[
|
||||
* @return The id of a navigation repeat sound effect or -1 if out of bounds
|
||||
*/
|
||||
public static int getNthFastScrollSoundEffectId(int n) {
|
||||
public static int getNthNavigationRepeatSoundEffect(int n) {
|
||||
switch (n) {
|
||||
case 0:
|
||||
return FX_FAST_SCROLL_1;
|
||||
return FX_FOCUS_NAVIGATION_REPEAT_1;
|
||||
case 1:
|
||||
return FX_FAST_SCROLL_2;
|
||||
return FX_FOCUS_NAVIGATION_REPEAT_2;
|
||||
case 2:
|
||||
return FX_FAST_SCROLL_3;
|
||||
return FX_FOCUS_NAVIGATION_REPEAT_3;
|
||||
case 3:
|
||||
return FX_FAST_SCROLL_4;
|
||||
return FX_FOCUS_NAVIGATION_REPEAT_4;
|
||||
default:
|
||||
Log.w(TAG, "Invalid fast-scroll sound effect id: " + n);
|
||||
Log.w(TAG, "Invalid navigation repeat sound effect id: " + n);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@@ -3205,9 +3210,9 @@ public class AudioManager {
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public void setFastScrollSoundEffectsEnabled(boolean enabled) {
|
||||
public void setNavigationRepeatSoundEffectsEnabled(boolean enabled) {
|
||||
try {
|
||||
getService().setFastScrollSoundEffectsEnabled(enabled);
|
||||
getService().setNavigationRepeatSoundEffectsEnabled(enabled);
|
||||
} catch (RemoteException e) {
|
||||
|
||||
}
|
||||
@@ -3215,11 +3220,11 @@ public class AudioManager {
|
||||
|
||||
/**
|
||||
* @hide
|
||||
* @return true if the fast scroll sound effects are enabled
|
||||
* @return true if the navigation repeat sound effects are enabled
|
||||
*/
|
||||
public boolean areFastScrollSoundEffectsEnabled() {
|
||||
public boolean areNavigationRepeatSoundEffectsEnabled() {
|
||||
try {
|
||||
return getService().areFastScrollSoundEffectsEnabled();
|
||||
return getService().areNavigationRepeatSoundEffectsEnabled();
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
|
||||
@@ -351,9 +351,9 @@ interface IAudioService {
|
||||
oneway void unregisterCommunicationDeviceDispatcher(
|
||||
ICommunicationDeviceDispatcher dispatcher);
|
||||
|
||||
boolean areFastScrollSoundEffectsEnabled();
|
||||
boolean areNavigationRepeatSoundEffectsEnabled();
|
||||
|
||||
oneway void setFastScrollSoundEffectsEnabled(boolean enabled);
|
||||
oneway void setNavigationRepeatSoundEffectsEnabled(boolean enabled);
|
||||
|
||||
boolean isHomeSoundEffectEnabled();
|
||||
|
||||
|
||||
@@ -724,7 +724,7 @@ public class AudioService extends IAudioService.Stub
|
||||
// caches the value returned by AudioSystem.isMicrophoneMuted()
|
||||
private boolean mMicMuteFromSystemCached;
|
||||
|
||||
private boolean mFastScrollSoundEffectsEnabled;
|
||||
private boolean mNavigationRepeatSoundEffectsEnabled;
|
||||
private boolean mHomeSoundEffectEnabled;
|
||||
|
||||
@GuardedBy("mSettingsLock")
|
||||
@@ -2323,15 +2323,15 @@ public class AudioService extends IAudioService.Stub
|
||||
VOL_ADJUST_NORMAL);
|
||||
}
|
||||
|
||||
public void setFastScrollSoundEffectsEnabled(boolean enabled) {
|
||||
mFastScrollSoundEffectsEnabled = enabled;
|
||||
public void setNavigationRepeatSoundEffectsEnabled(boolean enabled) {
|
||||
mNavigationRepeatSoundEffectsEnabled = enabled;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if the fast scroll sound effects are enabled
|
||||
*/
|
||||
public boolean areFastScrollSoundEffectsEnabled() {
|
||||
return mFastScrollSoundEffectsEnabled;
|
||||
public boolean areNavigationRepeatSoundEffectsEnabled() {
|
||||
return mNavigationRepeatSoundEffectsEnabled;
|
||||
}
|
||||
|
||||
public void setHomeSoundEffectEnabled(boolean enabled) {
|
||||
|
||||
@@ -52,6 +52,7 @@ import java.util.Map;
|
||||
* used by AudioService. As its methods are called on the message handler thread
|
||||
* of AudioService, the actual work is offloaded to a dedicated thread.
|
||||
* This helps keeping AudioService responsive.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
class SoundEffectsHelper {
|
||||
@@ -89,15 +90,18 @@ class SoundEffectsHelper {
|
||||
final String mFileName;
|
||||
int mSampleId;
|
||||
boolean mLoaded; // for effects in SoundPool
|
||||
|
||||
Resource(String fileName) {
|
||||
mFileName = fileName;
|
||||
mSampleId = EFFECT_NOT_IN_SOUND_POOL;
|
||||
}
|
||||
|
||||
void unload() {
|
||||
mSampleId = EFFECT_NOT_IN_SOUND_POOL;
|
||||
mLoaded = false;
|
||||
}
|
||||
}
|
||||
|
||||
// All the fields below are accessed by the worker thread exclusively
|
||||
private final List<Resource> mResources = new ArrayList<Resource>();
|
||||
private final int[] mEffects = new int[AudioManager.NUM_SOUND_EFFECTS]; // indexes in mResources
|
||||
@@ -116,9 +120,9 @@ class SoundEffectsHelper {
|
||||
}
|
||||
|
||||
/**
|
||||
* Unloads samples from the sound pool.
|
||||
* This method can be called to free some memory when
|
||||
* sound effects are disabled.
|
||||
* Unloads samples from the sound pool.
|
||||
* This method can be called to free some memory when
|
||||
* sound effects are disabled.
|
||||
*/
|
||||
/*package*/ void unloadSoundEffects() {
|
||||
sendMsg(MSG_UNLOAD_EFFECTS, 0, 0, null, 0);
|
||||
@@ -385,12 +389,12 @@ class SoundEffectsHelper {
|
||||
}
|
||||
}
|
||||
|
||||
boolean fastScrollSoundEffectsParsed = allFastScrollSoundsParsed(parserCounter);
|
||||
boolean navigationRepeatFxParsed = allNavigationRepeatSoundsParsed(parserCounter);
|
||||
boolean homeSoundParsed = parserCounter.getOrDefault(AudioManager.FX_HOME, 0) > 0;
|
||||
if (fastScrollSoundEffectsParsed || homeSoundParsed) {
|
||||
if (navigationRepeatFxParsed || homeSoundParsed) {
|
||||
AudioManager audioManager = mContext.getSystemService(AudioManager.class);
|
||||
if (audioManager != null && fastScrollSoundEffectsParsed) {
|
||||
audioManager.setFastScrollSoundEffectsEnabled(true);
|
||||
if (audioManager != null && navigationRepeatFxParsed) {
|
||||
audioManager.setNavigationRepeatSoundEffectsEnabled(true);
|
||||
}
|
||||
if (audioManager != null && homeSoundParsed) {
|
||||
audioManager.setHomeSoundEffectEnabled(true);
|
||||
@@ -410,13 +414,13 @@ class SoundEffectsHelper {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean allFastScrollSoundsParsed(Map<Integer, Integer> parserCounter) {
|
||||
private boolean allNavigationRepeatSoundsParsed(Map<Integer, Integer> parserCounter) {
|
||||
int numFastScrollSoundEffectsParsed =
|
||||
parserCounter.getOrDefault(AudioManager.FX_FAST_SCROLL_1, 0)
|
||||
+ parserCounter.getOrDefault(AudioManager.FX_FAST_SCROLL_2, 0)
|
||||
+ parserCounter.getOrDefault(AudioManager.FX_FAST_SCROLL_3, 0)
|
||||
+ parserCounter.getOrDefault(AudioManager.FX_FAST_SCROLL_4, 0);
|
||||
return numFastScrollSoundEffectsParsed == AudioManager.NUM_FAST_SCROLL_SOUND_EFFECTS;
|
||||
parserCounter.getOrDefault(AudioManager.FX_FOCUS_NAVIGATION_REPEAT_1, 0)
|
||||
+ parserCounter.getOrDefault(AudioManager.FX_FOCUS_NAVIGATION_REPEAT_2, 0)
|
||||
+ parserCounter.getOrDefault(AudioManager.FX_FOCUS_NAVIGATION_REPEAT_3, 0)
|
||||
+ parserCounter.getOrDefault(AudioManager.FX_FOCUS_NAVIGATION_REPEAT_4, 0);
|
||||
return numFastScrollSoundEffectsParsed == AudioManager.NUM_NAVIGATION_REPEAT_SOUND_EFFECTS;
|
||||
}
|
||||
|
||||
private int findOrAddResourceByFileName(String fileName) {
|
||||
|
||||
Reference in New Issue
Block a user