MMRADIO_LOG_FENTER();
MMRADIO_CHECK_INSTANCE_RETURN_VOID(radio);
- mmradio_get_sound_focus_reason(focus_state, reason_for_change, &event_source, &postMsg);
+ mmradio_get_sound_focus_reason(focus_state, reason_for_change, FALSE, &event_source, &postMsg);
radio->sound_focus.event_src = event_source;
switch (focus_state) {
MMRADIO_LOG_FENTER();
MMRADIO_CHECK_INSTANCE_RETURN_VOID(radio);
- mmradio_get_sound_focus_reason(focus_state, reason_for_change, &event_source, &postMsg);
+ mmradio_get_sound_focus_reason(focus_state, reason_for_change, TRUE, &event_source, &postMsg);
radio->sound_focus.event_src = event_source;
switch (focus_state) {
#define AUDIO_FOCUS_REASON_MAX 128
-void mmradio_get_sound_focus_reason(mm_sound_focus_state_e focus_state, const char *reason_for_change, enum MMMessageInterruptedCode *event_source, int *postMsg)
+void mmradio_get_sound_focus_reason(mm_sound_focus_state_e focus_state, const char *reason_for_change, bool is_watch, enum MMMessageInterruptedCode *event_source, int *postMsg)
{
MMRADIO_LOG_FENTER();
MMRADIO_LOG_ERROR("mmradio_get_sound_focus_reason focus_state : %d reason_for_change :%s\n", focus_state, reason_for_change);
|| (0 == strncmp(reason_for_change, "ringtone-voip", AUDIO_FOCUS_REASON_MAX))
|| (0 == strncmp(reason_for_change, "ringtone-call", AUDIO_FOCUS_REASON_MAX))
) {
- if (focus_state == FOCUS_IS_RELEASED)
- *event_source = MM_MSG_CODE_INTERRUPTED_BY_CALL_START;
- else if (focus_state == FOCUS_IS_ACQUIRED)
- *event_source = MM_MSG_CODE_INTERRUPTED_BY_CALL_END;
+ if (focus_state == FOCUS_IS_RELEASED) {
+ if (is_watch)
+ *event_source = MM_MSG_CODE_INTERRUPTED_BY_CALL_END;
+ else
+ *event_source = MM_MSG_CODE_INTERRUPTED_BY_CALL_START;
+ } else if (focus_state == FOCUS_IS_ACQUIRED) {
+ if (is_watch)
+ *event_source = MM_MSG_CODE_INTERRUPTED_BY_CALL_START;
+ else
+ *event_source = MM_MSG_CODE_INTERRUPTED_BY_CALL_END;
+ }
*postMsg = true;
} else if (0 == strncmp(reason_for_change, "alarm", AUDIO_FOCUS_REASON_MAX)) {
- if (focus_state == FOCUS_IS_RELEASED)
- *event_source = MM_MSG_CODE_INTERRUPTED_BY_ALARM_START;
- else if (focus_state == FOCUS_IS_ACQUIRED)
- *event_source = MM_MSG_CODE_INTERRUPTED_BY_ALARM_END;
+ if (focus_state == FOCUS_IS_RELEASED) {
+ if (is_watch)
+ *event_source = MM_MSG_CODE_INTERRUPTED_BY_ALARM_END;
+ else
+ *event_source = MM_MSG_CODE_INTERRUPTED_BY_ALARM_START;
+ } else if (focus_state == FOCUS_IS_ACQUIRED) {
+ if (is_watch)
+ *event_source = MM_MSG_CODE_INTERRUPTED_BY_ALARM_START;
+ else
+ *event_source = MM_MSG_CODE_INTERRUPTED_BY_ALARM_END;
+ }
*postMsg = true;
} else if (0 == strncmp(reason_for_change, "notification", AUDIO_FOCUS_REASON_MAX)) {
- if (focus_state == FOCUS_IS_RELEASED)
- *event_source = MM_MSG_CODE_INTERRUPTED_BY_NOTIFICATION_START;
- else if (focus_state == FOCUS_IS_ACQUIRED)
- *event_source = MM_MSG_CODE_INTERRUPTED_BY_NOTIFICATION_END;
+ if (focus_state == FOCUS_IS_RELEASED) {
+ if (is_watch)
+ *event_source = MM_MSG_CODE_INTERRUPTED_BY_NOTIFICATION_END;
+ else
+ *event_source = MM_MSG_CODE_INTERRUPTED_BY_NOTIFICATION_START;
+ } else if (focus_state == FOCUS_IS_ACQUIRED) {
+ if (is_watch)
+ *event_source = MM_MSG_CODE_INTERRUPTED_BY_NOTIFICATION_START;
+ else
+ *event_source = MM_MSG_CODE_INTERRUPTED_BY_NOTIFICATION_END;
+ }
*postMsg = true;
} else if (0 == strncmp(reason_for_change, "emergency", AUDIO_FOCUS_REASON_MAX)) {
- if (focus_state == FOCUS_IS_RELEASED)
- *event_source = MM_MSG_CODE_INTERRUPTED_BY_EMERGENCY_START;
- else if (focus_state == FOCUS_IS_ACQUIRED)
- *event_source = MM_MSG_CODE_INTERRUPTED_BY_EMERGENCY_END;
+ if (focus_state == FOCUS_IS_RELEASED) {
+ if (is_watch)
+ *event_source = MM_MSG_CODE_INTERRUPTED_BY_EMERGENCY_END;
+ else
+ *event_source = MM_MSG_CODE_INTERRUPTED_BY_EMERGENCY_START;
+ } else if (focus_state == FOCUS_IS_ACQUIRED) {
+ if (is_watch)
+ *event_source = MM_MSG_CODE_INTERRUPTED_BY_EMERGENCY_START;
+ else
+ *event_source = MM_MSG_CODE_INTERRUPTED_BY_EMERGENCY_END;
+ }
*postMsg = false;
} else if (0 == strncmp(reason_for_change, "media", AUDIO_FOCUS_REASON_MAX)) {
*event_source = MM_MSG_CODE_INTERRUPTED_BY_MEDIA;