From 5339d10211e954324a2f8c0b62c061970292fe5a Mon Sep 17 00:00:00 2001 From: "bhutani.92" Date: Tue, 27 Dec 2016 18:11:22 +0530 Subject: [PATCH] [TSAM-12240] 2 MiniControllers appearing Change-Id: I188fc6383003190d4e1b331b2c4337786a6a4aee Signed-off-by: bhutani.92 --- src/common/include/mp-util.h | 8 +++++++ src/common/mp-app.c | 15 ------------ src/mp-main.c | 42 ++++++++++++++++++++++++++++++++++ src/widget/mp-minicontroller.c | 8 +++++-- 4 files changed, 56 insertions(+), 17 deletions(-) diff --git a/src/common/include/mp-util.h b/src/common/include/mp-util.h index df34acd..adaa01f 100644 --- a/src/common/include/mp-util.h +++ b/src/common/include/mp-util.h @@ -47,11 +47,19 @@ enum { PREF_MUSIC_STATE_MAX }; +enum { + PREF_NO_MINICONTROLLER = -1, + PREF_MUSIC_PLAYER_MINICONTROLLER, + PREF_SOUND_PLAYER_MINICONTROLLER, + PREF_MINICONTROLLER_MAX +}; + #define GET_WINDOW() ((mp_util_get_appdata()) ? mp_util_get_appdata()->win_main : NULL) #define CHECK_STORE mp_util_is_store_enable() #define PREF_MUSIC_STATE "preference/org.tizen.music-player/state" #define PREF_SOUND_PLAYER_LAUNCH "preference/org.tizen.sound-player/launch_state" #define PREF_MUSIC_PLAYER_LAUNCH "preference/org.tizen.music-player/launch_state" +#define PREF_MINICONTROLLER "preference/minicontrol_state" void mp_to_lower(char *str); int mp_setting_get_nowplaying_id(void); diff --git a/src/common/mp-app.c b/src/common/mp-app.c index 875754d..42e28e6 100644 --- a/src/common/mp-app.c +++ b/src/common/mp-app.c @@ -275,21 +275,6 @@ _mp_app_active_device_chaged_cb(sound_device_h in, EVENT_TRACE("input=[0x%x], output=[0x%x]", in, out); MP_CHECK(gNotiPipe); - struct appdata *ad = user_data; - MP_CHECK(ad); - - int current_pid = mp_setting_get_nowplaying_id(); - if (current_pid && current_pid != getpid()) { - DEBUG_TRACE("Some other player playing currently"); - ad->paused_by_user = true; - if (ad->win_minicon) { - mp_minicontroller_hide(ad); - } - if (ad->win_lockmini) { - mp_lockscreenmini_hide(ad); - } - } - mp_app_pipe_data_s pipe_data; memset(&pipe_data, 0, sizeof(mp_app_pipe_data_s)); pipe_data.type = MP_APP_PIPE_CB_ACTIVE_DEVICE_CHANGED; diff --git a/src/mp-main.c b/src/mp-main.c index c3eab12..c936e59 100644 --- a/src/mp-main.c +++ b/src/mp-main.c @@ -114,11 +114,53 @@ void mp_recorder_state_cb(recorder_type_e type, ad->recorder_type = type; } +void _mp_app_minicontroller_state_changed_cb(const char *key, void *data) +{ + int minictrl_state = PREF_NO_MINICONTROLLER; + int ret = preference_get_int(key, &minictrl_state); + if (ret != PREFERENCE_ERROR_NONE) { + ERROR_TRACE("Cannot get minicontroller state"); + return; + } + +#ifdef MP_SOUND_PLAYER + if (minictrl_state == PREF_MUSIC_PLAYER_MINICONTROLLER) { +#else + if (minictrl_state == PREF_SOUND_PLAYER_MINICONTROLLER) { +#endif + DEBUG_TRACE("Some other player playing currently"); + struct appdata *ad = mp_util_get_appdata(); + MP_CHECK(ad); + ad->paused_by_user = true; + if (ad->win_minicon) { + mp_minicontroller_hide(ad); + } + if (ad->win_lockmini) { + mp_lockscreenmini_hide(ad); + } + } +} + static bool _mp_main_init(struct appdata *ad) { ad->music_setting_change_flag = false; ad->paused_by_user = true; + bool key_exists = FALSE; + int ret_p = preference_is_existing(PREF_MINICONTROLLER, &key_exists); + if (ret_p != PREFERENCE_ERROR_NONE) { + ERROR_TRACE("Could not find MiniController State Key"); + } + + if (!key_exists) { + preference_set_int(PREF_MINICONTROLLER, PREF_NO_MINICONTROLLER); + } + + if (preference_set_changed_cb + (PREF_MINICONTROLLER, _mp_app_minicontroller_state_changed_cb, ad) < 0) { + ERROR_TRACE("Fail to register PREF_MINICONTROLLER key callback"); + } + #ifdef MP_SOUND_PLAYER preference_set_int(PREF_SOUND_PLAYER_LAUNCH, PREF_PLAYER_ON); #else diff --git a/src/widget/mp-minicontroller.c b/src/widget/mp-minicontroller.c index d1a846e..52bb93d 100644 --- a/src/widget/mp-minicontroller.c +++ b/src/widget/mp-minicontroller.c @@ -310,8 +310,6 @@ int mp_minicontroller_create(struct appdata *ad) DEBUG_TRACE("ERROR"); return -1; } - //mp_language_mgr_register_object(ad->minicontroller_layout, OBJ_TYPE_EDJE_OBJECT, "elm.text.app_name", "IDS_COM_BODY_MUSIC"); - //elm_object_part_text_set(ad->minicontroller_layout, "elm.text.app_name", GET_SYS_STR("IDS_COM_BODY_MUSIC")); } mp_minicontroller_update_winmini_size(ad); @@ -332,6 +330,12 @@ int mp_minicontroller_show(struct appdata *ad) /* Not show minicontrol when current track not exsit */ MP_CHECK_VAL(ad->current_track_info, -1); +#ifdef MP_SOUND_PLAYER + preference_set_int(PREF_MINICONTROLLER, PREF_SOUND_PLAYER_MINICONTROLLER); +#else + preference_set_int(PREF_MINICONTROLLER, PREF_MUSIC_PLAYER_MINICONTROLLER); +#endif + ad->b_minicontroller_show = TRUE; mp_minicontroller_update(ad, false); evas_object_show(ad->win_minicon); -- 2.34.1