Changes for wallpaper lockscreen image 58/78958/2 submit/tizen_mobile/20160709.111557
authorshubham kumar <shubham.srib@samsung.com>
Thu, 7 Jul 2016 12:34:01 +0000 (18:04 +0530)
committershubham kumar <shubham.srib@samsung.com>
Fri, 8 Jul 2016 09:34:36 +0000 (15:04 +0530)
Change-Id: Ie4aab7177f11fa03ac87e2f231a4d91cf88fe047
Signed-off-by: shubham kumar <shubham.srib@samsung.com>
src/widget/mp-lockscreenmini.c

index ee0c16d0585d1710ad01381d5bea3616f9a27277..dbdeff7bd861b9452372a0447720f019ddeb341f 100755 (executable)
@@ -30,6 +30,7 @@
 #include <device/display.h>
 #include <device/callback.h>
 #include <system_settings.h>
+#include <message_port.h>
 
 #ifdef MP_FEATURE_LOCKSCREEN
 
@@ -58,8 +59,33 @@ static void _mp_lockscreenmini_update_layout(struct appdata *ad, bool landscape)
 #ifdef MP_FEATURE_LOCKSCREEN
 static void _mp_lockscreenmini_set_repeate_image(void *data, int repeate_state);
 static void _mp_lockscreenmini_set_shuffle_image(void *data, int shuffle_state);
+static int port_id;
 #endif
 
+
+static void lockscreen_message_port_cb(int trusted_local_port_id, const char *remote_app_id,
+    const char *remote_port, bool trusted_remote_port, bundle *message, void *data)
+{
+       //do nothing
+}
+
+void register_port()
+{
+    port_id = message_port_register_trusted_local_port("local/port/id/to/specify", lockscreen_message_port_cb, NULL);
+    if (port_id < 0) {
+       DEBUG_TRACE("unable to register port");
+    }
+}
+
+void deregister_port()
+{
+       int ret;
+    ret = message_port_unregister_trusted_local_port(port_id);
+    if (ret != MESSAGE_PORT_ERROR_NONE) {
+       DEBUG_TRACE("unable to deregister");
+    }
+}
+
 static bool _mp_lockscreenmini_is_long_press()
 {
        bool result = false;
@@ -292,21 +318,24 @@ _load_lockscreenmini(struct appdata *ad)
        ad->win_lockmini = win;
 
        int ret = -1;
+       register_port();
+       bundle *b = bundle_create();
+       if (b == NULL) {
+               ERROR_TRACE("Unable to add data to bundle");
+               return;
+       }
+
        ad->lockscreen_wallpaper = (char *)malloc(WALLPAPER_LENGTH * sizeof(char));
        ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_LOCK_SCREEN, &ad->lockscreen_wallpaper);
        if(ret != SYSTEM_SETTINGS_ERROR_NONE) {
                ERROR_TRACE("Failed to get locksreen wallpaper");
        }
-       if(ad->lockscreen_wallpaper)
-               DEBUG_TRACE("lockscreen_wallpaper path is: %s", ad->lockscreen_wallpaper);
-       else
-               ERROR_TRACE("Could not fetch current wallpaper path");
 
        /* load edje */
        _mp_lockscreenmini_update_layout(ad, false);
 
        /*evas_object_show(eo);*/
-
+       bundle_free(b);
        return;
 }
 
@@ -747,7 +776,6 @@ _mp_lockscreenmini_update_layout(struct appdata *ad, bool landscape)
 
        mp_evas_object_del(ad->lockmini_layout);
        ad->lockmini_layout = _load_edj(ad->win_lockmini, LOCKSCREENMINI_EDJ_NAME, "music-lockscreenmini");
-
        if (!ad->lockmini_layout) {
                return ;
        }
@@ -860,17 +888,42 @@ mp_lockscreenmini_update(struct appdata *ad)
 
        int ret = -1;
 
+       bundle *b = bundle_create();
+       if (b == NULL) {
+               ERROR_TRACE("Unable to add data to bundle");
+               bundle_free(b);
+               return;
+       }
+
        if (ad->current_track_info->thumbnail_path) {
                DEBUG_TRACE("Thumbnail Location: %s", ad->current_track_info->thumbnail_path);
-               ret = system_settings_set_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_LOCK_SCREEN, ad->current_track_info->thumbnail_path);
+               //              ret = system_settings_set_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_LOCK_SCREEN, ad->current_track_info->thumbnail_path);
+               ret = bundle_add_str(b,"lockscreen/background/file_path", ad->current_track_info->thumbnail_path);
+               if (ret != BUNDLE_ERROR_NONE) {
+                       ERROR_TRACE("failed bundle_add_str in ad->current_track_info->thumbnail_path");
+                       bundle_free(b);
+                       return;
+               }
        }
        else {
-               ret = system_settings_set_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_LOCK_SCREEN, ad->lockscreen_wallpaper);
+               //              ret = system_settings_set_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_LOCK_SCREEN, ad->lockscreen_wallpaper);
+               if(ad->lockscreen_wallpaper) {
+                       ret = bundle_add_str(b,"lockscreen/background/file_path", ad->lockscreen_wallpaper);
+                       if (ret != BUNDLE_ERROR_NONE) {
+                               ERROR_TRACE("failed bundle_add_str in ad->lockscreen_wallpaper");
+                               bundle_free(b);
+                       }
+               } else {
+                       DEBUG_TRACE("wallpaper is empty");
+               }
        }
-       if (ret != SYSTEM_SETTINGS_ERROR_NONE) {
-               ERROR_TRACE("Failed to set locksreen wallpaper");
+       ret = message_port_send_trusted_message_with_local_port("org.tizen.lockscreen", "lockscreen/port/background/ondemand", b, port_id);
+       if (ret != MESSAGE_PORT_ERROR_NONE) {
+               ERROR_TRACE("Failed to send message via port, value = %s ", get_error_message(ret));
+               bundle_free(b);
+               return;
        }
-
+       bundle_free(b);
        mp_lockscreenmini_update_control(ad);
        if (ad->player_state == PLAY_STATE_PLAYING) {
 #ifdef LOCKSCREEN_ENABLE_PROGRESS
@@ -924,6 +977,7 @@ mp_lockscreenmini_destroy(struct appdata *ad)
        mp_ecore_timer_del(ad->lockmini_progress_timer);
        mp_ecore_timer_del(ad->lockmini_button_timer);
        ad->lockmini_visible = false;
+       deregister_port();
 
        int ret = system_settings_set_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_LOCK_SCREEN, ad->lockscreen_wallpaper);
        if (ret != SYSTEM_SETTINGS_ERROR_NONE) {