2,情景模式中的其他设定参考到
mediatek/frameworks/base/media/audio/java/com/mediatek/audioprofile/AudioProfileManager.java
中的getDefaultState()
public static AudioProfileState getDefaultState(String profileKey) {
if (null == sDEFAULTSTATES) {
IDefaultProfileStatesGetter defaultProfileStatesGetter =
MediatekClassFactory.createInstance(IDefaultProfileStatesGetter.class);
if (defaultProfileStatesGetter != null) {
sDEFAULTSTATES = defaultProfileStatesGetter.getDefaultProfileStates();
}
if (null == sDEFAULTSTATES) {
sDEFAULTSTATES = new HashMap<Integer, AudioProfileState>(PREDEFINED_PROFILES_COUNT);
/** Default values of ringer volume for different audio profiles. */
final int DEFAULT_RINGER_VOLUME_GENERAL = 8;
final int DEFAULT_RINGER_VOLUME_SILENT = 0;
final int DEFAULT_RINGER_VOLUME_MEETING = 0;
final int DEFAULT_RINGER_VOLUME_OUTDOOR = 15;
/** Default values of notification volume for different audio profiles. */
final int DEFAULT_NOTIFICATION_VOLUME_GENERAL = 8;
final int DEFAULT_NOTIFICATION_VOLUME_SILENT = 0;
final int DEFAULT_NOTIFICATION_VOLUME_MEETING = 0;
final int DEFAULT_NOTIFICATION_VOLUME_OUTDOOR = 15;
/** Default values of alarm volume for different audio profiles. */
final int DEFAULT_ALARM_VOLUME_GENERAL = 8;
final int DEFAULT_ALARM_VOLUME_SILENT = 0;
final int DEFAULT_ALARM_VOLUME_MEETING = 0;
final int DEFAULT_ALARM_VOLUME_OUTDOOR = 15;
/** Default values of vibration for different audio profiles. */
final boolean DEFAULT_VIBRATION_GENERAL = false;
final boolean DEFAULT_VIBRATION_SILENT = false;
final boolean DEFAULT_VIBRATION_MEETING = true;
final boolean DEFAULT_VIBRATION_OUTDOOR = true;
/**
-
Default values that indicate whether the audible DTMF tone should be
-
played by the dialer when dialing.
*/
final boolean DEFAULT_DTMFTONE_GENERAL = false;
final boolean DEFAULT_DTMFTONE_SILENT = false;
final boolean DEFAULT_DTMFTONE_MEETING = false;
final boolean DEFAULT_DTMFTONE_OUTDOOR = true;
/**
-
Default values of sound effect(Key clicks, lid open/close…) for
-
different audio profiles.
*/
final boolean DEFAULT_SOUNDEFFECT_GENERAL = false;
final boolean DEFAULT_SOUNDEFFECT_SILENT = false;
final boolean DEFAULT_SOUNDEFFECT_MEETING = false;
final boolean DEFAULT_SOUNDEFFECT_OUTDOOR = false;
/** Default values that indicate whether the lock screen sound are enabled. */
final boolean DEFAULT_LOCK_SCREEN_GENERAL = false;
final boolean DEFAULT_LOCK_SCREEN_SILENT = false;
final boolean DEFAULT_LOCK_SCREEN_MEETING = false;
final boolean DEFAULT_LOCK_SCREEN_OUTDOOR = true;
/** Default values that indicate whether the haptic feedback are enabled. */
final boolean DEFAULT_HAPTIC_FEEDBACK_GENERAL = false;
final boolean DEFAULT_HAPTIC_FEEDBACK_SILENT = false;
final boolean DEFAULT_HAPTIC_FEEDBACK_MEETING = false;
final boolean DEFAULT_HAPTIC_FEEDBACK_OUTDOOR = true;
… …
1)上图中红色框标所示表示是否有IDefaultProfileStatesGetter接口的实现,若没有,则默认设置在getDeafultSte中绿色框中配置,其中DEFAULT_RINGER_VOLUME_GENERAL=4,表General Profile的默认的铃声音量,以此类推,其他的默认值也是如此命名;
2)若能在MediatekClassFactory.java或者MediatekOPClassFactory.java中搜到IDefaultProfileStatesGetter的实现类,如TDD项目对应的IDefaultProfileStatesGetter的实现类是DefaultProfileStatesGetterOP01.java,则情景模式的默认值要修改alps/mediate/operator/op01/frameworks/java/com/mediate/op/audioprofileDefaultProfileStatesGetterOP01.java的getDefaultPofileStates():
3,在AudioManager.java
DEFAULT_STREAM_VOLUME [] 数组中请把对应的stream type 音量值修改一致。比如把来电铃声从默认4调到6
4, // STREAM_RING
改为
6, // STREAM_RING