From: Alka Sethi Date: Sat, 17 Sep 2016 12:02:47 +0000 (+0530) Subject: [UX IMPL]Minicontroller and lockscreen controller implemented X-Git-Tag: submit/tizen_mobile/20160917.145605^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F01%2F88401%2F3;p=profile%2Fmobile%2Fapps%2Fnative%2Fvideo-player.git [UX IMPL]Minicontroller and lockscreen controller implemented Change-Id: I6ab05fd3d712d6bd1a15247d3092370163303826 Signed-off-by: Alka Sethi --- diff --git a/playview/CMakeLists.txt b/playview/CMakeLists.txt index c00185e..16428c7 100755 --- a/playview/CMakeLists.txt +++ b/playview/CMakeLists.txt @@ -25,6 +25,8 @@ SET(SRCS src/widget/vp-play-loading-ani.c src/widget/vp-play-volume-popup.c src/widget/vp-play-brightness-popup.c + src/widget/vp-play-minicontroller.c + src/widget/vp-play-lockscreenmc.c src/core/vp-mm-player.c src/core/vp-sound.c src/core/vp-media-contents.c @@ -223,6 +225,7 @@ BUILD_EDJ(pv-subtitle-color-popup.edc pv-subtitle-color-popup.edj BUILD_EDJ(pv-colorselector.edc pv-colorselector.edj res/edje/ images) BUILD_CUSTOM_EDJ(pv-minicontroller.edc pv-minicontroller.edj res/edje/ images custom) +BUILD_CUSTOM_EDJ(pv-lockscreenmini.edc pv-lockscreenmini.edj res/edje/ images custom) BUILD_CUSTOM_EDJ(pv-custom-winset.edc pv-custom-winset.edj res/edje/ images custom) diff --git a/playview/res/edje/images/lock_screen/album_frame.png b/playview/res/edje/images/lock_screen/album_frame.png new file mode 100755 index 0000000..b70b588 Binary files /dev/null and b/playview/res/edje/images/lock_screen/album_frame.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_button_66.png b/playview/res/edje/images/lock_screen/control_circle_button_66.png new file mode 100755 index 0000000..738f601 Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_button_66.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_button_66_focus.png b/playview/res/edje/images/lock_screen/control_circle_button_66_focus.png new file mode 100755 index 0000000..dca73d4 Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_button_66_focus.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_button_66_press.png b/playview/res/edje/images/lock_screen/control_circle_button_66_press.png new file mode 100755 index 0000000..e4ab23a Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_button_66_press.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_button_84.png b/playview/res/edje/images/lock_screen/control_circle_button_84.png new file mode 100755 index 0000000..5be57f7 Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_button_84.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_button_84_focus.png b/playview/res/edje/images/lock_screen/control_circle_button_84_focus.png new file mode 100755 index 0000000..fc70b99 Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_button_84_focus.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_button_84_press.png b/playview/res/edje/images/lock_screen/control_circle_button_84_press.png new file mode 100755 index 0000000..6141ad6 Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_button_84_press.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_icon_ff.png b/playview/res/edje/images/lock_screen/control_circle_icon_ff.png new file mode 100755 index 0000000..0948ca4 Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_icon_ff.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_icon_ff_dim.png b/playview/res/edje/images/lock_screen/control_circle_icon_ff_dim.png new file mode 100755 index 0000000..4961fa2 Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_icon_ff_dim.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_icon_ff_press.png b/playview/res/edje/images/lock_screen/control_circle_icon_ff_press.png new file mode 100755 index 0000000..fc2fb52 Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_icon_ff_press.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_icon_pause.png b/playview/res/edje/images/lock_screen/control_circle_icon_pause.png new file mode 100755 index 0000000..5bd2bb3 Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_icon_pause.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_icon_pause_dim.png b/playview/res/edje/images/lock_screen/control_circle_icon_pause_dim.png new file mode 100755 index 0000000..3b02732 Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_icon_pause_dim.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_icon_pause_press.png b/playview/res/edje/images/lock_screen/control_circle_icon_pause_press.png new file mode 100755 index 0000000..e13378b Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_icon_pause_press.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_icon_play.png b/playview/res/edje/images/lock_screen/control_circle_icon_play.png new file mode 100755 index 0000000..c80e1de Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_icon_play.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_icon_play_dim.png b/playview/res/edje/images/lock_screen/control_circle_icon_play_dim.png new file mode 100755 index 0000000..1b5d697 Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_icon_play_dim.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_icon_play_press.png b/playview/res/edje/images/lock_screen/control_circle_icon_play_press.png new file mode 100755 index 0000000..6dbc977 Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_icon_play_press.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_icon_rewind.png b/playview/res/edje/images/lock_screen/control_circle_icon_rewind.png new file mode 100755 index 0000000..7fe74fd Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_icon_rewind.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_icon_rewind_dim.png b/playview/res/edje/images/lock_screen/control_circle_icon_rewind_dim.png new file mode 100755 index 0000000..3b185eb Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_icon_rewind_dim.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_icon_rewind_press.png b/playview/res/edje/images/lock_screen/control_circle_icon_rewind_press.png new file mode 100755 index 0000000..185957c Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_icon_rewind_press.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_icon_stop.png b/playview/res/edje/images/lock_screen/control_circle_icon_stop.png new file mode 100755 index 0000000..5e71172 Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_icon_stop.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_icon_stop_dim.png b/playview/res/edje/images/lock_screen/control_circle_icon_stop_dim.png new file mode 100755 index 0000000..7322e32 Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_icon_stop_dim.png differ diff --git a/playview/res/edje/images/lock_screen/control_circle_icon_stop_press.png b/playview/res/edje/images/lock_screen/control_circle_icon_stop_press.png new file mode 100755 index 0000000..992538e Binary files /dev/null and b/playview/res/edje/images/lock_screen/control_circle_icon_stop_press.png differ diff --git a/playview/res/edje/images/mini_controller/album_frame.png b/playview/res/edje/images/mini_controller/album_frame.png new file mode 100755 index 0000000..b70b588 Binary files /dev/null and b/playview/res/edje/images/mini_controller/album_frame.png differ diff --git a/playview/res/edje/images/mini_controller/bg_btn_player_01.png b/playview/res/edje/images/mini_controller/bg_btn_player_01.png new file mode 100755 index 0000000..6ea99a0 Binary files /dev/null and b/playview/res/edje/images/mini_controller/bg_btn_player_01.png differ diff --git a/playview/res/edje/images/mini_controller/bg_btn_player_01_ef.png b/playview/res/edje/images/mini_controller/bg_btn_player_01_ef.png new file mode 100755 index 0000000..ed1fc1d Binary files /dev/null and b/playview/res/edje/images/mini_controller/bg_btn_player_01_ef.png differ diff --git a/playview/res/edje/images/mini_controller/bg_btn_player_02.png b/playview/res/edje/images/mini_controller/bg_btn_player_02.png new file mode 100755 index 0000000..dee1d36 Binary files /dev/null and b/playview/res/edje/images/mini_controller/bg_btn_player_02.png differ diff --git a/playview/res/edje/images/mini_controller/bg_btn_player_02_ef.png b/playview/res/edje/images/mini_controller/bg_btn_player_02_ef.png new file mode 100755 index 0000000..10f5984 Binary files /dev/null and b/playview/res/edje/images/mini_controller/bg_btn_player_02_ef.png differ diff --git a/playview/res/edje/images/mini_controller/btn_controller_close.png b/playview/res/edje/images/mini_controller/btn_controller_close.png new file mode 100755 index 0000000..bae96ee Binary files /dev/null and b/playview/res/edje/images/mini_controller/btn_controller_close.png differ diff --git a/playview/res/edje/images/mini_controller/icon_player_next.png b/playview/res/edje/images/mini_controller/icon_player_next.png new file mode 100755 index 0000000..dc2b4fd Binary files /dev/null and b/playview/res/edje/images/mini_controller/icon_player_next.png differ diff --git a/playview/res/edje/images/mini_controller/icon_player_pause.png b/playview/res/edje/images/mini_controller/icon_player_pause.png new file mode 100755 index 0000000..4b18759 Binary files /dev/null and b/playview/res/edje/images/mini_controller/icon_player_pause.png differ diff --git a/playview/res/edje/images/mini_controller/icon_player_play.png b/playview/res/edje/images/mini_controller/icon_player_play.png new file mode 100755 index 0000000..5862a77 Binary files /dev/null and b/playview/res/edje/images/mini_controller/icon_player_play.png differ diff --git a/playview/res/edje/images/mini_controller/icon_player_prev.png b/playview/res/edje/images/mini_controller/icon_player_prev.png new file mode 100755 index 0000000..1f0165b Binary files /dev/null and b/playview/res/edje/images/mini_controller/icon_player_prev.png differ diff --git a/playview/res/edje/images/mini_controller/music_btn_player_next_nor.png b/playview/res/edje/images/mini_controller/music_btn_player_next_nor.png new file mode 100644 index 0000000..f911d3a Binary files /dev/null and b/playview/res/edje/images/mini_controller/music_btn_player_next_nor.png differ diff --git a/playview/res/edje/images/mini_controller/music_btn_player_pause_nor.png b/playview/res/edje/images/mini_controller/music_btn_player_pause_nor.png new file mode 100644 index 0000000..392da39 Binary files /dev/null and b/playview/res/edje/images/mini_controller/music_btn_player_pause_nor.png differ diff --git a/playview/res/edje/images/mini_controller/music_btn_player_play_nor.png b/playview/res/edje/images/mini_controller/music_btn_player_play_nor.png new file mode 100644 index 0000000..68dfaab Binary files /dev/null and b/playview/res/edje/images/mini_controller/music_btn_player_play_nor.png differ diff --git a/playview/res/edje/images/mini_controller/music_btn_player_prev_nor.png b/playview/res/edje/images/mini_controller/music_btn_player_prev_nor.png new file mode 100644 index 0000000..cab6d1a Binary files /dev/null and b/playview/res/edje/images/mini_controller/music_btn_player_prev_nor.png differ diff --git a/playview/res/edje/pv-lockscreenmini.edc b/playview/res/edje/pv-lockscreenmini.edc new file mode 100644 index 0000000..fa2c58f --- /dev/null +++ b/playview/res/edje/pv-lockscreenmini.edc @@ -0,0 +1,840 @@ +/* +* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + + +//#include "mp-defines.h" + +#define LOCKSCREEN_MINI_W 300 +#define LOCKSCREEN_MINI_H 93 +#define LOCKSCREEN_TOP_PADDING 19.2 +#define LOCKSCREEN_LEFT_PADDING 24 +#define LOCKSCREEN_RIGHT_PADDING 22.5 +#define LOCKSCREEN_BOTTOM_PADDING 36.8 +#define ALBUM_ART_SIZE 120 120 + +#define LOCKSCREEN_BUTTON_SIZE_MIN_MAX 99 105 +#define LOCKSCREEN_BIG_BTN_SIZE_MIN_MAX 126 134 + +#define MC_LOCKSCREEN_BG 30 28 28 0 + +#define MC_LOCKSCREEN_PREVIOUS "lock_screen/control_circle_icon_rewind.png" +#define MC_LOCKSCREEN_PREVIOUS_PRESS "lock_screen/control_circle_icon_rewind_press.png" +#define MC_LOCKSCREEN_NEXT "lock_screen/control_circle_icon_ff.png" +#define MC_LOCKSCREEN_NEXT_PRESS "lock_screen/control_circle_icon_ff_press.png" + +#define MC_LOCKSCREEN_PLAY "lock_screen/control_circle_icon_play.png" +#define MC_LOCKSCREEN_PAUSE "lock_screen/control_circle_icon_pause.png" +#define MC_LOCKSCREEN_PLAY_PRESS "lock_screen/control_circle_icon_play_press.png" +#define MC_LOCKSCREEN_PAUSE_PRESS "lock_screen/control_circle_icon_pause_press.png" + +#define MC_MUSIC_ALBUM_FRAME "lock_screen/album_frame.png" + + +#define LOCKSCREEN_INTERVAL 34.5 +#define MC_LOCKSCREEN_FOCUSED_COVER(__name, __over_part_bg) \ +part { \ + name: __name"_focus"; \ + type: SWALLOW; \ + mouse_events: 1; \ + scale: 1; \ + repeat_events: 1; \ + description { \ + state: "default" 0.0; \ + align: 0 0; \ + visible:1; \ + rel1 { \ + relative: 0 0; \ + to: __over_part_bg; \ + } \ + rel2 { \ + relative: 1 1; \ + to: __over_part_bg; \ + } \ + } \ +} + +#define MC_LOCKSCREEN_PART_AREA_FROM_LEFT(__name, __left_part, __width, __height) \ +part { name: __name; \ + type: SPACER; \ + scale: 1; \ + mouse_events: 0; \ + description { state: "default" 0.0; \ + rel1 { relative: 1.0 0.5; to: __left_part; } \ + rel2 { relative: 1.0 0.5; to: __left_part; } \ + min: __width __height; \ + fixed: 1 1; \ + align: 0.0 0.5; \ + } \ +} +/* +#define MC_LOCKSCREEN_PROGRAM_PLAY_TOUCH_SOUND \ +program { name: "play_sound"; \ + action: RUN_PLUGIN "touch_sound_plugin"; \ +} +*/ +#define MC_LOCKSCREEN_PART_ICON_BTN(__name, __to, __normal, __pressed, __btn_min_max) \ +part { name: __name"_clip"; \ + type: RECT; \ + scale: 1; \ + mouse_events: 0; \ + description { state: "default" 0.0; \ + rel1.to: __name"_bg"; \ + rel2.to: __name"_bg"; \ + color: 255 255 255 255; \ + } \ + description { state: "hide" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ +} \ +part { name: __name"_bg"; \ + type: IMAGE; \ + scale: 1; \ + mouse_events: 0; \ + clip_to: __name"_clip"; \ + description { state: "default" 0.0; \ + rel1 { relative: 0.5 0.5; to: __to; } \ + rel2 { relative: 0.5 0.5; to: __to; }\ + min: __btn_min_max; \ + max: __btn_min_max; \ + image.normal: __normal; \ + fixed: 1 1; \ + align: 0.5 0.5; \ + } \ + description { state: "pressed" 0.0; \ + inherit: "default" 0.0; \ + } \ +} \ +part { name: __name; \ + type: RECT; \ + scale: 1; \ + mouse_events: 1; \ + clip_to: __name"_clip"; \ + description { state: "default" 0.0; \ + rel1.to: __name"_bg"; \ + rel2.to: __name"_bg"; \ + color: 0 0 0 0; \ + } \ +} + +#define MC_LOCKSCREEN_PART_BUTTON(__name, __to, __normal, __pressed, __min_max) \ +part { \ + name: __name"_spacer"; \ + type: SPACER; \ + scale: 1; \ + description { state: "default" 0.0; \ + rel1 { relative: 0 0; to: __to; } \ + rel2 { relative: 1 1; to: __to; } \ + } \ +} \ +part { \ + name: __name"_bg"; \ + mouse_events: 0; \ + type: RECT; \ + scale: 1; \ + description { \ + state: "default" 0.0; \ + align: 0.5 0.5; \ + visible: 0; \ + rel1 { \ + relative: 0.5 0.5; \ + to: __name"_spacer"; \ + } \ + rel2 { \ + relative: 0.5 0.5; \ + to: __name"_spacer"; \ + } \ + min: __min_max; \ + max: __min_max; \ + fixed: 1 1; \ + } \ + description { state: "invisible" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ +} \ +part{ \ + name : __name"_press_bg"; \ + type: RECT; \ + mouse_events:0; \ + scale : 1; \ + description { \ + state: "default" 0.0; \ + align: 0 0; \ + visible:1; \ + color: 0 0 0 0; \ + rel1 { \ + relative: 0 0; \ + to: __name"_bg"; \ + } \ + rel2 { \ + relative: 1 1; \ + to: __name"_bg"; \ + } \ + } \ + description { \ + state: "press" 0.0; \ + inherit: "default" 0.0; \ + } \ + description { state: "invisible" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ +} \ +part { \ + name: __name; \ + type: IMAGE; \ + mouse_events: 1; \ + scale: 1; \ + description { \ + state: "default" 0.0; \ + align: 0 0; \ + visible:1; \ + image { normal: __normal; } \ + rel1 { \ + relative: 0 0; \ + to: __name"_bg"; \ + } \ + rel2 { \ + relative: 1 1; \ + to: __name"_bg"; \ + } \ + } \ + description { \ + state: "press" 0.0; \ + inherit: "default" 0.0; \ + image { normal: __pressed; } \ + } \ + description { state: "invisible" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ +} + +#define MC_LOCKSCREEN_PAUSE_PART_BUTTON(__name, __to, __normal, __pressed, __min_max) \ +part { \ + name: __name"_spacer"; \ + type: SPACER; \ + scale: 1; \ + description { state: "default" 0.0; \ + rel1 { relative: 0 0; to: __to; } \ + rel2 { relative: 1 1; to: __to; } \ + } \ +} \ +part { \ + name: __name"_bg"; \ + mouse_events: 0; \ + type: RECT; \ + scale: 1; \ + description { \ + state: "default" 0.0; \ + align: 0.5 0.5; \ + visible: 0; \ + rel1 { \ + relative: 0.5 0.5; \ + to: __name"_spacer"; \ + } \ + rel2 { \ + relative: 0.5 0.5; \ + to: __name"_spacer"; \ + } \ + min: __min_max; \ + max: __min_max; \ + fixed: 1 1; \ + color: 0 0 0 0; \ + } \ + description { state: "invisible" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ +} \ +part{ \ + name : __name"_press_bg"; \ + type: RECT; \ + mouse_events:0; \ + scale : 1; \ + description { \ + state: "default" 0.0; \ + align: 0 0; \ + color: 0 0 0 0; \ + visible:1; \ + rel1 { \ + relative: 0 0; \ + to: __name"_bg"; \ + } \ + rel2 { \ + relative: 1 1; \ + to: __name"_bg"; \ + } \ + } \ + description { \ + state: "press" 0.0; \ + inherit: "default" 0.0; \ + } \ + description { state: "invisible" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ +} \ +part { \ + name: __name; \ + type: IMAGE; \ + mouse_events: 1; \ + scale: 1; \ + description { \ + state: "default" 0.0; \ + align: 0 0; \ + visible:1; \ + image { normal: __normal; } \ + rel1 { \ + relative: 0 0; \ + to: __name"_bg"; \ + } \ + rel2 { \ + relative: 1 1; \ + to: __name"_bg"; \ + } \ + } \ + description { \ + state: "press" 0.0; \ + inherit: "default" 0.0; \ + image { normal: __pressed; } \ + } \ + description { state: "invisible" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ +} + +#define MC_LOCKSCREEN_PART_TEXT_BTN(__name, __to, __text_part_name) \ +part { name: __name"_clip"; \ + type: RECT; \ + scale: 1; \ + mouse_events: 0; \ + description { state: "default" 0.0; \ + rel1.to: __to; \ + rel2.to: __to; \ + color: 255 255 255 255; \ + } \ + description { state: "hide" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ +} \ +part { name: __name"_bg"; \ + type: SPACER; \ + scale: 1; \ + mouse_events: 0; \ + clip_to: __name"_clip"; \ + description { state: "default" 0.0; \ + rel1.to: __to; \ + rel2.to: __to; \ + } \ + description { state: "pressed" 0.0; \ + inherit: "default" 0.0; \ + } \ +} \ +part { name: __text_part_name; \ + type: TEXT; \ + scale: 1; \ + mouse_events: 0; \ + clip_to: __name"_clip"; \ + description { state: "default" 0.0; \ + rel1.to: __name"_bg"; \ + rel2.to: __name"_bg"; \ + text { \ + font: "Tizen:style=Medium"; \ + text_class: "tizen"; \ + size: 28; \ + align: 0.5 0.5; \ + } \ + color: 149 149 149 255; \ + } \ +} \ +part { name: __name; \ + type: RECT; \ + scale: 1; \ + mouse_events: 1; \ + clip_to: __name"_clip"; \ + description { state: "default" 0.0; \ + rel1.to: __to; \ + rel2.to: __to; \ + color: 0 0 0 0; \ + } \ +} + +#define MC_LOCKSCREEN_PART_RECT(__name, __to, __sx, __sy, __ex, __ey) \ +part { \ + name: __name; \ + mouse_events: 1; \ + repeat_events: 1; \ + type: RECT; \ + scale: 1; \ + description { \ + state: "default" 0.0; \ + align: 0 0; \ + visible: 1; \ + rel1 { \ + relative: __sx __sy; \ + to: __to; \ + } \ + rel2 { \ + relative: __ex __ey; \ + to: __to; \ + } \ + color: 0 0 0 0; \ + }\ + description { \ + state: "hide" 0.0; \ + visible: 0; \ + }\ +} + +#define MC_LOCKSCREEN_PART_SWALLOW(__name, __to, __sx, __sy, __ex, __ey) \ +part { \ + name: __name; \ + mouse_events: 1; \ + type: SWALLOW; \ + scale: 1; \ + description { \ + state: "default" 0.0; \ + align: 0.5 0.5; \ + fixed: 1 1; \ + visible: 1; \ + fixed:1 1;\ + rel1 { \ + relative: __sx __sy; \ + to: __to; \ + } \ + rel2 { \ + relative: __ex __ey; \ + to: __to; \ + } \ + color: 0 0 0 0; \ + } \ +} + +#define MC_LOCKSCREEN_PROGRAM_BTN_ACTION(__btn, __down_emission, __down_src, __up_emission, __up_src, __clicked_emission, __clicked_src) \ +program { \ + source: __btn; \ + signal: "mouse,down,1"; \ + script { \ + set_state(PART:__btn"_bg", "pressed", 0.0); \ + emit(__down_emission, __down_src); \ + } \ + transition: ACCELERATE 0.02;\ +} \ +program { \ + signal: "mouse,up,1"; \ + source: __btn; \ + script { \ + set_state(PART:__btn"_bg", "default", 0.0); \ + emit(__up_emission, __up_src); \ + } \ +} \ +program { \ + signal: "mouse,clicked,1"; \ + source: __btn; \ + action: SIGNAL_EMIT __clicked_emission __clicked_src; \ +} + +#define MC_LOCKSCREEN_BUTTON_PROGRAM(__name) \ +program { \ + name: __name"_down"; \ + source: __name; \ + signal: "mouse,down,1"; \ + action: STATE_SET "press" 0.0; \ + target: __name"_bg"; \ + target: __name"_press_bg"; \ + target: __name; \ + transition: ACCELERATE 0.02;\ +} \ +program { \ + name: __name"_up"; \ + source: __name; \ + signal: "mouse,up,1"; \ + action: STATE_SET "default" 0.0; \ + target: __name"_bg"; \ + target: __name"_press_bg"; \ + target: __name; \ + transition: DECELERATE 0.02;\ +} \ +program { \ + name: __name"_unpressed"; \ + source: __name; \ + signal: "signal.button.unpressed"; \ + action: STATE_SET "default" 0.0; \ + target: __name"_bg"; \ + target: __name"_press_bg"; \ + target: __name; \ + transition: DECELERATE 0.02;\ +} \ +program { \ + name: __name"_clicked"; \ + source: __name; \ + signal: "mouse,clicked,1"; \ + action: SIGNAL_EMIT __name"_clicked" 0.0; \ +} + +#define MC_LOCKSCREEN_BUTTON_VISIVBLE_PROGRAM(__name) \ +program { \ + name: __name"_visible" ; \ + signal: __name"_visible"; \ + source: __name; \ + action: STATE_SET "default" 0.0; \ + target: __name"_bg"; \ + target: __name"_press_bg"; \ + target: __name; \ +} \ +program { \ + name: __name"_invisible" ; \ + signal: __name"_invisible"; \ + source: __name; \ + action: STATE_SET "invisible" 0.0; \ + target: __name"_bg"; \ + target: __name"_press_bg"; \ + target: __name; \ +} + +#define MC_LOCKSCREEN_PROGRAM_BTN_VISIBLE(__btn, __show_signal, __hide_signal) \ +program { \ + signal: __show_signal; \ + source: "*"; \ + action: STATE_SET "default" 0.0; \ + target: __btn"_clip"; \ +} \ +program { \ + signal: __hide_signal; \ + source: "*"; \ + action: STATE_SET "hide" 0.0; \ + target: __btn"_clip"; \ +} + +#define MC_LOCKSCREEN_MINI_CONTROL_HIDE_SWALLOW_OPTION(__name, __to) \ +part { \ + name: __name; \ + mouse_events: 1; \ + type: SWALLOW; \ + scale: 1; \ + repeat_events: 1; \ + description { \ + state: "default" 0.0; \ + align: 0.5 0.5; \ + visible: 0; \ + rel1 { \ + relative: 0 0; \ + to: __to; \ + } \ + rel2 { \ + relative: 1 1; \ + to: __to; \ + } \ + color: 0 0 0 0; \ + } \ + description { \ + state: "visible" 0.0; \ + inherit: "default"; \ + visible: 1; \ + } \ +} + +#define MC_LOCKSCREEN_MINI_CONTROL_BUTTON_INVISIVBLE_PROGRAM(__name) \ +program { \ + name: __name"_visible" ; \ + signal: __name"_visible"; \ + source: __name; \ + action: STATE_SET "visible" 0.0; \ + target: __name; \ +} \ +program { \ + name: __name"_invisible" ; \ + signal: __name"_invisible"; \ + source: __name; \ + action: STATE_SET "default" 0.0; \ + target: __name; \ +} + +externals { + external: "elm"; + external: "feedback"; +} + +collections { +base_scale: 2.4; +/* +sounds { + sample { + name: "button-pressed" AS_IS; + source: MP_BUTTON_PRESSED_NAME; + } +} +plugins { + plugin { + name: "touch_sound_plugin"; + source: "feedback"; + param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP"; + } +} +*/ +group { + name: "video-lockscreenmini"; + images { + image: MC_LOCKSCREEN_PREVIOUS COMP; + image: MC_LOCKSCREEN_PREVIOUS_PRESS COMP; + image: MC_LOCKSCREEN_NEXT COMP; + image: MC_LOCKSCREEN_NEXT_PRESS COMP; + image: MC_LOCKSCREEN_PLAY COMP; + image: MC_LOCKSCREEN_PAUSE COMP; + image: MC_LOCKSCREEN_PLAY_PRESS COMP; + image: MC_LOCKSCREEN_PAUSE_PRESS COMP; + image: MC_MUSIC_ALBUM_FRAME COMP; + } + parts { + part{ name: "bg"; + type : RECT; + scale : 1; + mouse_events: 0; + description { + state: "default" 0.0; + min : 0 LOCKSCREEN_MINI_H; + fixed: 1 1; + rel1{ relative : 0 0;} + rel2{ relative : 1 1;} + color : MC_LOCKSCREEN_BG; + } + } + + part { name: "padding.top"; + type: SPACER; + scale: 1; + mouse_events: 0; + description { state: "default" 0.0; + rel1 { relative: 0 0; to: "bg"; } + rel2 { relative: 1 0; to: "bg"; } + min: 0 LOCKSCREEN_TOP_PADDING; + fixed: 0 1; + align: 0 0; + } + } + + part { name: "padding.left"; + type: SPACER; + scale: 1; + mouse_events: 0; + description { state: "default" 0.0; + rel1 { relative: 0 0; to: "bg"; } + rel2 { relative: 0 1; to: "bg"; } + min: LOCKSCREEN_LEFT_PADDING 0; + fixed: 1 0; + align: 0 0; + } + } + + part { name: "padding.right"; + type: SPACER; + scale: 1; + mouse_events: 0; + description { state: "default" 0.0; + rel1 { relative: 1 0; to: "bg"; } + rel2 { relative: 1 1; to: "bg"; } + min: LOCKSCREEN_RIGHT_PADDING 0; + fixed: 1 0; + align: 1 0; + } + } + + part { name: "padding.bottom"; + type: SPACER; + scale: 1; + mouse_events: 0; + description { state: "default" 0.0; + rel1 { relative: 0 1; to: "bg"; } + rel2 { relative: 1 1; to: "bg"; } + min: 0 LOCKSCREEN_BOTTOM_PADDING; + fixed: 0 1; + align: 0 1; + } + } + part { name: "padding_for_albumart.top"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + rel1 { relative: 0 0; to: "bg"; } + rel2 { relative: 1 0; to: "bg"; } + min: 0 25; + fixed: 0 1; + align: 0.0 0.0; + } + } + + part { name: "padding_for_albumart.bottom"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + rel1 { relative: 0 1; to: "bg"; } + rel2 { relative: 1 1; to: "bg"; } + min: 0 15; + fixed: 0 1; + align: 0 1; + } + } + part { name: "albumarmt_bg"; + type: RECT; + scale: 1; + mouse_events: 0; + description { state: "default" 0.0; + rel1 { relative: 1.0 1.0; to_x: "padding.left"; to_y: "padding_for_albumart.top"; } + rel2 { relative: 1.0 0.0; to_x: "padding.left"; to_y: "padding_for_albumart.bottom"; } + min: ALBUM_ART_SIZE; + max: ALBUM_ART_SIZE; + fixed: 1 1; + align: 0.0 0.5; + } + } + part { name: "albumart_image"; + type: SWALLOW; + scale: 1; + mouse_events: 1; + clip_to: "albumarmt_bg"; + description { state: "default" 0.0; + rel1 { relative: 0.5 0.5; to: "albumarmt_bg"; } + rel2 { relative: 0.5 0.5; to: "albumarmt_bg"; } + min: ALBUM_ART_SIZE; + max: ALBUM_ART_SIZE; + fixed: 1 1; + align: 0.5 0.5; + } + } + + part { name: "albumarmt_frame"; + type: IMAGE; + scale: 1; + mouse_events: 0; + description { state: "default" 0.0; + rel1 { relative: 0.0 0.0; to: "albumarmt_bg";} + rel2 { relative: 1.0 1.0; to: "albumarmt_bg";} + min: ALBUM_ART_SIZE; + image.normal: MC_MUSIC_ALBUM_FRAME; + color_class:"AO009"; + } + } + part { name: "elm.text"; + type: SWALLOW; + mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + rel1 { relative: 1.0 1.0; to_x: "padding.left"; to_y: "padding.top";} + rel2 { relative: 0 1.0; to_x: "padding.right"; to_y: "padding.top"; offset: 0 57;} + fixed: 1 1; + } + } + + part { name: "control_area"; + type: SPACER; + scale: 1; + mouse_events: 0; + description { state: "default" 0.0; + rel1 { relative: 1.0 1.0; to_x: "padding.left"; to_y: "elm.text"; } + rel2 { relative: 0.0 0.0; to_x: "padding.right"; to_y: "padding.bottom"; } + min: 0 134.4; + fixed: 0 1; + align: 0.5 0.5; + } + } + + part { name: "rew_btn_area"; + type: SPACER; + scale: 1; + mouse_events: 0; + description { state: "default" 0.0; + rel1 { relative: 0.27 0.45; to_x: "control_area"; to_y: "control_area";} + rel2 { relative: 0.27 0.45; to_x: "control_area"; to_y: "control_area";} + min: 99 134; + fixed: 1 1; + align: 0.5 0.5; + } + } + + part { name: "left_area"; + type: SPACER; + scale: 1; + mouse_events: 0; + description { state: "default" 0.0; + rel1 { relative: 0.0 0.0; to: "rew_btn_area"; } + rel2 { relative: 1.0 1.0; to: "rew_btn_area"; } + min: LOCKSCREEN_BUTTON_SIZE_MIN_MAX; + fixed: 1 1; + align: 0.5 0.5; + } + } + + MC_LOCKSCREEN_PART_BUTTON("rew_btn", "left_area", MC_LOCKSCREEN_PREVIOUS, MC_LOCKSCREEN_PREVIOUS_PRESS, LOCKSCREEN_BUTTON_SIZE_MIN_MAX) + MC_LOCKSCREEN_FOCUSED_COVER("rew", "left_area"); + + MC_LOCKSCREEN_PART_AREA_FROM_LEFT("rew_right_padding", "left_area", LOCKSCREEN_INTERVAL, 134) + + MC_LOCKSCREEN_PART_AREA_FROM_LEFT("play_pause_btn_area", "rew_right_padding", 126, 134) + + MC_LOCKSCREEN_PART_BUTTON("play_btn", "play_pause_btn_area", MC_LOCKSCREEN_PAUSE, MC_LOCKSCREEN_PAUSE_PRESS, LOCKSCREEN_BIG_BTN_SIZE_MIN_MAX) + MC_LOCKSCREEN_PAUSE_PART_BUTTON("pause_btn", "play_pause_btn_area", MC_LOCKSCREEN_PLAY, MC_LOCKSCREEN_PLAY_PRESS, LOCKSCREEN_BIG_BTN_SIZE_MIN_MAX) + + MC_LOCKSCREEN_FOCUSED_COVER("play_pause", "play_pause_btn_area"); + + MC_LOCKSCREEN_PART_AREA_FROM_LEFT("play_pause_right_padding", "play_pause_btn_area", LOCKSCREEN_INTERVAL, 134) + + MC_LOCKSCREEN_PART_AREA_FROM_LEFT("ff_btn_area", "play_pause_right_padding", 99, 105) + + MC_LOCKSCREEN_PART_BUTTON("ff_btn", "ff_btn_area", MC_LOCKSCREEN_NEXT, MC_LOCKSCREEN_NEXT_PRESS, LOCKSCREEN_BUTTON_SIZE_MIN_MAX) + MC_LOCKSCREEN_FOCUSED_COVER("ff", "ff_btn_area"); + + } + + programs { +/* MC_LOCKSCREEN_PROGRAM_PLAY_TOUCH_SOUND*/ + + MC_LOCKSCREEN_BUTTON_PROGRAM("rew_btn") + MC_LOCKSCREEN_BUTTON_PROGRAM("ff_btn") + + MC_LOCKSCREEN_BUTTON_PROGRAM("play_btn") + MC_LOCKSCREEN_BUTTON_VISIVBLE_PROGRAM("play_btn") + MC_LOCKSCREEN_BUTTON_PROGRAM("pause_btn") + MC_LOCKSCREEN_BUTTON_VISIVBLE_PROGRAM("pause_btn") + + program { name: "set_pause_icon"; + signal: "set_pause"; + source: "*"; + script{ + emit("hide_play_btn", "edje"); + emit("show_pause_btn", "edje"); + } + } + program { name: "set_play_icon"; + signal: "set_play"; + source: "*"; + script{ + emit("show_play_btn", "edje"); + emit("hide_pause_btn", "edje"); + } + } + } + +} + + +} // collection + diff --git a/playview/res/edje/pv-minicontroller.edc b/playview/res/edje/pv-minicontroller.edc index 68ff7b3..d0c3fbe 100644 --- a/playview/res/edje/pv-minicontroller.edc +++ b/playview/res/edje/pv-minicontroller.edc @@ -14,23 +14,40 @@ * limitations under the License. * */ -#define MINI_W 692 -#define MINI_H 180 -#define TOP_PADDING 10 -#define LEFT_PADDING 16 -#define RIGHT_PADDING 20 -#define BOTTOM_PADDING 12 -#define ALBUM_ART_SIZE 156 156 + +#define MINI_H 70 +#define MINI_H_PORT 70 +#define TOP_PADDING 4 +#define LEFT_PADDING 12 +#define RIGHT_PADDING 4 +#define BOTTOM_PADDING 6 +#define ALBUM_ART_SIZE 120 120 #define BUTTON_SIZE_MIN_MAX 80 80 -#define BIG_BTN_SIZE_MIN_MAX 102 102 +#define BIG_BTN_SIZE_MIN_MAX 80 80 #define BUTTON_EXPAND_OFFSET 0 #define BUTTON_CLOSE_SIZE_MAX 30 30 +#define PLAY_BTN_SIZE_MIN_MAX 80 80 +#define FF_BTN_SIZE_MIN_MAX 80 80 -#define ALBUM_ART_LD_SIZE 130 130 #define MC_BG 30 28 28 0 +#define MC_MUSIC_LAGRE_BTN_EF "mini_controller/bg_btn_player_01_ef.png" +#define MC_MUSIC_LAGRE_BTN_BG "mini_controller/bg_btn_player_01.png" +#define MC_MUSIC_PLAY_BTN "mini_controller/music_btn_player_play_nor.png" +#define MC_MUSIC_PAUSE_BTN "mini_controller/music_btn_player_pause_nor.png" + + +#define MC_MUSIC_SMALL_BTN_EF "mini_controller/bg_btn_player_02_ef.png" +#define MC_MUSIC_SMALL_BTN_BG "mini_controller/bg_btn_player_02.png" + +#define MC_MUSIC_CLOSE_BTN "mini_controller/btn_controller_close.png" +#define MC_MUSIC_PREV_BTN "mini_controller/music_btn_player_prev_nor.png" +#define MC_MUSIC_NEXT_BTN "mini_controller/music_btn_player_next_nor.png" + +#define MC_MUSIC_ALBUM_FRAME "mini_controller/album_frame.png" + #define MC_IMG_REW_NORMAL "mini_controller/btn_video_prev_nor.png" #define MC_IMG_REW_PRESSED "mini_controller/btn_video_prev_press.png" #define MC_IMG_PLAY_NORMAL "mini_controller/btn_video_play_nor.png" @@ -45,6 +62,30 @@ #define MC_IMG_PROGRESS_BAR "mini_controller/video_progress.png" + +#define MC_FOCUSED_COVER(__name, __over_part_bg) \ +part { \ + name: __name"_focus"; \ + type: SWALLOW; \ + mouse_events: 1; \ + scale: 1; \ + repeat_events: 1; \ + description { \ + state: "default" 0.0; \ + align: 0 0; \ + visible:1; \ + fixed: 1 1;\ + rel1 { \ + relative: 0 0; \ + to: __over_part_bg; \ + } \ + rel2 { \ + relative: 1 1; \ + to: __over_part_bg; \ + } \ + } \ +} + #define MC_PART_AREA_FROM_LEFT(__name, __left_part, __width, __height) \ part { name: __name; \ type: SPACER; \ @@ -59,6 +100,89 @@ part { name: __name; \ } \ } +#define MC_PART_AREA_FROM_SWALLOW_LEFT(__name, __left_part, __width, __height) \ +part { name: __name; \ + type: SWALLOW; \ + scale: 1; \ + mouse_events: 1; \ + description { state: "default" 0.0; \ + rel1 { relative: 1.0 0.5; to: __left_part; } \ + rel2 { relative: 1.0 0.5; to: __left_part; } \ + min: __width __height; \ + fixed: 1 1; \ + align: 0.0 0.5; \ + } \ +} +#define MC_IMAGE_PART_FOCUS(__name,__to,__image,__btn_min_max)\ +part { name: __name;\ + type: IMAGE;\ + scale: 1;\ + mouse_events: 1;\ + description { state: "default" 0.0;\ + rel1 { relative: 0.5 0.5; to: __to; }\ + rel2 { relative: 0.5 0.5; to: __to; }\ + min: __btn_min_max;\ + max: __btn_min_max;\ + image.normal: __image;\ + fixed: 1 1;\ + align: 0.5 0.5;\ + color: 41 215 255 255;\ + }\ + description { state: "pressed" 0.0;\ + inherit: "default" 0.0;\ + color: 41 215 255 255;\ + }\ + description { state: "focus" 0.0;\ + inherit: "default" 0.0;\ + color: 6 119 194 255;\ + }\ + description { state: "hide" 0.0;\ + inherit: "default" 0.0;\ + visible: 0;\ + }\ + } + + +#define MC_IMAGE_PART(__name,__to,__image,__normal_code_red_component,__normal_code_green_component,__normal_code_blue_component,__normal_code_alpha_component,__press_code_red_component,__press_code_green_component,__press_code_blue_component,__press_code_alpha_component,__btn_min_max)\ +part { name: __name;\ + type: IMAGE;\ + scale: 1;\ + mouse_events: 1;\ + description { state: "default" 0.0;\ + rel1 { relative: 0.5 0.5; to: __to; }\ + rel2 { relative: 0.5 0.5; to: __to; }\ + min: __btn_min_max;\ + max: __btn_min_max;\ + image.normal: __image;\ + fixed: 1 1;\ + align: 0.5 0.5;\ + color: __normal_code_red_component __normal_code_green_component __normal_code_blue_component __normal_code_alpha_component;\ + }\ + description { state: "pressed" 0.0;\ + inherit: "default" 0.0;\ + color: __press_code_red_component __press_code_green_component __press_code_blue_component __press_code_alpha_component;\ + }\ + description { state: "hide" 0.0;\ + inherit: "default" 0.0;\ + visible: 0;\ + }\ + } + +#define MC_PROGRAM_IMAGE_VISIBLE(__btn, __show_signal, __hide_signal) \ +program { \ + signal: __show_signal; \ + source: "*"; \ + action: STATE_SET "default" 0.0; \ + target: __btn; \ +} \ +program { \ + signal: __hide_signal; \ + source: "*"; \ + action: STATE_SET "hide" 0.0; \ + target: __btn; \ +} + + #define MC_PART_ICON_BTN(__name, __to, __normal, __pressed, __btn_min_max) \ part { name: __name"_clip"; \ type: RECT; \ @@ -225,7 +349,7 @@ program { \ program { \ source: __btn; \ signal: "mouse,down,1"; \ - action: RUN_PLUGIN "touch_sound_plugin"; \ + action: PLAY_SAMPLE "button-pressed" 1.0; \ after: __btn"_after_down"; \ transition: ACCELERATE 0.02;\ } \ @@ -257,31 +381,88 @@ program { \ target: __btn"_clip"; \ } +#define MINI_CONTROL_HIDE_SWALLOW_OPTION(__name, __to) \ +part { \ + name: __name; \ + mouse_events: 1; \ + type: SWALLOW; \ + scale: 1; \ + repeat_events: 1; \ + description { \ + state: "default" 0.0; \ + align: 0.5 0.5; \ + visible: 0; \ + rel1 { \ + relative: 0 0; \ + to: __to; \ + } \ + rel2 { \ + relative: 1 1; \ + to: __to; \ + } \ + color: 0 0 0 0; \ + } \ + description { \ + state: "visible" 0.0; \ + inherit: "default"; \ + visible: 1; \ + } \ +} + +#define MINI_CONTROL_BUTTON_INVISIVBLE_PROGRAM(__name) \ +program { \ + name: __name"_visible" ; \ + signal: __name"_visible"; \ + source: __name; \ + action: STATE_SET "visible" 0.0; \ + target: __name; \ +} \ +program { \ + name: __name"_invisible" ; \ + signal: __name"_invisible"; \ + source: __name; \ + action: STATE_SET "default" 0.0; \ + target: __name; \ +} + +externals { + external: "elm"; + external: "feedback"; +} + collections { +base_scale: 2.4; +/* +sounds { + sample { + name: "button-pressed" AS_IS; + source: MP_BUTTON_PRESSED_NAME; + } +} plugins { plugin { name: "touch_sound_plugin"; source: "feedback"; param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP"; - } } - +} +*/ group { name: "video-minicontroller"; images { - image: MC_IMG_REW_NORMAL COMP; - image: MC_IMG_REW_PRESSED COMP; - image: MC_IMG_PLAY_NORMAL COMP; - image: MC_IMG_PLAY_PRESSED COMP; - image: MC_IMG_PAUSE_NORMAL COMP; - image: MC_IMG_PAUSE_PRESSED COMP; - image: MC_IMG_FF_NORMAL COMP; - image: MC_IMG_FF_PRESSED COMP; - image: MC_IMG_CLOSE_NORMAL COMP; - image: MC_IMG_CLOSE_PRESSED COMP; - image: MC_IMG_PROGRESS_BG COMP; - image: MC_IMG_PROGRESS_BAR COMP; + image: MC_MUSIC_LAGRE_BTN_EF COMP; + image: MC_MUSIC_LAGRE_BTN_BG COMP; + image: MC_MUSIC_PLAY_BTN COMP; + image: MC_MUSIC_PAUSE_BTN COMP; + image: MC_MUSIC_SMALL_BTN_EF COMP; + image: MC_MUSIC_SMALL_BTN_BG COMP; + + image: MC_MUSIC_CLOSE_BTN COMP; + image: MC_MUSIC_PREV_BTN COMP; + image: MC_MUSIC_NEXT_BTN COMP; + + image: MC_MUSIC_ALBUM_FRAME COMP; } parts { part{ name: "bg"; @@ -290,11 +471,28 @@ group { mouse_events: 0; description { state: "default" 0.0; - min : 0 MINI_H; + min : 0 MINI_H_PORT; fixed: 1 1; rel1{ relative : 0 0;} rel2{ relative : 1 1;} - color : MC_BG; + color: MC_BG; + } + } + + part { name: "event_box"; + type : SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + rel1 { + relative: 0 0; + to: "bg"; + } + rel2 { + relative: 1 1; + to: "bg"; + } } } @@ -352,21 +550,23 @@ group { part { name: "padding_for_albumart.top"; type: SPACER; scale: 1; - description { state: "default" 0.0; - rel2 { relative: 1.0 0.0; } - min: 0 12; + description { + state: "default" 0.0; + rel1 { relative: 0 0; to: "bg"; } + rel2 { relative: 1 0; to: "bg"; } + min: 0 15; fixed: 0 1; align: 0.0 0.0; } } - part { name: "padding_for_albumart.bottom"; + part { name: "padding_for_albumart.bottom"; type: SPACER; scale: 1; description { state: "default" 0.0; rel1 { relative: 0 1; to: "bg"; } rel2 { relative: 1 1; to: "bg"; } - min: 0 12; + min: 0 15; fixed: 0 1; align: 0 1; } @@ -382,8 +582,7 @@ group { min: ALBUM_ART_SIZE; max: ALBUM_ART_SIZE; fixed: 1 1; - align: 0.0 0.0; - visible: 0; + align: 0.0 0.5; } } @@ -391,6 +590,7 @@ group { type: SWALLOW; scale: 1; mouse_events: 1; + clip_to: "albumarmt_bg"; description { state: "default" 0.0; rel1 { relative: 0.5 0.5; to: "albumarmt_bg"; } rel2 { relative: 0.5 0.5; to: "albumarmt_bg"; } @@ -401,6 +601,19 @@ group { } } + part { name: "albumarmt_frame"; + type: IMAGE; + scale: 1; + mouse_events: 0; + description { state: "default" 0.0; + rel1 { relative: 0.0 0.0; to: "albumarmt_bg";} + rel2 { relative: 1.0 1.0; to: "albumarmt_bg";} + min: ALBUM_ART_SIZE; + image.normal: MC_MUSIC_ALBUM_FRAME; + color_class:"AO009"; + } + } + part { name: "right_area"; type: SPACER; scale: 1; @@ -414,148 +627,338 @@ group { part { name: "elm.text"; // title type: SWALLOW; - mouse_events: 0; + mouse_events: 1; scale: 1; description { state: "default" 0.0; - rel1 { relative: 0.0 1.0; to_x: "right_area"; to_y: "padding.top"; offset: 16 0;} - rel2 { relative: 458/520 1.0; to_x: "right_area"; to_y: "padding.top";} - min: 442 36; + rel1 { relative: 0.0 1.0; to_x: "right_area"; to_y: "padding.top"; offset: 38 0;} + rel2 { relative: 0.83 1.0; to_x: "right_area"; to_y: "padding.top";} + min: 143 17; fixed: 1 1; - align: 0.0 0.0; + align: 0.5 0.0; } } - part { name: "close_btn_left_padding"; - type: SPACER; + part { name: "close_btn_area"; + type: RECT; scale: 1; mouse_events: 0; description { state: "default" 0.0; - rel1 { relative: 1.0 1.0; to_x: "elm.text"; to_y: "padding.top"; offset: 12 0;} - rel2 { relative: 1.0 1.0; to_x: "elm.text"; to_y: "padding.top"; offset: 12 0;} + rel1 { relative: 0.0 1.0; to_x: "padding.right"; to_y: "elm.text";offset: -25 1;} + rel2 { relative: 0.0 0.0; to_x: "padding.right"; to_y: "elm.text"; offset: -25 1;} min: BUTTON_CLOSE_SIZE_MAX; max: BUTTON_CLOSE_SIZE_MAX; + color: 255 0 0 0; fixed: 1 1; - align: 1.0 0.0; - } - description { state: "landsape" 0.0; - inherit: "default" 0.0; - min: 308 86; } } - MC_PART_AREA_FROM_LEFT("close_btn_area", "close_btn_left_padding", BUTTON_CLOSE_SIZE_MAX, BUTTON_CLOSE_SIZE_MAX) - MC_PART_ICON_BTN("close_btn", "close_btn_area", MC_IMG_CLOSE_NORMAL, MC_IMG_CLOSE_PRESSED, BUTTON_CLOSE_SIZE_MAX) - - - /* progress bg image */ - part { - name: "progress_bg"; - type: IMAGE; + MC_IMAGE_PART("close_btn","close_btn_area",MC_MUSIC_CLOSE_BTN,61,185,204,255,61,185,204,255,BUTTON_CLOSE_SIZE_MAX) + part { name: "close_btn_touch_area"; + type: RECT; + scale: 1; + mouse_events: 1; + repeat_events: 1; + description { state: "default" 0.0; + rel1 { to: "close_btn_area"; offset: -7 -7; } + rel2 { to: "close_btn_area"; offset: 7 7; } + color: 0 0 0 0; + } + } + + part { name: "mid_padding"; + type: RECT; mouse_events: 0; scale: 1; - description { - state: "default" 0.0; - align: 0.5 0; - visible:1; - image { normal: MC_IMG_PROGRESS_BG; } - min: 484 8; - max: 484 8; - fixed: 1 1; - rel1 { relative: 0.0 1.0; to_x: "right_area"; to_y: "elm.text"; offset: 16 0; } - rel2 { relative: 1.0 1.0; to_x: "right_area"; to_y: "elm.text";} + description + { state: "default" 0.0; + rel1 { relative: 0.0 1.0; to_x: "right_area"; to_y: "elm.text"; offset: 40 0; } + rel2 { relative: 1.0 1.0; to_x: "padding.right"; to_y: "elm.text"; offset: 0 0; } + align: 0.0 0.0; + color: 255 0 0 0; } } - /* progress */ - MC_PART_RECT("progress_area", "progress_bg", 0, 0, 1, 1) - MC_PART_SWALLOW("progress_box", "progress_area", 0, 0, 1, 1) part { name: "button_area"; type: RECT; scale: 1; description { state: "default" 0.0; - rel1 { relative: 0 1; to_x: "right_area"; to_y: "progress_bg"; offset: 0 15;} - rel2 { relative: 1 0; to_x: "right_area"; to_y: "padding.bottom"; } - align: 0.5 0.0; - visible: 0; + rel1 { relative: 0 1; to: "mid_padding";} + rel2 { relative: 1 0; to_x: "elm.text"; to_y: "padding.bottom"; } + visible: 1; } } part { name: "rew_btn_area"; - type: SPACER; + type: RECT; scale: 1; - mouse_events: 0; + mouse_events: 1; description { state: "default" 0.0; - rel1 { relative: 0.0 0.5; to: "button_area"; offset: 108 0;} - rel2 { relative: 0.0 0.5; to: "button_area"; offset: 108 0;} + rel1 { relative: 0.0 0.5; to: "button_area"; offset: 10 0;} + rel2 { relative: 0.0 0.5; to: "button_area"; offset: 10 -16;} min: BUTTON_SIZE_MIN_MAX; fixed: 1 1; align: 0.0 0.5; + visible: 0; } } - MC_PART_ICON_BTN("rew_btn", "rew_btn_area", MC_IMG_REW_NORMAL, MC_IMG_REW_PRESSED, BUTTON_SIZE_MIN_MAX) - MC_PART_AREA_FROM_LEFT("rew_right_padding", "rew_btn_area", 21, 102) - - MC_PART_AREA_FROM_LEFT("play_pause_btn_area", "rew_right_padding", 102, 102) - MC_PART_ICON_BTN("play_btn", "play_pause_btn_area", MC_IMG_PLAY_NORMAL, MC_IMG_PLAY_PRESSED, BIG_BTN_SIZE_MIN_MAX) - MC_PART_ICON_BTN("pause_btn", "play_pause_btn_area", MC_IMG_PAUSE_PRESSED, MC_IMG_PAUSE_NORMAL, BIG_BTN_SIZE_MIN_MAX) + MC_IMAGE_PART("rew_btn_bg","rew_btn_area",MC_MUSIC_SMALL_BTN_BG,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX) + MC_IMAGE_PART("rew_btn_ef","rew_btn_area",MC_MUSIC_SMALL_BTN_EF,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX) + MC_IMAGE_PART("rew_btn","rew_btn_area",MC_MUSIC_PREV_BTN,61,185,204,255,34,104,115,255,FF_BTN_SIZE_MIN_MAX) + part { name: "rew_btn_touch_area"; + type: RECT; + scale: 1; + mouse_events: 1; + repeat_events: 1; + description { state: "default" 0.0; + rel1 { to: "rew_btn_area"; } + rel2 { to: "rew_btn_area";} + color: 0 0 0 0; + } + } + MC_FOCUSED_COVER("rew_btn", "rew_btn_area"); - MC_PART_AREA_FROM_LEFT("play_pause_right_padding", "play_pause_btn_area", 21, 86) + part { name: "play_pause_btn_area"; + type: SPACER; + scale: 1; + mouse_events: 1; + description { state: "default" 0.0; + rel1 { relative: 0.4 0.5; to: "button_area"; offset: 0 0;} + rel2 { relative: 0.4 0.5; to: "button_area"; offset: 0 -16; } + min: BUTTON_SIZE_MIN_MAX; + max: BUTTON_SIZE_MIN_MAX; + fixed: 1 1; + align:0.0 0.5; + } + } - MC_PART_AREA_FROM_LEFT("ff_btn_area", "play_pause_right_padding", 80, 80) - MC_PART_ICON_BTN("ff_btn", "ff_btn_area", MC_IMG_FF_NORMAL, MC_IMG_FF_PRESSED, BUTTON_SIZE_MIN_MAX) + MC_IMAGE_PART("play_btn_bg","play_pause_btn_area",MC_MUSIC_LAGRE_BTN_BG,61,185,204,255,34,104,115,255,BIG_BTN_SIZE_MIN_MAX) + MC_IMAGE_PART_FOCUS("play_btn_ef","play_pause_btn_area",MC_MUSIC_LAGRE_BTN_EF,BIG_BTN_SIZE_MIN_MAX) + MC_IMAGE_PART("play_btn","play_pause_btn_area",MC_MUSIC_PLAY_BTN,255,255,255,255,255,255,255,255,PLAY_BTN_SIZE_MIN_MAX) + MC_IMAGE_PART("pause_btn","play_pause_btn_area",MC_MUSIC_PAUSE_BTN,255,255,255,255,255,255,255,255,PLAY_BTN_SIZE_MIN_MAX) + part { name: "play_btn_touch_area"; + type: RECT; + scale: 1; + mouse_events: 1; + repeat_events: 1; + description { state: "default" 0.0; + rel1 { to: "play_pause_btn_area"; } + rel2 { to: "play_pause_btn_area"; } + color: 0 0 0 0; + } + } + MC_FOCUSED_COVER("play_pause", "play_pause_btn_area"); + part { name: "ff_btn_area"; + type: SPACER; + scale: 1; + mouse_events: 1; + description { state: "default" 0.0; + rel1 { relative:0.8 0.5; to: "button_area";offset: -10 0;} + rel2 { relative:0.8 0.5; to: "button_area";offset: -10 -16;} + min: FF_BTN_SIZE_MIN_MAX; + max: FF_BTN_SIZE_MIN_MAX; + fixed: 1 1; + align:0.0 0.5; + } + } + MC_IMAGE_PART("ff_btn_bg","ff_btn_area",MC_MUSIC_SMALL_BTN_BG,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX) + MC_IMAGE_PART("ff_btn_ef","ff_btn_area",MC_MUSIC_SMALL_BTN_EF,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX) + MC_IMAGE_PART("ff_btn","ff_btn_area",MC_MUSIC_NEXT_BTN,61,185,204,255,34,104,115,255,FF_BTN_SIZE_MIN_MAX) + part { name: "ff_btn_touch_area"; + type: RECT; + scale: 1; + mouse_events: 1; + repeat_events: 1; + description { state: "default" 0.0; + rel1 { to: "ff_btn_area"; } + rel2 { to: "ff_btn_area";} + color: 0 0 0 0; + } + } + MC_FOCUSED_COVER("ff_btn", "ff_btn_area"); } programs { - MC_PROGRAM_BTN_ACTION("rew_btn", "rew_btn_down", "edje", "rew_btn_up", "edje", "rew_btn_clicked", "edje") + MC_PROGRAM_IMAGE_VISIBLE("play_btn", "show_play_btn", "hide_play_btn") + MC_PROGRAM_IMAGE_VISIBLE("pause_btn", "show_pause_btn", "hide_pause_btn") + + program { name: "albumart_cb"; + signal: "mouse,clicked,1"; + source: "albumart_image"; + script{ + emit("albumart_clicked", "edje"); + } + } - MC_PROGRAM_BTN_ACTION("play_btn", "play_btn_down", "edje", "play_btn_up", "edje", "play_btn_clicked", "edje") - MC_PROGRAM_BTN_VISIBLE("play_btn", "show_play_btn", "hide_play_btn") + program { name: "close_area_btn_down"; + signal: "mouse,down,1"; + source: "close_btn_touch_area"; + script{ + set_state(PART:"close_btn", "pressed", 0.0); + emit("close_btn_down", "edje"); + } + } - MC_PROGRAM_BTN_ACTION("pause_btn", "pause_btn_down", "edje", "pause_btn_up", "edje", "pause_btn_clicked", "edje") - MC_PROGRAM_BTN_VISIBLE("pause_btn", "show_pause_btn", "hide_pause_btn") + program { name: "close_area_btn_up"; + signal: "mouse,up,1"; + source: "close_btn_touch_area"; + script{ + set_state(PART:"close_btn", "default", 0.0); + emit("close_btn_up", "edje"); + } + } - MC_PROGRAM_BTN_ACTION("ff_btn", "ff_btn_down", "edje", "ff_btn_up", "edje", "rew_btn_clicked", "edje") + program { name: "play_pause_btn_area_press"; + signal: "mouse,down,1"; + source: "play_btn_touch_area"; + script{ + set_state(PART:"play_btn_bg", "pressed", 0.0); + set_state(PART:"play_btn_ef", "pressed", 0.0); + } + } - MC_PROGRAM_BTN_ACTION("close_btn", "close_btn_down", "edje", "close_btn_up", "edje", "close_btn_clicked", "edje") + program { name: "play_pause_btn_area_up"; + signal: "mouse,up,1"; + source: "play_btn_touch_area"; + script{ + set_state(PART:"play_btn_bg", "default", 0.0); + set_state(PART:"play_btn_ef", "default", 0.0); + } + } - program { name: "albumart_cb"; + program { name: "rew_btn_touch_area_press"; + signal: "mouse,down,1"; + source: "rew_btn_touch_area"; + script{ + set_state(PART:"rew_btn_bg", "pressed", 0.0); + set_state(PART:"rew_btn_ef", "pressed", 0.0); + set_state(PART:"rew_btn", "pressed", 0.0); + } + } + + program { name: "rew_btn_touch_area_up"; + signal: "mouse,up,1"; + source: "rew_btn_touch_area"; + script{ + set_state(PART:"rew_btn_bg", "default", 0.0); + set_state(PART:"rew_btn_ef", "default", 0.0); + set_state(PART:"rew_btn", "default", 0.0); + } + } + + program { name: "ff_btn_touch_area_press"; + signal: "mouse,down,1"; + source: "ff_btn_touch_area"; + script{ + set_state(PART:"ff_btn_bg", "pressed", 0.0); + set_state(PART:"ff_btn_ef", "pressed", 0.0); + set_state(PART:"ff_btn", "pressed", 0.0); + } + } + + program { name: "ff_btn_touch_area_up"; + signal: "mouse,up,1"; + source: "ff_btn_touch_area"; + script{ + set_state(PART:"ff_btn_bg", "default", 0.0); + set_state(PART:"ff_btn_ef", "default", 0.0); + set_state(PART:"ff_btn", "default", 0.0); + } + } + + program { name: "close_area_btn_clicked"; signal: "mouse,clicked,1"; - source: "albumart_image"; + source: "close_btn_touch_area"; script{ - emit("albumart_clicked", "edje"); + emit("close_btn_clicked", "edje"); } } + program{ name: "albumart_cb_after_down"; source: "albumart_image"; signal: "mouse,down,1"; transition: ACCELERATE 0.02; } + /* program { name: "albumart_cb_down"; source: "albumart_image"; signal: "mouse,down,1"; - action: RUN_PLUGIN "touch_sound_plugin"; + action: PLAY_SAMPLE "button-pressed" 1.0; after: "albumart_cb_after_down"; transition: ACCELERATE 0.02; - } + }*/ + program { name: "set_pause_icon"; signal: "set_pause"; source: "*"; script{ - emit("hide_play_btn", "edje"); - emit("show_pause_btn", "edje"); + set_state(PART:"play_btn", "hide", 0.0); + set_state(PART:"pause_btn", "default",0.0); + set_state(PART:"play_btn_ef", "focus", 0.0); } } program { name: "set_play_icon"; signal: "set_play"; source: "*"; script{ - emit("show_play_btn", "edje"); - emit("hide_pause_btn", "edje"); + set_state(PART:"play_btn", "default", 0.0); + set_state(PART:"pause_btn", "hide",0.0); + set_state(PART:"play_btn_ef", "default", 0.0); + } + } + program { name: "set_ff_btn_uppressed"; + signal: "ff_btn_unpressed"; + source: "*"; + script{ + set_state(PART:"ff_btn_bg", "default", 0.0); + set_state(PART:"ff_btn_ef", "default", 0.0); + set_state(PART:"ff_btn", "default", 0.0); + } + } + program { name: "set_rew_btn_uppressed"; + signal: "rew_btn_unpressed"; + source: "*"; + script{ + set_state(PART:"rew_btn_bg", "default", 0.0); + set_state(PART:"rew_btn_ef", "default", 0.0); + set_state(PART:"rew_btn", "default", 0.0); } } +/* + program { name: "touch_snd_rew"; + signal: "mouse,down,1"; + source: "rew_btn_touch_area"; + action: RUN_PLUGIN "touch_sound_plugin"; + } + + program { name: "touch_snd_ff"; + signal: "mouse,down,1"; + source: "ff_btn_touch_area"; + action: RUN_PLUGIN "touch_sound_plugin"; + } + program { name: "touch_snd_play_pause"; + signal: "mouse,down,1"; + source: "play_btn_touch_area"; + action: RUN_PLUGIN "touch_sound_plugin"; + } + program { name: "touch_snd_shuffle"; + signal: "mouse,down,1"; + source: "shuffle_btn_touch_area"; + action: RUN_PLUGIN "touch_sound_plugin"; + } + program { name: "touch_snd_close"; + signal: "mouse,down,1"; + source: "close_btn_touch_area"; + action: RUN_PLUGIN "touch_sound_plugin"; + } + program { name: "touch_snd_repeat"; + signal: "mouse,down,1"; + source: "repeat_btn_touch_area"; + action: RUN_PLUGIN "touch_sound_plugin"; + } +*/ } } @@ -564,19 +967,16 @@ group { group { name: "video-minicontroller-ld"; images { - image: MC_IMG_REW_NORMAL COMP; - image: MC_IMG_REW_PRESSED COMP; - image: MC_IMG_PLAY_NORMAL COMP; - image: MC_IMG_PLAY_PRESSED COMP; - image: MC_IMG_PAUSE_NORMAL COMP; - image: MC_IMG_PAUSE_PRESSED COMP; - image: MC_IMG_FF_NORMAL COMP; - image: MC_IMG_FF_PRESSED COMP; - image: MC_IMG_CLOSE_NORMAL COMP; - image: MC_IMG_CLOSE_PRESSED COMP; - image: MC_IMG_PROGRESS_BG COMP; - image: MC_IMG_PROGRESS_BAR COMP; - //image: MC_IMG_ALBUMART_MASK COMP; + image: MC_MUSIC_LAGRE_BTN_EF COMP; + image: MC_MUSIC_LAGRE_BTN_BG COMP; + image: MC_MUSIC_PLAY_BTN COMP; + image: MC_MUSIC_PAUSE_BTN COMP; + image: MC_MUSIC_SMALL_BTN_EF COMP; + image: MC_MUSIC_SMALL_BTN_BG COMP; + + image: MC_MUSIC_CLOSE_BTN COMP; + image: MC_MUSIC_PREV_BTN COMP; + image: MC_MUSIC_NEXT_BTN COMP; } parts { part{ name: "bg"; @@ -589,7 +989,7 @@ group { fixed: 1 1; rel1{ relative : 0 0;} rel2{ relative : 1 1;} - color : MC_BG; + color: MC_BG; } } @@ -607,7 +1007,8 @@ group { } part { name: "padding.left"; - type: SPACER; scale: 1; + type: SPACER; + scale: 1; mouse_events: 0; description { state: "default" 0.0; rel1 { relative: 0 0; to: "bg"; } @@ -649,7 +1050,7 @@ group { scale: 1; description { state: "default" 0.0; rel2 { relative: 1.0 0.0; } - min: 0 26; + min: 0 7; fixed: 0 1; align: 0.0 0.0; } @@ -661,7 +1062,7 @@ group { description { state: "default" 0.0; rel1 { relative: 0 1; to: "bg"; } rel2 { relative: 1 1; to: "bg"; } - min: 0 24; + min: 0 7; fixed: 0 1; align: 0 1; } @@ -674,141 +1075,276 @@ group { description { state: "default" 0.0; rel1 { relative: 1.0 1.0; to_x: "padding.left"; to_y: "padding_for_albumart.top"; } rel2 { relative: 1.0 0.0; to_x: "padding.left"; to_y: "padding_for_albumart.bottom"; } - min: ALBUM_ART_LD_SIZE; - max: ALBUM_ART_LD_SIZE; + min: ALBUM_ART_SIZE; + max: ALBUM_ART_SIZE; fixed: 1 1; - align: 0.0 0.0; + align: 0.0 0.5; } } - part { name: "albumart_image"; type: SWALLOW; scale: 1; mouse_events: 1; + clip_to: "albumarmt_bg"; description { state: "default" 0.0; rel1 { relative: 0.5 0.5; to: "albumarmt_bg"; } rel2 { relative: 0.5 0.5; to: "albumarmt_bg"; } - min: ALBUM_ART_LD_SIZE; - max: ALBUM_ART_LD_SIZE; + min: ALBUM_ART_SIZE; + max: ALBUM_ART_SIZE; fixed: 1 1; align: 0.5 0.5; } } - - part { name: "mid_area"; - type: SPACER; + part { name: "albumarmt_frame"; + type: IMAGE; scale: 1; mouse_events: 0; description { state: "default" 0.0; - rel1 { relative: 1.0 0.0; to_x: "albumarmt_bg"; to_y: "bg"; offset: 34 0;} - rel2 { relative: 822/1280 1.0; to_x: "bg"; to_y: "bg"; } - align: 0.0 0.0; + rel1 { relative: 0.0 0.0; to: "albumarmt_bg";} + rel2 { relative: 1.0 1.0; to: "albumarmt_bg";} + min: ALBUM_ART_SIZE; + image.normal: MC_MUSIC_ALBUM_FRAME; + color_class:"AO009"; } } + part { name: "right_area"; + type: RECT; + scale: 1; + mouse_events: 0; + description { state: "default" 0.0; + rel1 { relative: 1.0 1.0; to_x: "albumarmt_bg"; to_y: "padding.top"; } + rel2 { relative: 0.0 0.0; to_x: "padding.right"; to_y: "padding.bottom"; } + align: 0.0 0.0; + color:0 255 0 0; + } + } part { name: "elm.text"; // title type: SWALLOW; - mouse_events: 0; + mouse_events: 1; scale: 1; description { state: "default" 0.0; - rel1 { relative: 0.0 0.0; to_x: "mid_area"; to_y: "bg"; offset: 0 82;} - rel2 { relative: 1.0 0.0; to_x: "mid_area"; to_y: "bg"; offset: 0 82;} - min: 620 36; + rel1 { relative: 0.1 1.0; to_x: "right_area"; to_y: "padding.top";} + rel2 { relative: 290/329 1.0; to_x: "right_area"; to_y: "padding.top";} fixed: 1 1; - align: 0.0 0.0; + align: 0.5 0.0; } } - part { name: "close_btn_left_padding"; - type: SPACER; - scale: 1; + part { name: "mid_padding"; + type: RECT; mouse_events: 0; - description { state: "default" 0.0; - rel1 { relative: 1200/1280 1.0; to_x: "bg"; to_y: "padding.top"; } - rel2 { relative: 0 1.0; to_x: "padding.right"; to_y: "padding.top"; } - min: BUTTON_CLOSE_SIZE_MAX; - max: BUTTON_CLOSE_SIZE_MAX; + scale: 1; + description + { state: "default" 0.0; + //min: 323 3; + //max: 323 3; + fixed: 1 1; + rel1 { relative: 0.0 1.0; to_x: "right_area"; to_y: "elm.text"; offset: 40 0; } + rel2 { relative: 1.0 1.0; to_x: "right_area"; to_y: "elm.text"; } fixed: 1 1; align: 0.0 0.0; + color: 255 0 0 0; } } - MC_PART_AREA_FROM_LEFT("close_btn_area", "close_btn_left_padding", BUTTON_CLOSE_SIZE_MAX, BUTTON_CLOSE_SIZE_MAX) - MC_PART_ICON_BTN("close_btn", "close_btn_area", MC_IMG_CLOSE_NORMAL, MC_IMG_CLOSE_PRESSED, BUTTON_CLOSE_SIZE_MAX) - /* progress bg image */ - part { - name: "progress_bg"; - type: IMAGE; - mouse_events: 0; + part { name: "close_btn_area"; + type: SPACER; scale: 1; - description { - state: "default" 0.0; - align: 0.5 0; - visible:1; - image { normal: MC_IMG_PROGRESS_BG; } - min: 642 8; - max: 642 8; + mouse_events: 1; + description { state: "default" 0.0; + rel1 { relative: 0.0 0.0; to_x: "padding.right"; to_y: "elm.text";offset: -30 15;} + rel2 { relative: 0.0 0.0; to: "padding.right";to_y: "elm.text"; offset: -30 15;} + min: BUTTON_CLOSE_SIZE_MAX; + max: BUTTON_CLOSE_SIZE_MAX; fixed: 1 1; - rel1 { relative: 0.0 1.0; to_x: "mid_area"; to_y: "elm.text"; offset: 0 12; } - rel2 { relative: 1.0 1.0; to_x: "mid_area"; to_y: "elm.text";} } } - /* progress */ - MC_PART_RECT("progress_area", "progress_bg", 0, 0, 1, 1) - MC_PART_SWALLOW("progress_box", "progress_area", 0, 0, 1, 1) + MC_IMAGE_PART("close_btn","close_btn_area",MC_MUSIC_CLOSE_BTN,61,185,204,255,61,185,204,255,BUTTON_CLOSE_SIZE_MAX) + part { name: "close_btn_touch_area"; + type: RECT; + scale: 1; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + rel1 { to: "close_btn_area"; offset: -7 -7;} + rel2 { to: "close_btn_area"; offset: 7 7;} + color: 0 0 0 0; + } + } part { name: "button_area"; type: RECT; scale: 1; description { state: "default" 0.0; - rel1 { relative: 1 0; to_x: "mid_area"; to_y: "bg"; offset: 68 60;} - rel2 { relative: 1 0; to_x: "mid_area"; to_y: "bg"; offset: 68 60;} - align: 0.5 0.0; - min: 0 108; - fixed: 0 1; - visible: 0; + rel1 { relative: 0 1; to_x:"elm.text"; to_y: "mid_padding";} + rel2 { relative: 1 0; to_x: "elm.text"; to_y: "padding.bottom"; } + visible: 1; + color: 0 255 0 0; } } part { name: "rew_btn_area"; - type: SPACER; + type: RECT; scale: 1; - mouse_events: 0; + mouse_events: 1; description { state: "default" 0.0; - rel1 { relative: 0.0 0.5; to: "button_area";} - rel2 { relative: 0.0 0.5; to: "button_area";} + rel1 { relative: 0.2 0.5; to: "button_area"; offset: 10 0;} + rel2 { relative: 0.2 0.5; to: "button_area"; offset: 10 -16;} min: BUTTON_SIZE_MIN_MAX; fixed: 1 1; align: 0.0 0.5; + visible: 0; } } - MC_PART_ICON_BTN("rew_btn", "rew_btn_area", MC_IMG_REW_NORMAL, MC_IMG_REW_PRESSED, BUTTON_SIZE_MIN_MAX) - MC_PART_AREA_FROM_LEFT("rew_right_padding", "rew_btn_area", 21, 102) - MC_PART_AREA_FROM_LEFT("play_pause_btn_area", "rew_right_padding", 102, 102) - MC_PART_ICON_BTN("play_btn", "play_pause_btn_area", MC_IMG_PLAY_NORMAL, MC_IMG_PLAY_PRESSED, BIG_BTN_SIZE_MIN_MAX) - MC_PART_ICON_BTN("pause_btn", "play_pause_btn_area", MC_IMG_PAUSE_NORMAL, MC_IMG_PAUSE_PRESSED, BIG_BTN_SIZE_MIN_MAX) + MC_IMAGE_PART("rew_btn_bg","rew_btn_area",MC_MUSIC_SMALL_BTN_BG,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX) + MC_IMAGE_PART("rew_btn_ef","rew_btn_area",MC_MUSIC_SMALL_BTN_EF,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX) + MC_IMAGE_PART("rew_btn","rew_btn_area",MC_MUSIC_PREV_BTN,61,185,204,255,34,104,115,255,FF_BTN_SIZE_MIN_MAX) + part { name: "rew_btn_touch_area"; + type: RECT; + scale: 1; + mouse_events: 1; + repeat_events: 1; + description { state: "default" 0.0; + rel1 { to: "rew_btn_area"; } + rel2 { to: "rew_btn_area";} + color: 0 0 0 0; + } + } + MC_FOCUSED_COVER("rew_btn", "rew_btn_area"); - MC_PART_AREA_FROM_LEFT("play_pause_right_padding", "play_pause_btn_area", 21, 86) - MC_PART_AREA_FROM_LEFT("ff_btn_area", "play_pause_right_padding", 80, 80) - MC_PART_ICON_BTN("ff_btn", "ff_btn_area", MC_IMG_FF_NORMAL, MC_IMG_FF_PRESSED, BUTTON_SIZE_MIN_MAX) - } + part { name: "play_pause_btn_area"; + type: SPACER; + scale: 1; + mouse_events: 1; + description { state: "default" 0.0; + rel1 { relative: 0.5 0.5; to: "button_area";offset: 0 0;} + rel2 { relative: 0.5 0.5; to: "button_area";offset: 0 -16;} + min: PLAY_BTN_SIZE_MIN_MAX; + max: PLAY_BTN_SIZE_MIN_MAX; + fixed: 1 1; + } + } + + + MC_IMAGE_PART("play_btn_bg","play_pause_btn_area",MC_MUSIC_LAGRE_BTN_BG,61,185,204,255,34,104,115,255,BIG_BTN_SIZE_MIN_MAX) + MC_IMAGE_PART_FOCUS("play_btn_ef","play_pause_btn_area",MC_MUSIC_LAGRE_BTN_EF,BIG_BTN_SIZE_MIN_MAX) + MC_IMAGE_PART("play_btn","play_pause_btn_area",MC_MUSIC_PLAY_BTN,255,255,255,255,255,255,255,255,PLAY_BTN_SIZE_MIN_MAX) + MC_IMAGE_PART("pause_btn","play_pause_btn_area",MC_MUSIC_PAUSE_BTN,255,255,255,255,255,255,255,255,PLAY_BTN_SIZE_MIN_MAX) + part { name: "play_btn_touch_area"; + type: RECT; + scale: 1; + mouse_events: 1; + repeat_events: 1; + description { state: "default" 0.0; + rel1 { to: "play_pause_btn_area"; } + rel2 { to: "play_pause_btn_area";} + color: 0 0 0 0; + fixed: 1 1; + } + } + MC_FOCUSED_COVER("play_pause", "play_pause_btn_area"); + + + part { name: "ff_btn_area"; + type: SPACER; + scale: 1; + mouse_events: 1; + description { state: "default" 0.0; + rel1 { relative: 0.7 0.5; to: "button_area";offset: -10 0;} + rel2 { relative: 0.7 0.5; to: "button_area";offset: -10 -16;} + min: FF_BTN_SIZE_MIN_MAX; + max: FF_BTN_SIZE_MIN_MAX; + fixed: 1 1; + align:0.0 0.5; + } + } + + MC_IMAGE_PART("ff_btn_bg","ff_btn_area",MC_MUSIC_SMALL_BTN_BG,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX) + MC_IMAGE_PART("ff_btn_ef","ff_btn_area",MC_MUSIC_SMALL_BTN_EF,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX) + MC_IMAGE_PART("ff_btn","ff_btn_area",MC_MUSIC_NEXT_BTN,61,185,204,255,34,104,115,255,FF_BTN_SIZE_MIN_MAX) + part { name: "ff_btn_touch_area"; + type: RECT; + scale: 1; + mouse_events: 1; + repeat_events: 1; + description { state: "default" 0.0; + rel1 { to: "ff_btn_area"; } + rel2 { to: "ff_btn_area";} + color: 0 0 0 0; + fixed: 1 1; + } + } + MC_FOCUSED_COVER("ff_btn", "ff_btn_area"); + } programs { - MC_PROGRAM_BTN_ACTION("rew_btn", "rew_btn_down", "edje", "rew_btn_up", "edje", "rew_btn_clicked", "edje") - MC_PROGRAM_BTN_ACTION("play_btn", "play_btn_down", "edje", "play_btn_up", "edje", "play_btn_clicked", "edje") - MC_PROGRAM_BTN_VISIBLE("play_btn", "show_play_btn", "hide_play_btn") + MC_PROGRAM_IMAGE_VISIBLE("play_btn", "show_play_btn", "hide_play_btn") + MC_PROGRAM_IMAGE_VISIBLE("pause_btn", "show_pause_btn", "hide_pause_btn") + + program { name: "play_pause_btn_area_press"; + signal: "mouse,down,1"; + source: "play_btn_touch_area"; + script{ + set_state(PART:"play_btn_bg", "pressed", 0.0); + set_state(PART:"play_btn_ef", "pressed", 0.0); + } + } + + program { name: "play_pause_btn_area_up"; + signal: "mouse,up,1"; + source: "play_btn_touch_area"; + script{ + set_state(PART:"play_btn_bg", "default", 0.0); + set_state(PART:"play_btn_ef", "default", 0.0); + } + } + + program { name: "rew_btn_touch_area_press"; + signal: "mouse,down,1"; + source: "rew_btn_touch_area"; + script{ + set_state(PART:"rew_btn_bg", "pressed", 0.0); + set_state(PART:"rew_btn_ef", "pressed", 0.0); + set_state(PART:"rew_btn", "pressed", 0.0); + } + } - MC_PROGRAM_BTN_ACTION("pause_btn", "pause_btn_down", "edje", "pause_btn_up", "edje", "pause_btn_clicked", "edje") - MC_PROGRAM_BTN_VISIBLE("pause_btn", "show_pause_btn", "hide_pause_btn") + program { name: "rew_btn_touch_area_up"; + signal: "mouse,up,1"; + source: "rew_btn_touch_area"; + script{ + set_state(PART:"rew_btn_bg", "default", 0.0); + set_state(PART:"rew_btn_ef", "default", 0.0); + set_state(PART:"rew_btn", "default", 0.0); + } + } - MC_PROGRAM_BTN_ACTION("ff_btn", "ff_btn_down", "edje", "ff_btn_up", "edje", "rew_btn_clicked", "edje") + program { name: "ff_btn_touch_area_press"; + signal: "mouse,down,1"; + source: "ff_btn_touch_area"; + script{ + set_state(PART:"ff_btn_bg", "pressed", 0.0); + set_state(PART:"ff_btn_ef", "pressed", 0.0); + set_state(PART:"ff_btn", "pressed", 0.0); + } + } - MC_PROGRAM_BTN_ACTION("close_btn", "close_btn_down", "edje", "close_btn_up", "edje", "close_btn_clicked", "edje") + program { name: "ff_btn_touch_area_up"; + signal: "mouse,up,1"; + source: "ff_btn_touch_area"; + script{ + set_state(PART:"ff_btn_bg", "default", 0.0); + set_state(PART:"ff_btn_ef", "default", 0.0); + set_state(PART:"ff_btn", "default", 0.0); + } + } program { name: "albumart_cb"; signal: "mouse,clicked,1"; @@ -823,161 +1359,113 @@ group { signal: "mouse,down,1"; transition: ACCELERATE 0.02; } + /* program { name: "albumart_cb_down"; source: "albumart_image"; signal: "mouse,down,1"; - action: RUN_PLUGIN "touch_sound_plugin"; + action: PLAY_SAMPLE "button-pressed" 1.0; after: "albumart_cb_after_down"; transition: ACCELERATE 0.02; } +*/ + program { name: "close_area_btn_down"; + signal: "mouse,down,1"; + source: "close_btn_touch_area"; + script{ + set_state(PART:"close_btn", "pressed", 0.0); + emit("close_btn_down", "edje"); + } + } + + program { name: "close_area_btn_up"; + signal: "mouse,up,1"; + source: "close_btn_touch_area"; + script{ + set_state(PART:"close_btn", "default", 0.0); + emit("close_btn_up", "edje"); + } + } + + program { name: "close_area_btn_clicked"; + signal: "mouse,up,1"; + source: "close_btn_touch_area"; + script{ + emit("close_btn_clicked", "edje"); + } + } + program { name: "set_pause_icon"; signal: "set_pause"; source: "*"; script{ - emit("hide_play_btn", "edje"); - emit("show_pause_btn", "edje"); + set_state(PART:"play_btn", "hide", 0.0); + set_state(PART:"pause_btn", "default",0.0); + set_state(PART:"play_btn_ef", "focus", 0.0); } } program { name: "set_play_icon"; signal: "set_play"; source: "*"; script{ - emit("show_play_btn", "edje"); - emit("hide_pause_btn", "edje"); + set_state(PART:"play_btn", "default", 0.0); + set_state(PART:"pause_btn", "hide",0.0); + set_state(PART:"play_btn_ef", "default", 0.0); } } - } - -} - - -group { - name: "minicontroller_progress_box"; - parts { - part { name: "bg"; - type : RECT; - scale: 1; - mouse_events: 1; - description { state: "default" 0.0; - visible: 1; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - color : 0 0 0 0; - } + program { name: "set_ff_btn_uppressed"; + signal: "ff_btn_unpressed"; + source: "*"; + script{ + set_state(PART:"ff_btn_bg", "default", 0.0); + set_state(PART:"ff_btn_ef", "default", 0.0); + set_state(PART:"ff_btn", "default", 0.0); + } } - - MC_PART_RECT("progress_bar_area", "bg", 0, 0, 1, 1) - - part { - name: "progress_bar"; - mouse_events: 1; - type: SWALLOW; - scale: 1; - description { - state: "default" 0.0; - align: 0.5 0.5; - visible: 1; - fixed: 1 1; - rel1 { - relative: 0 0; - to: "progress_bar_area"; - } - rel2 { - relative: 1 1; - to: "progress_bar_area"; - } - color: 248 246 239 255; - } - description { - state: "hide" 0.0; - visible: 0; - } + program { name: "set_rew_btn_uppressed"; + signal: "rew_btn_unpressed"; + source: "*"; + script{ + set_state(PART:"rew_btn_bg", "default", 0.0); + set_state(PART:"rew_btn_ef", "default", 0.0); + set_state(PART:"rew_btn", "default", 0.0); + } } - } + /* + program { name: "touch_snd_rew"; + signal: "mouse,down,1"; + source: "rew_btn_touch_area"; + action: RUN_PLUGIN "touch_sound_plugin"; + } + + program { name: "touch_snd_ff"; + signal: "mouse,down,1"; + source: "ff_btn_touch_area"; + action: RUN_PLUGIN "touch_sound_plugin"; + } + program { name: "touch_snd_play_pause"; + signal: "mouse,down,1"; + source: "play_btn_touch_area"; + action: RUN_PLUGIN "touch_sound_plugin"; + } + program { name: "touch_snd_shuffle"; + signal: "mouse,down,1"; + source: "shuffle_btn_touch_area"; + action: RUN_PLUGIN "touch_sound_plugin"; + } + program { name: "touch_snd_close"; + signal: "mouse,down,1"; + source: "close_btn_touch_area"; + action: RUN_PLUGIN "touch_sound_plugin"; + } + program { name: "touch_snd_repeat"; + signal: "mouse,down,1"; + source: "repeat_btn_touch_area"; + action: RUN_PLUGIN "touch_sound_plugin"; + } +*/ + } } -// prgress -#define MC_PLAYER_PROGRESSBAR_H 8 -#define MC_PLAYER_CIRCLE_W 50 -#define MC_PLAYER_CIRCLE_H 50 - - -group { name: "mc_player_progressbar"; - - images { - image: MC_IMG_PROGRESS_BG COMP; - image: MC_IMG_PROGRESS_BAR COMP; - } - - parts { - part { name: "bg"; - type: RECT; - mouse_events: 1; - scale: 1; - description { - color: 0 0 0 0; - } - } - part { name: "progressbar_bg"; - type: IMAGE; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.5; to: "bg";} - rel2 { relative: 1.0 0.5; to: "bg";} - image { normal: MC_IMG_PROGRESS_BG; border: 5 5 0 0; } - min: 0 MC_PLAYER_PROGRESSBAR_H; - fixed: 0 1; - align: 0.5 0.5; - } - } - - part { name: "progressbar_current"; - type: IMAGE; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.5; to: "progressbar_bg"; } - rel2 { relative: 0.5 0.5; to_x: "progressbar_playing"; to_y: "progressbar_bg"; } - image { normal: MC_IMG_PROGRESS_BAR; border: 5 5 0 0; } - min: 0 MC_PLAYER_PROGRESSBAR_H; - fixed: 0 1; - align: 0.5 0.5; - } - } - - part { name: "progressbar_playing_confine_rect"; - type: RECT; - mouse_events: 0; - scale: 1; - description { state: "default" 0.0; - visible: 0; - rel1 { relative: 0.0 0.5; offset: (-MC_PLAYER_CIRCLE_W/2) 0; to: "progressbar_bg"; } - rel2 { relative: 1.0 0.5; offset: (MC_PLAYER_CIRCLE_W/2) 0; to: "progressbar_bg"; } - min: 0 MC_PLAYER_CIRCLE_H; - fixed: 0 1; - align: 0.5 0.5; - } - } - - part { name: "progressbar_playing"; - type: RECT; - mouse_events: 0; - scale: 1; - description { state: "default" 0.0; - min: MC_PLAYER_CIRCLE_W MC_PLAYER_CIRCLE_H; - fixed: 1 1; - visible: 0; - } - dragable { - confine: "progressbar_playing_confine_rect"; - x: 1 1 1; - } - } - } -} } // collection diff --git a/playview/src/include/vp-play-string-define.h b/playview/src/include/vp-play-string-define.h index c8a5bec..de4298b 100644 --- a/playview/src/include/vp-play-string-define.h +++ b/playview/src/include/vp-play-string-define.h @@ -57,6 +57,8 @@ #define VP_PLAY_BRIGHTNESS_POPUP_EDJ_PATH "pv-brightness-popup.edj" #define VP_PLAY_ZOOM_GUIDE_EDJ_PATH "pv-zoom-guide.edj" +#define MINICON_EDJ_NAME "pv-minicontroller.edj" +#define LOCKSCREENMINI_EDJ_NAME "pv-lockscreenmini.edj" #define VP_PLAY_SUBTITLE_EDJ_PATH "pv-subtitle.edj" diff --git a/playview/src/view/include/vp-play-normal-view.h b/playview/src/view/include/vp-play-normal-view.h index a4c4ab6..e587cd4 100644 --- a/playview/src/view/include/vp-play-normal-view.h +++ b/playview/src/view/include/vp-play-normal-view.h @@ -21,6 +21,7 @@ #include "vp-play-view-priv.h" +#include "vp-mm-player.h" typedef enum { @@ -112,3 +113,6 @@ bool vp_normal_rotate_icon_timer_cb(void *pUserData); //db void vp_play_normal_view_db_change(normal_view_handle pViewHandle); +vp_mm_player_state_t vp_play_normal_view_get_player_state(PlayView *pPlayView); +void vp_play_normal_view_on_controller_button_press(void *pUserData, int btn); +bool vp_play_normal_view_is_audio_only(PlayView *pPlayView); diff --git a/playview/src/view/include/vp-play-view-priv.h b/playview/src/view/include/vp-play-view-priv.h index 80271ba..13af70c 100644 --- a/playview/src/view/include/vp-play-view-priv.h +++ b/playview/src/view/include/vp-play-view-priv.h @@ -149,5 +149,22 @@ typedef struct _PlayView { Ecore_Timer *pHwKeyLongPressTimer;// for longpress HW key Ecore_Timer *pDbUpdateTimer; //db Update connection_h connection; + + /*minicontroller*/ + Evas_Object *win_minicon; + Evas_Object *minicontroller_layout; + Evas_Object *minicon_icon; + Ecore_Timer *minicon_button_timer; + bool b_minicontroller_show; + bool minicon_visible; + + /*lockscreen mini*/ + Evas_Object *win_lockmini; + Evas_Object *lockmini_layout; + Evas_Object *lsicon_icon; + Ecore_Timer *lockmini_button_timer; + bool lockmini_visible; + bool b_lockmini_show; + } PlayView; diff --git a/playview/src/view/vp-play-normal-view.c b/playview/src/view/vp-play-normal-view.c index 9c7a972..0e1a76b 100644 --- a/playview/src/view/vp-play-normal-view.c +++ b/playview/src/view/vp-play-normal-view.c @@ -40,6 +40,8 @@ #include "vp-play-volume.h" #include "vp-play-volume-popup.h" #include "vp-play-brightness-popup.h" +#include "vp-play-minicontroller.h" +#include "vp-play-lockscreenmc.h" #include "vp-image-util.h" #include "vp-media-contents.h" @@ -860,7 +862,11 @@ static void __vp_normal_sound_alive_popup_close_cb(int nType, bool bPause, void } NormalView *pNormalView = (NormalView *)pUserData; - + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } video_sound_alive_t nSAType = (video_sound_alive_t)nType; vp_sound_alive_destroy(pNormalView->pSAHandle); @@ -871,6 +877,12 @@ static void __vp_normal_sound_alive_popup_close_cb(int nType, bool bPause, void if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } else { @@ -878,6 +890,12 @@ static void __vp_normal_sound_alive_popup_close_cb(int nType, bool bPause, void if (!vp_mm_player_play(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); _vp_play_normal_view_create_layout_hide_timer(pNormalView); @@ -953,6 +971,10 @@ static void __vp_normal_sound_path_popup_close_cb(int nType, bool bPause, void * } NormalView *pNormalView = (NormalView *)pUserData; + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } vp_play_volume_update_value(pNormalView->pVolumeHandle); vp_sound_path_destroy(pNormalView->pSoundPathHandle); @@ -965,7 +987,12 @@ static void __vp_normal_sound_path_popup_close_cb(int nType, bool bPause, void * if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } - + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } else { @@ -973,6 +1000,12 @@ static void __vp_normal_sound_path_popup_close_cb(int nType, bool bPause, void * if (!vp_mm_player_play(pNormalView->pPlayerHandle)) { VideoLogWarning("play Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); _vp_play_normal_view_create_layout_hide_timer(pNormalView); @@ -1040,7 +1073,10 @@ static void __vp_normal_setting_popup_close_cb(int nType, bool bPause, void *pUs } NormalView *pNormalView = (NormalView *)pUserData; - + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } vp_setting_destroy(pNormalView->pSettingHandle); pNormalView->pSettingHandle = NULL; pNormalView->bIsPopupShow = FALSE; @@ -1050,6 +1086,12 @@ static void __vp_normal_setting_popup_close_cb(int nType, bool bPause, void *pUs if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } else { @@ -1057,6 +1099,12 @@ static void __vp_normal_setting_popup_close_cb(int nType, bool bPause, void *pUs if (!vp_mm_player_play(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); _vp_play_normal_view_create_layout_hide_timer(pNormalView); @@ -1088,7 +1136,10 @@ static void __vp_normal_capture_popup_close_cb(int nType, bool bPause, void *pUs } NormalView *pNormalView = (NormalView *)pUserData; - + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } if (nType != -1) { pNormalView->bCaptureMode = (bool)nType; } @@ -1102,6 +1153,12 @@ static void __vp_normal_capture_popup_close_cb(int nType, bool bPause, void *pUs if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } @@ -1109,6 +1166,12 @@ static void __vp_normal_capture_popup_close_cb(int nType, bool bPause, void *pUs if (!vp_mm_player_play(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); _vp_play_normal_view_create_layout_hide_timer(pNormalView); @@ -1135,7 +1198,10 @@ static void __vp_normal_play_speed_popup_done_cb(double fValue, bool bSetValue, return; } NormalView *pNormalView = (NormalView *)pUserData; - + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } vp_play_speed_popup_destroy(pNormalView->pPlaySpeedPopup); pNormalView->pPlaySpeedPopup = NULL; pNormalView->bIsPopupShow = FALSE; @@ -1144,6 +1210,12 @@ static void __vp_normal_play_speed_popup_done_cb(double fValue, bool bSetValue, if (!vp_mm_player_play(pNormalView->pPlayerHandle)) { VideoLogWarning("Play Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_create_layout_hide_timer(pNormalView); } @@ -1312,7 +1384,10 @@ static void __vp_normal_subtitle_size_popup_done_cb(int nType, bool bPause, void } NormalView *pNormalView = (NormalView *)pUserData; - + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } vp_subtitle_size_destroy(pNormalView->pSubtitleSizePopup); pNormalView->pSubtitleSizePopup = NULL; pNormalView->bIsPopupShow = FALSE; @@ -1332,6 +1407,12 @@ static void __vp_normal_subtitle_size_popup_done_cb(int nType, bool bPause, void if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } @@ -1394,7 +1475,10 @@ static void __vp_normal_subtitle_select_button_popup_done_cb(char *option, void } NormalView *pNormalView = (NormalView *)pUserData; - + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } if (!strcmp(option, "settings")) { _vp_play_normal_view_on_subtitle_popup(pNormalView); } else { @@ -1405,6 +1489,12 @@ static void __vp_normal_subtitle_select_button_popup_done_cb(char *option, void if (!vp_mm_player_play(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); _vp_play_normal_view_create_layout_hide_timer(pNormalView); @@ -1420,6 +1510,10 @@ static void __vp_normal_subtitle_select_popup_done_cb(char *szFilePath, void *pU } NormalView *pNormalView = (NormalView *)pUserData; + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } char *szSubtitle = NULL; vp_subtitle_select_destroy(pNormalView->pSubtitleSelectPopup); @@ -1429,6 +1523,12 @@ static void __vp_normal_subtitle_select_popup_done_cb(char *szFilePath, void *pU if (!vp_mm_player_play(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); _vp_play_normal_view_create_layout_hide_timer(pNormalView); @@ -1723,12 +1823,20 @@ static void __vp_normal_detail_popup_close_cb(int nType, bool bPause, void *pUse } NormalView *pNormalView = (NormalView *)pUserData; - + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } if (pNormalView->bManualPause == FALSE) { if (!vp_mm_player_play(pNormalView->pPlayerHandle)) { VideoLogWarning("resume Fail"); } - + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } @@ -1741,6 +1849,12 @@ static void __vp_normal_detail_popup_close_cb(int nType, bool bPause, void *pUse if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } else { @@ -1758,11 +1872,20 @@ static void __vp_normal_audio_track_popup_close_cb(int nType, bool bPause, void } NormalView *pNormalView = (NormalView *)pUserData; - + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } if (bPause) { if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } else { @@ -1770,6 +1893,12 @@ static void __vp_normal_audio_track_popup_close_cb(int nType, bool bPause, void if (!vp_mm_player_play(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); _vp_play_normal_view_create_layout_hide_timer(pNormalView); @@ -1784,6 +1913,12 @@ static void __vp_normal_audio_track_popup_close_cb(int nType, bool bPause, void if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } else { @@ -2549,6 +2684,10 @@ static Evas_Event_Flags __vp_normal_gesture_double_click_end_cb(void *pUserData, } NormalView *pNormalView = (NormalView *)pUserData; + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } Elm_Gesture_Taps_Info *pEvent = (Elm_Gesture_Taps_Info *) pEventInfo; if (pNormalView->bZoomEnable && pEvent->n == 1) { @@ -2567,6 +2706,12 @@ static Evas_Event_Flags __vp_normal_gesture_double_click_end_cb(void *pUserData, } if (nState == VP_MM_PLAYER_STATE_PLAYING) { vp_mm_player_pause(pNormalView->pPlayerHandle); + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } pNormalView->bManualPause = TRUE; } else { bool bSpeedMode = FALSE; @@ -2600,6 +2745,12 @@ static Evas_Event_Flags __vp_normal_gesture_double_click_end_cb(void *pUserData, if (!vp_mm_player_play(pNormalView->pPlayerHandle)) { VideoLogWarning("Resume Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } VP_EVAS_IDLER_DEL(pNormalView->pControlIdler); pNormalView->pControlIdler = ecore_idler_add(__vp_normal_control_idler_cb, (void *)pNormalView); @@ -2893,7 +3044,10 @@ static void __vp_normal_progress_mouse_down_cb(void *pUserData, Evas * e, Evas_O return; } NormalView *pNormalView = (NormalView *)pUserData; - + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } VideoLogWarning("Mouse Down"); if (pNormalView->bIsRealize == FALSE) { @@ -2954,6 +3108,12 @@ static void __vp_normal_progress_mouse_down_cb(void *pUserData, Evas * e, Evas_O } if (nState == VP_MM_PLAYER_STATE_PLAYING) { vp_mm_player_pause(pNormalView->pPlayerHandle); + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } @@ -2969,6 +3129,12 @@ static void __vp_normal_progress_mouse_down_cb(void *pUserData, Evas * e, Evas_O VideoLogInfo("nState:%d", nState); if (nState == VP_MM_PLAYER_STATE_PLAYING) { vp_mm_player_pause(pNormalView->pPlayerHandle); + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } } } } @@ -3554,7 +3720,11 @@ static Eina_Bool __vp_normal_speed_timer_cb(void *pUserData) VideoLogWarning(""); NormalView *pNormalView = (NormalView *)pUserData; + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } if (pNormalView->bSpeedDown) { pNormalView->nSpeedValue++; @@ -3583,6 +3753,12 @@ static Eina_Bool __vp_normal_speed_timer_cb(void *pUserData) if (!vp_mm_player_play(pNormalView->pPlayerHandle)) { VideoLogError("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } @@ -3638,6 +3814,12 @@ static Eina_Bool __vp_normal_speed_timer_cb(void *pUserData) if (!vp_mm_player_play(pNormalView->pPlayerHandle)) { VideoLogError("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } @@ -3956,6 +4138,12 @@ static void __vp_normal_seek_completed_cb(void *pUserData) } else { vp_mm_player_play(pNormalView->pPlayerHandle); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } if (!vp_mm_player_set_subtitle_position(pNormalView->pPlayerHandle, pNormalView->fSubtitleSyncValue * 1000)) { VideoLogError("vp_mm_player_set_subtitle_position is fail"); @@ -3977,6 +4165,12 @@ static void __vp_normal_seek_completed_cb(void *pUserData) if (nState == VP_MM_PLAYER_STATE_PLAYING) { vp_mm_player_pause(pNormalView->pPlayerHandle); _vp_play_normal_view_set_play_state(pNormalView); + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } } } @@ -3984,6 +4178,12 @@ static void __vp_normal_seek_completed_cb(void *pUserData) pNormalView->nStartPosition = 0; pNormalView->bIsRealize = TRUE; vp_mm_player_play(pNormalView->pPlayerHandle); + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); //_vp_play_normal_view_show_layout(pNormalView); @@ -4000,6 +4200,12 @@ static void __vp_normal_seek_completed_cb(void *pUserData) pNormalView->bProgressDown == FALSE && !pNormalView->pSpeedTimer && !_vp_play_normal_view_check_during_call(pNormalView)) { vp_mm_player_play(pNormalView->pPlayerHandle); + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } @@ -4014,12 +4220,22 @@ static void __vp_normal_interrupted_cb(vp_mm_player_interrupt_t nCode, void *pUs } NormalView *pNormalView = (NormalView *)pUserData; + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } VideoLogWarning("== %d ==", nCode); if (nCode == VP_MM_PLAYER_INTERRUPTED_COMPLETED) { if (pNormalView->bManualPause == FALSE) { vp_mm_player_play(pNormalView->pPlayerHandle); + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } } } else if (nCode == VP_MM_PLAYER_INTERRUPTED_BY_MEDIA) { pNormalView->bManualPause = TRUE; @@ -4027,6 +4243,12 @@ static void __vp_normal_interrupted_cb(vp_mm_player_interrupt_t nCode, void *pUs if (pNormalView->bDeviceRemoveInterrupt) { if (pNormalView->bManualPause == FALSE) { vp_mm_player_play(pNormalView->pPlayerHandle); + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } } pNormalView->bDeviceRemoveInterrupt = FALSE; } @@ -4232,7 +4454,11 @@ static void __vp_normal_buffering_cb(int nPercent, void *pUserData) } NormalView *pNormalView = (NormalView *)pUserData; + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } if (nPercent == 100) { VideoLogError("Buffering complete"); pNormalView->bBufferingComplete = TRUE; @@ -4263,6 +4489,12 @@ static void __vp_normal_buffering_cb(int nPercent, void *pUserData) } else { vp_mm_player_play(pNormalView->pPlayerHandle); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } @@ -4514,17 +4746,42 @@ static void __vp_normal_ctx_popup_audio_only_cb(void *pUserData, Evas_Object *pO NormalView *pNormalView = (NormalView *)pUserData; VP_EVAS_DEL(pNormalView->pCtxPopup); + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + if(pNormalView->bAudioOnly == TRUE) { pNormalView->bAudioOnly = FALSE; + + if (pPlayView->win_minicon) { + vp_minicontroller_destroy(pPlayView); + } + if (pPlayView->win_lockmini) { + vp_lockscreenmini_destroy(pPlayView); + } } else { pNormalView->bAudioOnly = TRUE; vp_play_util_status_noti_show(VP_PLAY_STRING_AUDIO_ONLY_PLAYBACK_MSG); + + if (!pPlayView->win_minicon) { + vp_minicontroller_create(pPlayView); + } else { + vp_minicontroller_show(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_create(pPlayView); + } else if (!pPlayView->b_lockmini_show) { + vp_lockscreenmini_show(pPlayView); + } } _vp_play_normal_view_set_play_state(pNormalView); + } static void __vp_normal_ctx_popup_subtitle_cb(void *pUserData, Evas_Object *pObj, void *pEventInfo) @@ -4554,6 +4811,12 @@ static void __vp_normal_ctx_popup_subtitle_cb(void *pUserData, Evas_Object *pObj if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogError("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); } @@ -4660,6 +4923,12 @@ static void __vp_normal_ctx_popup_delete_cb(void *pUserData, Evas_Object *pObj, if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogError("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); } @@ -4770,7 +5039,11 @@ static void __vp_normal_ctx_popup_play_speed_cb(void *pUserData, Evas_Object *pO } NormalView *pNormalView = (NormalView *)pUserData; + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } VP_EVAS_DEL(pNormalView->pCtxPopup); vp_mm_player_state_t nState = VP_MM_PLAYER_STATE_NONE; @@ -4782,6 +5055,12 @@ static void __vp_normal_ctx_popup_play_speed_cb(void *pUserData, Evas_Object *pO if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogError("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); } @@ -5028,6 +5307,12 @@ void vp_play_normal_view_pause_player(void *pPlayview) vp_mm_player_pause(pNormalView->pPlayerHandle); pNormalView->bManualPause = TRUE; } + if (vPlayview->win_minicon) { + vp_minicontroller_update_control(vPlayview); + } + if (!vPlayview->win_lockmini) { + vp_lockscreenmini_update_control(vPlayview); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } @@ -5049,6 +5334,12 @@ void vp_play_normal_view_play_player(void *pPlayview) vp_mm_player_play(pNormalView->pPlayerHandle); pNormalView->bManualPause = FALSE; } + if (vPlayview->win_minicon) { + vp_minicontroller_update_control(vPlayview); + } + if (!vPlayview->win_lockmini) { + vp_lockscreenmini_update_control(vPlayview); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } @@ -5313,6 +5604,12 @@ static void __vp_normal_control_btn_clicked_cb(void *pUserData, Evas_Object *pOb pNormalView->pControlIdler = ecore_idler_add(__vp_normal_control_idler_cb, (void *)pNormalView); pNormalView->bManualPause = TRUE; + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } } else if (pObj == pNormalView->pResumeBtn) { VideoLogWarning("Resume button"); vp_util_lock_cpu(); @@ -5336,6 +5633,12 @@ static void __vp_normal_control_btn_clicked_cb(void *pUserData, Evas_Object *pOb pNormalView->pControlIdler = ecore_idler_add(__vp_normal_control_idler_cb, (void *)pNormalView); pNormalView->bManualPause = FALSE; + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } } else if (pObj == pNormalView->pPlayFocusBtn) { VideoLogWarning("pPlayFocusBtn click"); Evas_Object *pObj = elm_object_part_content_get(pNormalView->pControlLayout, VP_PLAY_SWALLOW_NORMAL_PLAY); @@ -5344,6 +5647,12 @@ static void __vp_normal_control_btn_clicked_cb(void *pUserData, Evas_Object *pOb if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } VP_EVAS_IDLER_DEL(pNormalView->pControlIdler); pNormalView->pControlIdler = ecore_idler_add(__vp_normal_control_idler_cb, (void *)pNormalView); @@ -5357,6 +5666,12 @@ static void __vp_normal_control_btn_clicked_cb(void *pUserData, Evas_Object *pOb if (!vp_mm_player_play(pNormalView->pPlayerHandle)) { VideoLogWarning("Resume Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } VP_EVAS_IDLER_DEL(pNormalView->pControlIdler); pNormalView->pControlIdler = ecore_idler_add(__vp_normal_control_idler_cb, (void *)pNormalView); @@ -5370,6 +5685,13 @@ static void __vp_normal_control_btn_clicked_cb(void *pUserData, Evas_Object *pOb _vp_play_normal_view_on_prev_play(pNormalView, TRUE, FALSE); } } + if (pPlayView->win_minicon) { + vp_minicontroller_update(pPlayView, true); + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update(pPlayView); + } } else if (pObj == pNormalView->pNextBtn) { VideoLogWarning("Next button"); if (pNormalView->bHLSMode == FALSE) { @@ -5378,6 +5700,13 @@ static void __vp_normal_control_btn_clicked_cb(void *pUserData, Evas_Object *pOb _vp_play_normal_view_on_next_play(pNormalView, TRUE); } } + if (pPlayView->win_minicon) { + vp_minicontroller_update(pPlayView, true); + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update(pPlayView); + } } else if (pObj == pNormalView->pRotateBtn) { VideoLogWarning("Rotate button"); @@ -5410,6 +5739,31 @@ static void __vp_normal_control_btn_clicked_cb(void *pUserData, Evas_Object *pOb } } + +void vp_play_normal_view_on_controller_button_press(void *pUserData, int btn) { + + if (!pUserData) { + VideoLogError("pUserData is NULL"); + return; + } + + NormalView *pNormalView = (NormalView *)pUserData; + Evas_Object *pObj = NULL; + + if(btn == CONTROLLER_PAUSE_BUTTON) { + pObj = pNormalView->pPauseBtn; + } else if(btn == CONTROLLER_PLAY_BUTTON) { + pObj = pNormalView->pResumeBtn; + } else if(btn == CONTROLLER_FF_BUTTON) { + pObj = pNormalView->pNextBtn; + } else if(btn == CONTROLLER_REW_BUTTON) { + pObj = pNormalView->pPrevBtn; + } else { + VideoLogError("Unknown Button!"); + } + __vp_normal_control_btn_clicked_cb(pNormalView, pObj, NULL); +} + static void __vp_normal_control_btn_press_cb(void *pUserData, Evas_Object *pObj, void *pEvent) { if (!pUserData) { @@ -5548,6 +5902,11 @@ static void __vp_normal_media_key_event_cb(vp_media_key_event_t nKey, bool bRele } NormalView *pNormalView = (NormalView *)pUserData; + PlayView *pPlayView = pNormalView->pPlayView; + + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } if (pNormalView->bSharepopup) { VideoLogWarning("bSharepopup is TRUE"); return; @@ -5583,7 +5942,12 @@ static void __vp_normal_media_key_event_cb(vp_media_key_event_t nKey, bool bRele } pNormalView->bManualPause = TRUE; } - + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } @@ -5626,7 +5990,12 @@ static void __vp_normal_media_key_event_cb(vp_media_key_event_t nKey, bool bRele } pNormalView->bManualPause = FALSE; } - + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } else { @@ -5669,6 +6038,12 @@ static void __vp_normal_media_key_event_cb(vp_media_key_event_t nKey, bool bRele if (!vp_mm_player_play(pNormalView->pPlayerHandle)) { VideoLogError("play Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } pNormalView->bManualPause = FALSE; } @@ -5708,6 +6083,12 @@ static void __vp_normal_media_key_event_cb(vp_media_key_event_t nKey, bool bRele VideoLogError("Pause Fail"); } } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } pNormalView->bManualPause = TRUE; _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); @@ -5734,6 +6115,11 @@ void vp_play_normal_view_ff_rew_keyboard_longpress_event_cb(normal_view_handle p } NormalView *pNormalView = (NormalView *)pViewHandle; + PlayView *pPlayView = pNormalView->pPlayView; + + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } if (pNormalView->pSpeedTimer == NULL && bRelease == FALSE) { if (bFFseek) { @@ -5769,6 +6155,12 @@ void vp_play_normal_view_ff_rew_keyboard_longpress_event_cb(normal_view_handle p if (!vp_mm_player_play(pNormalView->pPlayerHandle)) { VideoLogError("play Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } pNormalView->bManualPause = FALSE; } @@ -5891,6 +6283,11 @@ void vp_play_normal_view_set_resume_or_pause(normal_view_handle *pViewHandle) NormalView *pNormalView = (NormalView *)pViewHandle; + PlayView *pPlayView = pNormalView->pPlayView; + + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } vp_mm_player_state_t nState = VP_MM_PLAYER_STATE_NONE; if (!vp_mm_player_get_state(pNormalView->pPlayerHandle, &nState)) { @@ -5903,6 +6300,12 @@ void vp_play_normal_view_set_resume_or_pause(normal_view_handle *pViewHandle) vp_mm_player_play(pNormalView->pPlayerHandle); pNormalView->bManualPause = FALSE; } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } @@ -7420,6 +7823,12 @@ static void _vp_play_normal_view_on_next_play(NormalView *pNormalView, bool bMan if (nState != VP_MM_PLAYER_STATE_PLAYING) { vp_mm_player_play(pNormalView->pPlayerHandle); pNormalView->bManualPause = FALSE; + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); @@ -7564,6 +7973,12 @@ static void _vp_play_normal_view_on_prev_play(NormalView *pNormalView, bool bMan if (nState != VP_MM_PLAYER_STATE_PLAYING) { vp_mm_player_play(pNormalView->pPlayerHandle); pNormalView->bManualPause = FALSE; + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); @@ -7977,6 +8392,12 @@ static void _vp_play_normal_view_on_share_popup(NormalView *pNormalView) if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); pNormalView->bSharePanelPause = FALSE; @@ -8107,6 +8528,13 @@ static void _vp_play_normal_view_on_audio_track_popup(NormalView *pNormalView) VideoLogError("pNormalView is NULL"); return; } + + PlayView *pPlayView = pNormalView->pPlayView; + + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } vp_mm_player_state_t nState = VP_MM_PLAYER_STATE_NONE; if (!vp_mm_player_get_state(pNormalView->pPlayerHandle, &nState)) { VideoLogWarning("vp_mm_player_get_state is fail"); @@ -8116,6 +8544,12 @@ static void _vp_play_normal_view_on_audio_track_popup(NormalView *pNormalView) if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogError("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); } @@ -8123,12 +8557,6 @@ static void _vp_play_normal_view_on_audio_track_popup(NormalView *pNormalView) vp_audio_track_destroy(pNormalView->pAudioTrackHandle); pNormalView->pAudioTrackHandle = NULL; - PlayView *pPlayView = pNormalView->pPlayView; - - if (!pPlayView) { - VideoLogError("pPlayView is NULL"); - return; - } pNormalView->pAudioTrackHandle = vp_audio_track_create(pPlayView->pWin, __vp_normal_audio_track_popup_close_cb, pNormalView->nDefaultAudioTrackIndex); @@ -8477,6 +8905,13 @@ static void _vp_play_normal_view_on_subtitle_language_popup(NormalView *pNormalV VideoLogError("pNormalView is NULL"); return; } + + PlayView *pPlayView = pNormalView->pPlayView; + + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } vp_mm_player_state_t nState = VP_MM_PLAYER_STATE_NONE; if (!vp_mm_player_get_state(pNormalView->pPlayerHandle, &nState)) { VideoLogWarning("vp_mm_player_get_state is fail"); @@ -8486,6 +8921,12 @@ static void _vp_play_normal_view_on_subtitle_language_popup(NormalView *pNormalV if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogError("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); } @@ -8493,12 +8934,6 @@ static void _vp_play_normal_view_on_subtitle_language_popup(NormalView *pNormalV vp_subtitle_track_destroy(pNormalView->pSubtitleTrackHandle); pNormalView->pSubtitleTrackHandle = NULL; - PlayView *pPlayView = pNormalView->pPlayView; - - if (!pPlayView) { - VideoLogError("pPlayView is NULL"); - return; - } #ifdef _SUBTITLE_MULTI_LANGUAGE pNormalView->pSubtitleTrackHandle = vp_subtitle_track_create(pPlayView->pWin, __vp_normal_subtitle_track_popup_close_cb); @@ -8729,6 +9164,12 @@ static void _vp_play_normal_view_on_subtitle_select_popup(NormalView *pNormalVie if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogError("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); } @@ -8864,7 +9305,10 @@ static void __vp_normal_subtitle_edge_popup_done_cb(int nType, bool bPause, void } // to do NormalView *pNormalView = (NormalView *)pUserData; - + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } vp_subtitle_edge_destroy(pNormalView->pSubtitleEdgePopup); pNormalView->pSubtitleEdgePopup = NULL; pNormalView->bIsPopupShow = FALSE; @@ -8881,6 +9325,12 @@ static void __vp_normal_subtitle_edge_popup_done_cb(int nType, bool bPause, void if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); } @@ -9309,6 +9759,12 @@ static void _vp_play_normal_view_on_detail_popup(NormalView *pNormalView) if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogError("Pause Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); } @@ -11478,6 +11934,12 @@ static void _vp_play_normal_view_prepare_pipe_cb(void *data, void *pipeData, uns VideoLogError("vp_mm_player_set_subtitle_position is fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); _vp_play_normal_view_on_capture_mode(pNormalView); @@ -11564,6 +12026,14 @@ void vp_play_normal_view_destroy(normal_view_handle pViewHandle) } NormalView *pNormalView = (NormalView *)pViewHandle; + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } else { + if (pPlayView->win_minicon) { + vp_minicontroller_destroy(pPlayView); + } + } elm_access_object_unregister(pNormalView->pMainLayout); elm_object_focus_allow_set(pNormalView->pNaviFrame, EINA_FALSE); elm_object_tree_focus_allow_set(pNormalView->pNaviFrame, EINA_FALSE); @@ -11750,9 +12220,19 @@ bool vp_play_normal_view_pause(normal_view_handle pViewHandle) } NormalView *pNormalView = (NormalView *)pViewHandle; + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } vp_mm_player_pause(pNormalView->pPlayerHandle); _vp_play_normal_view_set_play_state(pNormalView); + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } return TRUE; } @@ -11765,7 +12245,10 @@ bool vp_play_normal_view_resume(normal_view_handle pViewHandle) } NormalView *pNormalView = (NormalView *)pViewHandle; - + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } if (pNormalView->pPlayerHandle && pNormalView->bIsRealize) { _vp_play_normal_view_all_close_popup(pNormalView); } @@ -11780,6 +12263,12 @@ bool vp_play_normal_view_resume(normal_view_handle pViewHandle) if (nState != VP_MM_PLAYER_STATE_PLAYING) { if (!vp_mm_player_play(pNormalView->pPlayerHandle)) { VideoLogError("Unable to play!"); + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } } _vp_play_normal_view_set_play_state(pNormalView); } @@ -11797,7 +12286,10 @@ bool vp_play_normal_view_resume_or_pause(normal_view_handle pViewHandle) } NormalView *pNormalView = (NormalView *)pViewHandle; - + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } vp_mm_player_state_t nState = VP_MM_PLAYER_STATE_NONE; if (!vp_mm_player_get_state(pNormalView->pPlayerHandle, &nState)) { @@ -11820,6 +12312,12 @@ bool vp_play_normal_view_resume_or_pause(normal_view_handle pViewHandle) break; } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } _vp_play_normal_view_set_play_state(pNormalView); return TRUE; @@ -12482,6 +12980,7 @@ bool vp_play_normal_view_update(normal_view_handle pViewHandle) } NormalView *pNormalView = (NormalView *)pViewHandle; + PlayView *pPlayView = pNormalView->pPlayView; VideoLogWarning(" == NORMAL VIEW UPDATE =="); @@ -12557,6 +13056,13 @@ bool vp_play_normal_view_update(normal_view_handle pViewHandle) } } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } + return TRUE; } @@ -12740,6 +13246,11 @@ bool vp_play_normal_view_set_lock_screen(normal_view_handle pViewHandle, bool bL NormalView *pNormalView = (NormalView *)pViewHandle; + if (pNormalView->bAudioOnly) { + VideoLogDebug("Audio only mode is on hence lock feature disabled"); + return FALSE; + } + pNormalView->bLockScreen = bLock; VP_EVAS_TIMER_DEL(pNormalView->pLockScreenTimer); @@ -12940,13 +13451,21 @@ bool vp_controller_play_normal_view_pause(normal_view_handle pViewHandle) VideoLogError("pViewHandle is NULL"); return FALSE; } - + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } VideoLogWarning("Pause button"); if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) { VideoLogWarning("Pause Fail"); } - + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } VP_EVAS_IDLER_DEL(pNormalView->pControlIdler); pNormalView->pControlIdler = ecore_idler_add(__vp_normal_control_idler_cb, (void *)pNormalView); pNormalView->bManualPause = TRUE; @@ -12962,6 +13481,10 @@ bool vp_controller_play_normal_view_resume(normal_view_handle pViewHandle) VideoLogError("pViewHandle is NULL"); return FALSE; } + PlayView *pPlayView = pNormalView->pPlayView; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } if(_vp_play_normal_view_check_during_call(pNormalView)) { return FALSE; } @@ -12969,6 +13492,12 @@ bool vp_controller_play_normal_view_resume(normal_view_handle pViewHandle) if (!vp_mm_player_play(pNormalView->pPlayerHandle)) { VideoLogWarning("Resume Fail"); } + if (pPlayView->win_minicon) { + vp_minicontroller_update_control(pPlayView); + } + if (!pPlayView->win_lockmini) { + vp_lockscreenmini_update_control(pPlayView); + } VP_EVAS_IDLER_DEL(pNormalView->pControlIdler); pNormalView->pControlIdler = ecore_idler_add(__vp_normal_control_idler_cb, (void *)pNormalView); pNormalView->bManualPause = FALSE; @@ -13150,3 +13679,38 @@ void vp_play_normal_view_db_change(normal_view_handle pViewHandle) VP_FREE(pVideoId); } } + +vp_mm_player_state_t vp_play_normal_view_get_player_state(PlayView *pPlayView) +{ + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return -1; + } + + NormalView *pNormalView = (NormalView *)pPlayView->pNormalView; + vp_mm_player_state_t nState = VP_MM_PLAYER_STATE_NONE; + + if (!vp_mm_player_get_state(pNormalView->pPlayerHandle, &nState)) { + VideoLogWarning("vp_mm_player_get_state is fail"); + } + + return nState; +} + +bool vp_play_normal_view_is_audio_only(PlayView *pPlayView) +{ + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return FALSE; + } + + NormalView *pNormalView = (NormalView *)pPlayView->pNormalView; + + if (pNormalView->bAudioOnly == TRUE) { + return TRUE; + } else { + return FALSE; + } + + return FALSE; +} diff --git a/playview/src/vp-play-view.c b/playview/src/vp-play-view.c index 5c2aa89..99be957 100644 --- a/playview/src/vp-play-view.c +++ b/playview/src/vp-play-view.c @@ -29,6 +29,8 @@ #include "vp-play-view-priv.h" #include "vp-play-normal-view.h" +#include "vp-play-minicontroller.h" +#include "vp-play-lockscreenmc.h" #include "vp-play-popup.h" #include "vp-play-button.h" @@ -549,6 +551,9 @@ static void __vp_play_rotate_changed_cb(void *pUserData, Evas_Object *pObj, void if (pPlayView->nRotate != nRotate) { vp_play_view_set_rotate(pPlayView, nRotate); } + if(pPlayView->win_minicon) { + vp_minicontroller_rotate(pPlayView, nRotate); + } } static void __vp_play_view_realize_cb(void *pUserData) @@ -721,8 +726,10 @@ static Eina_Bool __vp_play_view_event_key_down_cb(void *pUserData, int nType, vo vp_play_normal_check_detail_view(pPlayView->pNormalView); bool bPause = FALSE; vp_play_normal_view_get_pause_status(pPlayView->pNormalView, &bPause); - if (bPause) { + if (bPause && !vp_play_normal_view_is_audio_only(pPlayView)) { vp_play_util_set_lock_power_key(); + } else { + VideoLogDebug("Lock feature disabled"); } return EINA_TRUE; @@ -1764,6 +1771,10 @@ play_view_handle vp_play_view_create(Evas_Object *pParent, Ecore_X_Window nParen pPlayView->pParent = pParent; pPlayView->nPlayMode = nMode; pPlayView->nLaunchingType = nLaunchingType; + pPlayView->minicontroller_layout = NULL; + pPlayView->win_minicon = NULL; + pPlayView->lockmini_layout = NULL; + pPlayView->win_lockmini = NULL; /* init preference */ vp_play_preference_init(); diff --git a/playview/src/widget/include/vp-play-lockscreenmc.h b/playview/src/widget/include/vp-play-lockscreenmc.h new file mode 100644 index 0000000..65831ec --- /dev/null +++ b/playview/src/widget/include/vp-play-lockscreenmc.h @@ -0,0 +1,51 @@ +/* +* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + + +#ifndef VP_PLAY_LOCKSCREENMC_H_ +#define VP_PLAY_LOCKSCREENMC_H_ + +//#include "mp-ta.h" +//#include "music.h" +//#include "mp-item.h" +//#include "mp-player-control.h" +//#include "mp-common.h" +//#include "mp-player-mgr.h" +//#include "mp-player-debug.h" +// +//#ifdef MP_FEATURE_LOCKSCREEN +#include "vp-play-view-priv.h" +enum vp_lc_controller_button_type { + LC_CONTROLLER_PLAY_BUTTON = 0, + LC_CONTROLLER_PAUSE_BUTTON, + LC_CONTROLLER_FF_BUTTON, + LC_CONTROLLER_REW_BUTTON +}; + +int vp_lockscreenmini_create(PlayView *pPlayView); +//int mp_lockscreenmini_hide(struct appdata *ad); +int vp_lockscreenmini_show(PlayView *pPlayView); +int vp_lockscreenmini_destroy(PlayView *pPlayView); +void vp_lockscreenmini_update_control(PlayView *pPlayView); +void vp_lockscreenmini_update(PlayView *pPlayView); +//void mp_lockscreenmini_visible_set(struct appdata *ad, bool visible); +//bool mp_lockscreenmini_visible_get(struct appdata *ad); +//void mp_lockscreenmini_on_lcd_event(struct appdata *ad, bool lcd_on); +// +//#endif + +#endif /* VP_PLAY_LOCKSCREENMC_H_ */ diff --git a/playview/src/widget/include/vp-play-minicontroller.h b/playview/src/widget/include/vp-play-minicontroller.h new file mode 100644 index 0000000..967f23c --- /dev/null +++ b/playview/src/widget/include/vp-play-minicontroller.h @@ -0,0 +1,42 @@ +/* + /* +* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + +#ifndef VP_PLAY_MINICONTROLLER_H_ +#define VP_PLAY_MINICONTROLLER_H_ + +#include "vp-play-view-priv.h" + +enum vp_controller_button_type { + CONTROLLER_PLAY_BUTTON = 0, + CONTROLLER_PAUSE_BUTTON, + CONTROLLER_FF_BUTTON, + CONTROLLER_REW_BUTTON +}; + +int vp_minicontroller_create(PlayView *pPlayView); +//int vp_minicontroller_hide(struct appdata *ad); +int vp_minicontroller_show(PlayView *pPlayView); +int vp_minicontroller_destroy(PlayView *pPlayView); +void vp_minicontroller_update_control(PlayView *pPlayView); +void vp_minicontroller_update(PlayView *pPlayView, bool with_title); +void vp_minicontroller_rotate(PlayView *pPlayView, video_play_rotate_t angle); +//void vp_minicontroller_visible_set(struct appdata *ad, bool visible); +//bool vp_minicontroller_visible_get(struct appdata *ad); +//void vp_minicontroller_on_lcd_event(struct appdata *ad, bool lcd_on); + +#endif /* VP_PLAY_MINICONTROLLER_H_ */ diff --git a/playview/src/widget/vp-play-lockscreenmc.c b/playview/src/widget/vp-play-lockscreenmc.c new file mode 100644 index 0000000..e6ccd12 --- /dev/null +++ b/playview/src/widget/vp-play-lockscreenmc.c @@ -0,0 +1,656 @@ +/* +* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "vp-play-type-define.h" +#include "vp-play-string-define.h" +#include "vp-play-value-define.h" +#include "vp-play-macro-define.h" + +#include "vp-play-lockscreenmc.h" +#include "vp-play-minicontroller.h" +#include "vp-play-view.h" +#include "vp-play-view-priv.h" +#include "vp-play-normal-view.h" +#include "vp-mm-player.h" +#include "vp-play-util.h" +#include "vp-media-contents.h" +/* check temp */ +#include "vp-play-log.h" +#include "vp-util.h" +#include "vp-file-util.h" +#include "vp-avrcp.h" +#include "Ecore.h" +//#include +//#include +//#include +//#include "mp-lockscreenmini.h" +//#include "mp-player-control.h" +//#include "mp-play.h" +//#include "Ecore.h" +//#include "mp-player-mgr.h" +//#include "mp-util.h" +//#include "mp-widget.h" +//#include "mp-setting-ctrl.h" +//#include "mp-player-view.h" +//#include +//#include +// +//#ifdef MP_FEATURE_LOCKSCREEN +// +int LOCKSCREEN_MINI_CONTROLLER_WIDTH; +#define LOCKSCREEN_MINI_CONTROLLER_HEIGHT (93) +// +////#define LOCKSCREEN_MSG_DOMAIN_CONTROL_ACCESS (int)ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL + +static time_t press_time; +static time_t release_time; +static Evas_Object *_load_edj(Evas_Object * parent, const char *file, const char *group); +static void _load_lockscreenmini(PlayView *pPlayView); +static void _vp_lockscreenmini_update_layout(PlayView *pPlayView, bool landscape); + +//static bool _mp_lockscreenmini_is_long_press() +//{ +// bool result = false; +// VideoLogDebug("press time is %s", ctime(&press_time)); +// VideoLogDebug("release time is %s", ctime(&release_time)); +// if (difftime(release_time, press_time) > 1.0) { +// result = true; +// } +// +// memset(&release_time, 0, sizeof(time_t)); +// memset(&press_time, 0, sizeof(time_t)); +// +// VideoLogDebug("is %s long press", result ? "" : "not"); +// return result; +//} + +static Evas_Object * +_load_edj(Evas_Object *parent, const char *file, const char *group) +{ + Evas_Object *eo; + int r; + + eo = elm_layout_add(parent); + if (eo) { + char edje_path[1024] ={0}; + char * path = app_get_resource_path(); + + if (path == NULL) { + VideoLogError("path is null"); + return NULL; + } + snprintf(edje_path, 1024, "%s%s/%s", path, "edje", file); + + r = elm_layout_file_set(eo, edje_path, group); + free(path); + + if (!r) { + evas_object_del(eo); + return NULL; + } + evas_object_size_hint_weight_set(eo, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(parent, eo); + evas_object_show(eo); + } + + return eo; +} + +static void _lockscreen_cb(minicontrol_viewer_event_e event_type, bundle *event_arg) +{ + /*Need to handle events*/ +} + +static void +_load_lockscreenmini(PlayView *pPlayView) +{ + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + Evas_Object *win = NULL; + + win = minicontrol_create_window("video-minicontrol.LOCKSCREEN", MINICONTROL_TARGET_VIEWER_STOCK_LOCK_SCREEN, _lockscreen_cb); + + if (!win) { + return; + } + elm_win_alpha_set(win, EINA_TRUE); + + pPlayView->win_lockmini = win; + + /* load edje */ + _vp_lockscreenmini_update_layout(pPlayView, false); + + /*evas_object_show(eo);*/ + + return; +} + +//static void +//_mp_lockscreenmini_register_reader(void *data) +//{ +// struct appdata *pPlayView = data; +// MP_CHECK(pPlayView); +//} + +void vp_lockscreenmini_update_winmini_size(PlayView *pPlayView) +{ + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + + double scale = elm_config_scale_get(); + VideoLogDebug("scale: %f", scale); + + if ((scale - 1.7) < 0.0001) { + LOCKSCREEN_MINI_CONTROLLER_WIDTH = 318; + } else if ((scale - 1.8) < 0.0001) { + LOCKSCREEN_MINI_CONTROLLER_WIDTH = 267; + } else if ((scale - 2.4) < 0.0001) { + LOCKSCREEN_MINI_CONTROLLER_WIDTH = 300; + } else if ((scale - 2.6) < 0.0001) { + LOCKSCREEN_MINI_CONTROLLER_WIDTH = 300; + } else if ((scale - 2.8) < 0.0001) { + LOCKSCREEN_MINI_CONTROLLER_WIDTH = 300; + } + + evas_object_resize(pPlayView->win_lockmini, LOCKSCREEN_MINI_CONTROLLER_WIDTH * scale, LOCKSCREEN_MINI_CONTROLLER_HEIGHT * scale); + + return; +} + +int +vp_lockscreenmini_create(PlayView *pPlayView) +{ + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return -1; + } + if (!(pPlayView->lockmini_layout && pPlayView->win_lockmini)) { + _load_lockscreenmini(pPlayView); + if (pPlayView->lockmini_layout == NULL) { + VideoLogError("layout not made"); + return -1; + } +// _vp_lockscreenmini_register_reader(pPlayView); + } + + vp_lockscreenmini_update_winmini_size(pPlayView); + + vp_lockscreenmini_show(pPlayView); + return 0; +} + + +int vp_lockscreenmini_show(PlayView *pPlayView) +{ + VideoLogDebug("minicontroller view show!!"); + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return -1; + } + if (!pPlayView->win_lockmini) { + VideoLogError("pPlayView->win_lockmini is NULL"); + return -1; + } + //MP_CHECK_VAL(!pPlayView->is_lcd_off, -1); + + pPlayView->b_lockmini_show = TRUE; + vp_lockscreenmini_update(pPlayView); + +// FILE *fp = fopen(MP_LSCR_CONTROL, "w"); +// if (fp) { +// fclose(fp); +// } + + evas_object_show(pPlayView->win_lockmini); + return 0; +} + +static void _vp_lockscreenmini_update_btn(PlayView *pPlayView) +{ + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + if (!pPlayView->win_lockmini) { + VideoLogError("pPlayView->win_lockmini is NULL"); + return; + } + + //MP_CHECK(!pPlayView->is_lcd_off); + vp_mm_player_state_t nState = vp_play_normal_view_get_player_state(pPlayView); + + VideoLogInfo("nState:%d", nState); + if (nState == VP_MM_PLAYER_STATE_PAUSED) { + edje_object_signal_emit(elm_layout_edje_get(pPlayView->lockmini_layout), "play_btn_visible", "play_btn"); + edje_object_signal_emit(elm_layout_edje_get(pPlayView->lockmini_layout), "pause_btn_invisible", "pause_btn"); + } else { + edje_object_signal_emit(elm_layout_edje_get(pPlayView->lockmini_layout), "play_btn_invisible", "play_btn"); + edje_object_signal_emit(elm_layout_edje_get(pPlayView->lockmini_layout), "pause_btn_visible", "pause_btn"); + } +} + +static Eina_Bool +_vp_lockscreenmini_btn_update_timer(void *data) +{ + PlayView *pPlayView = (PlayView *)data; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } + + _vp_lockscreenmini_update_btn(pPlayView); + + pPlayView->lockmini_button_timer = NULL; + return EINA_FALSE; +} + +static void _vp_lockscreenmini_update_playpause_btn(PlayView *pPlayView) +{ + VP_EVAS_TIMER_DEL(pPlayView->lockmini_button_timer); + + vp_mm_player_state_t nState = vp_play_normal_view_get_player_state(pPlayView); + + VideoLogInfo("nState:%d", nState); + if (nState == VP_MM_PLAYER_STATE_PLAYING || nState == VP_MM_PLAYER_STATE_PAUSED) { + _vp_lockscreenmini_update_btn(pPlayView); + } else { + pPlayView->lockmini_button_timer = ecore_timer_add(1.0, _vp_lockscreenmini_btn_update_timer, (void *)pPlayView); + } +} + +void vp_lockscreenmini_update_control(PlayView *pPlayView) +{ + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + if (!pPlayView->win_lockmini) { + VideoLogError("pPlayView->win_lockmini is NULL"); + return; + } +// MP_CHECK(!pPlayView->is_lcd_off); + + _vp_lockscreenmini_update_playpause_btn(pPlayView); +} + +static void _vp_lockscreenmini_play_pause_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + VideoLogDebug("play/pause button clicked"); + + PlayView *pPlayView = (PlayView *)data; + if(!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + + vp_mm_player_state_t nState = vp_play_normal_view_get_player_state(pPlayView); + VideoLogInfo("nState:%d", nState); + if (nState == VP_MM_PLAYER_STATE_PLAYING) { + /*if playing state then on click it should pause and set button for play*/ + edje_object_signal_emit(elm_layout_edje_get(pPlayView->lockmini_layout), "play_btn_invisible", "play_btn"); + edje_object_signal_emit(elm_layout_edje_get(pPlayView->lockmini_layout), "pause_btn_visible", "pause_btn"); + vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, LC_CONTROLLER_PAUSE_BUTTON); + } else { + edje_object_signal_emit(elm_layout_edje_get(pPlayView->lockmini_layout), "play_btn_visible", "play_btn"); + edje_object_signal_emit(elm_layout_edje_get(pPlayView->lockmini_layout), "pause_btn_invisible", "pause_btn"); + vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, LC_CONTROLLER_PLAY_BUTTON); + } +} + +static void _vp_lockscreenmini_ff_btn_pressed_cb(void *data, Evas_Object *obj, void *event_info) +{ + VideoLogDebug("ff button pressed"); + time(&press_time); +// char *source = (char *)data; +// if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) { +// vp_play_control_ff(true, false, false); +// } else { +// vp_play_control_rew(true, false, false); +// } +} + +static void _vp_lockscreenmini_ff_btn_unpressed_cb(void *data, Evas_Object *obj, void *event_info) +{ + VideoLogDebug("ff button unpressed"); + time(&release_time); + + PlayView *pPlayView = (PlayView *)data; + if(!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + if(!pPlayView->lockmini_layout) { + VideoLogError("pPlayView->lockmini_layout is NULL"); + return; + } + + //vp_play_control_ff(false, false, false); + elm_object_signal_emit(pPlayView->lockmini_layout, "signal.button.unpressed", "ff_btn"); +} + +static void _vp_lockscreenmini_ff_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + VideoLogDebug("ff button clicked"); +// if (_vp_minicontroller_is_long_press()) { +// return; +// } +// +// char *source = (char *)data; +// if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) { +// vp_play_control_ff(false, false, true); +// } else { +// vp_play_control_rew(false, false, true); +// } + PlayView *pPlayView = (PlayView *)data; + if(!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, LC_CONTROLLER_FF_BUTTON); +} + +static void _vp_lockscreenmini_rew_btn_pressed_cb(void *data, Evas_Object *obj, void *event_info) +{ + VideoLogDebug("rew button pressed"); + time(&press_time); +// char *source = (char *)data; +// if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) { +// vp_play_control_ff(true, false, false); +// } else { +// vp_play_control_rew(true, false, false); +// } +} + +static void _vp_lockscreenmini_rew_btn_unpressed_cb(void *data, Evas_Object *obj, void *event_info) +{ + VideoLogDebug("rew button unpressed"); + time(&release_time); + + PlayView *pPlayView = (PlayView *)data; + if(!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + if(!pPlayView->lockmini_layout) { + VideoLogError("pPlayView->lockmini_layout is NULL"); + return; + } + + // vp_play_control_rew(false, false, false); + elm_object_signal_emit(pPlayView->lockmini_layout, "signal.button.unpressed", "rew_btn"); + +} + +static void _vp_lockscreenmini_rew_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + VideoLogDebug("rew button clicked"); + PlayView *pPlayView = (PlayView *)data; + if(!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, LC_CONTROLLER_REW_BUTTON); +} + +/*end of focused UI callbacks*/ + +static void +_vp_lockscreenmini_update_layout(PlayView *pPlayView, bool landscape) +{ + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + + VP_EVAS_TIMER_DEL(pPlayView->lockmini_button_timer); + + if(pPlayView->lockmini_layout) { + evas_object_del(pPlayView->lockmini_layout); + } + pPlayView->lockmini_layout = _load_edj(pPlayView->win_lockmini, LOCKSCREENMINI_EDJ_NAME, "video-lockscreenmini"); + + if (!pPlayView->lockmini_layout) { + VideoLogError("layout making failed"); + return ; + } + + elm_win_resize_object_add(pPlayView->win_lockmini, pPlayView->lockmini_layout); + + /*add focused UI related*/ + pPlayView->lsicon_icon = elm_image_add(pPlayView->minicontroller_layout); + evas_object_size_hint_align_set(pPlayView->lsicon_icon, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(pPlayView->lsicon_icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_image_fill_outside_set(pPlayView->lsicon_icon, true); + elm_object_part_content_set(pPlayView->minicontroller_layout, "albumart_image", pPlayView->lsicon_icon); + elm_object_focus_custom_chain_append(pPlayView->minicontroller_layout, pPlayView->lsicon_icon, NULL); + elm_object_focus_allow_set(pPlayView->lsicon_icon, EINA_TRUE); + + /*-------> REW button ------->*/ + Evas_Object *rew_focus_btn = elm_button_add(pPlayView->lockmini_layout); + elm_object_style_set(rew_focus_btn, "focus"); + elm_object_part_content_set(pPlayView->lockmini_layout, "rew_focus", rew_focus_btn); + elm_object_focus_custom_chain_append(pPlayView->lockmini_layout, rew_focus_btn, NULL); + evas_object_smart_callback_add(rew_focus_btn, "clicked", _vp_lockscreenmini_rew_btn_clicked_cb, pPlayView); + evas_object_smart_callback_add(rew_focus_btn, "pressed", _vp_lockscreenmini_rew_btn_pressed_cb, pPlayView); + evas_object_smart_callback_add(rew_focus_btn, "unpressed", _vp_lockscreenmini_rew_btn_unpressed_cb, pPlayView); + + /*-------> play/pause button ------->*/ + Evas_Object *play_pause_focus_btn = elm_button_add(pPlayView->lockmini_layout); + elm_object_style_set(play_pause_focus_btn, "focus"); + elm_object_part_content_set(pPlayView->lockmini_layout, "play_pause_focus", play_pause_focus_btn); + elm_object_focus_custom_chain_append(pPlayView->lockmini_layout, play_pause_focus_btn, NULL); + evas_object_smart_callback_add(play_pause_focus_btn, "clicked", _vp_lockscreenmini_play_pause_btn_clicked_cb, pPlayView); + + /*------->FF button ------->*/ + Evas_Object *ff_focus_btn = elm_button_add(pPlayView->lockmini_layout); + elm_object_style_set(ff_focus_btn, "focus"); + elm_object_part_content_set(pPlayView->lockmini_layout, "ff_focus", ff_focus_btn); + elm_object_focus_custom_chain_append(pPlayView->lockmini_layout, ff_focus_btn, NULL); + evas_object_smart_callback_add(ff_focus_btn, "clicked", _vp_lockscreenmini_ff_btn_clicked_cb, pPlayView); + evas_object_smart_callback_add(ff_focus_btn, "pressed", _vp_lockscreenmini_ff_btn_pressed_cb, pPlayView); + evas_object_smart_callback_add(ff_focus_btn, "unpressed", _vp_lockscreenmini_ff_btn_unpressed_cb, pPlayView); + + _vp_lockscreenmini_update_btn(pPlayView); +} + +static void +_vp_lockscreenmini_title_set(PlayView *pPlayView) +{ + VideoLogDebug("title set"); + + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + Evas_Object *label = elm_object_part_content_get(pPlayView->lockmini_layout, "elm.text"); + + char *markup_title = elm_entry_utf8_to_markup(vp_play_util_get_title_from_path(pPlayView->szMediaURL)); + //char *markup_artist = elm_entry_utf8_to_markup(current_item->artist); + + char *title_shadow = g_strdup_printf("far_shadow,bottom shadow_color=#00000080"); + char *title_format = "%s"; + char *title = NULL; + char *title_format_left = "%s"; + + if (markup_title) { + if (strlen(markup_title) + 3 <= 50) { + title = g_strdup_printf(title_format, title_shadow, 30, "FFFFFFFF", "ATO003", markup_title); + } else { + title = g_strdup_printf(title_format_left, title_shadow, 30, "FFFFFFFF", "ATO003", markup_title); + } + } + + /*edje_object_part_text_set(_EDJ(pPlayView->lockmini_layout), "artist.text", markup_artist);*/ + if (!label) { + label = elm_label_add(pPlayView->lockmini_layout); + elm_object_style_set(label, "slide_roll"); + + // set the label for the title slide mode + elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_AUTO); + elm_label_wrap_width_set(label, 1); + // set the label text + elm_object_text_set(label, title); + evas_object_show(label); + elm_object_part_content_set(pPlayView->lockmini_layout, "elm.text", label); + } else { + elm_object_text_set(label, title); + } + + if (pPlayView->lockmini_visible) { + elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_ALWAYS); + elm_label_slide_go(label); + } else { + elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_NONE); + elm_label_slide_go(label); + } + + VP_FREE(title); + VP_FREE(markup_title); + evas_object_show(label); +} + +void vp_lockscreenmini_update(PlayView *pPlayView) +{ + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + if (!pPlayView->win_lockmini) { + VideoLogError("pPlayView->win_lockmini is NULL"); + return; + } + //MP_CHECK(!pPlayView->is_lcd_off); + + /*thumbnail set*/ + char *thumbnail_path = NULL; + vp_media_contents_get_video_thumbnail_path(pPlayView->szMediaURL, &thumbnail_path); + VideoLogInfo("thumbnail = %s:%s", pPlayView->szMediaURL, thumbnail_path); + elm_image_file_set(pPlayView->lsicon_icon, thumbnail_path, NULL); + + vp_lockscreenmini_update_control(pPlayView); + _vp_lockscreenmini_title_set(pPlayView); + evas_object_show(pPlayView->lockmini_layout); + +} + +//int +//mp_lockscreenmini_hide(struct appdata *pPlayView) +//{ +// VideoLogDebug("lockscreenmini view hide!!\n"); +// mp_retvm_if(pPlayView == NULL, -1, "appdata is NULL"); +// MP_CHECK_VAL(pPlayView->win_lockmini, -1); +// +// evas_object_hide(pPlayView->win_lockmini); +// pPlayView->b_lockmini_show = FALSE; +// +// mp_ecore_timer_del(pPlayView->lockmini_progress_timer); +// mp_ecore_timer_del(pPlayView->lockmini_button_timer); +// +// return 0; +// +//} + +int +vp_lockscreenmini_destroy(PlayView *pPlayView) +{ + VideoLogDebug("lockscreenmini view destroy!!"); + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return -1; + } + if (!pPlayView->win_lockmini) { + VideoLogError("pPlayView->win_lockmini is NULL"); + return -1; + } + + if (pPlayView->lockmini_layout != NULL) { + pPlayView->b_lockmini_show = FALSE; + } + + evas_object_hide(pPlayView->win_lockmini); + VP_EVAS_TIMER_DEL(pPlayView->lockmini_button_timer); + pPlayView->lockmini_visible = false; + +// ecore_file_remove(MP_LSCR_CONTROL); + return 0; +} + +//void +//mp_lockscreenmini_visible_set(struct appdata *pPlayView, bool visible) +//{ +// VideoLogDebug("visible: %d", visible); +// MP_CHECK(pPlayView); +// MP_CHECK(pPlayView->win_lockmini); +// +// pPlayView->lockmini_visible = visible; +// _mp_lockscreenmini_title_set(pPlayView); +// mp_lockscreenmini_update_control(pPlayView); +// +// if (visible) { +//#ifdef LOCKSCREEN_ENABLE_PROGRESS +// _lockscreenmini_progress_timer_add(pPlayView); +//#endif +// } else { +// display_state_e lock_state; +// int ret = device_display_get_state(&lock_state); +// if (ret == DEVICE_ERROR_NONE) { +// ERROR_TRACE("[SUCCESSFULL] Return value is %d", ret); +// } else { +// ERROR_TRACE("[ERROR] Return value is %d", ret); +// } +// if (lock_state == DISPLAY_STATE_SCREEN_OFF || lock_state == DISPLAY_STATE_SCREEN_DIM) { +// ERROR_TRACE("timer locks deleted"); +// mp_ecore_timer_del(pPlayView->lockmini_progress_timer); +// } +// } +//} +// +//bool +//mp_lockscreenmini_visible_get(struct appdata *pPlayView) +//{ +// MP_CHECK_FALSE(pPlayView); +// MP_CHECK_FALSE(pPlayView->win_lockmini); +// +// return pPlayView->lockmini_visible; +//} +// +//void mp_lockscreenmini_on_lcd_event(struct appdata *pPlayView, bool lcd_on) +//{ +// VideoLogDebug("lcd_on [%d]", lcd_on); +// MP_CHECK(pPlayView); +// +// if (lcd_on && mp_util_is_now_active_player()) { +// if (pPlayView->player_state == PLAY_STATE_PLAYING) { +// mp_lockscreenmini_show(pPlayView); +// } +// } +// +// mp_lockscreenmini_visible_set(pPlayView, lcd_on); +//} diff --git a/playview/src/widget/vp-play-minicontroller.c b/playview/src/widget/vp-play-minicontroller.c new file mode 100644 index 0000000..1634540 --- /dev/null +++ b/playview/src/widget/vp-play-minicontroller.c @@ -0,0 +1,864 @@ +/* +* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + +#include +#include +#include +#include +#include +#include +#include + +#include "vp-play-type-define.h" +#include "vp-play-string-define.h" +#include "vp-play-value-define.h" +#include "vp-play-macro-define.h" + +#include "vp-play-minicontroller.h" +#include "vp-play-view.h" +#include "vp-play-view-priv.h" +#include "vp-play-normal-view.h" +#include "vp-mm-player.h" +#include "vp-play-util.h" +#include "vp-media-contents.h" +#include "vp-play-lockscreenmc.h" + +/* check temp */ +#include "vp-play-log.h" +#include "vp-util.h" +#include "vp-file-util.h" +#include "vp-avrcp.h" + +#define MINI_CONTROLLER_HEIGHT (93) +#define WL_INDI_H 27 //Window Layout Indicator Height +#define PAUSE_TIME_OUT 120. + +static time_t press_time; +static time_t release_time; +int MINI_CONTROLLER_WIDTH; +int MINI_CONTROLLER_WIDTH_LANDSCAPE; + +static void _minicontroller_action_cb(void *data, Evas_Object * obj, const char *emission, const char *source); +static Evas_Object *_load_edj(Evas_Object * parent, const char *file, const char *group); +static void _load_minicontroller(PlayView *pPlayView); +static void _vp_minicontroller_update_layout(PlayView *pPlayView, bool landscape); +static void _vp_minicontroller_title_set(PlayView *pPlayView); + +static bool _vp_minicontroller_is_long_press() +{ + bool result = false; + VideoLogDebug("press time is %s", ctime(&press_time)); + VideoLogDebug("release time is %s", ctime(&release_time)); + if (difftime(release_time, press_time) > 1.0) { + result = true; + } + + memset(&release_time, 0, sizeof(time_t)); + memset(&press_time, 0, sizeof(time_t)); + + VideoLogDebug("is %s long press", result ? "" : "not"); + return result; +} + +static bool +_vp_minicontroller_landscape_is(PlayView *pPlayView, video_play_rotate_t angle) +{ + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return false; + } + if (!pPlayView->win_minicon) { + VideoLogError("pPlayView->win_minicon is NULL"); + return false; + } + + bool landscape = false; + if (angle == VIDEO_PLAY_ROTATE_90 || angle == VIDEO_PLAY_ROTATE_270) { + landscape = true; + } else { + landscape = false; + } + return landscape; +} + +//static void +//_vp_minicontroller_action_show_player_view(struct appdata *ad) +//{ +// startfunc; +// MP_CHECK(ad); +//#ifndef MP_SOUND_PLAYER +// if (GET_PLAYER_VIEW != vp_view_mgr_get_top_view(GET_VIEW_MGR)) { +// if (!ad->is_focus_out) { +// minicontrol_send_event(ad->win_minicon, MINICONTROL_EVENT_REQUEST_HIDE, NULL); +// } else { +// vp_util_app_resume(); +// } +// vp_common_show_player_view(MP_PLAYER_NORMAL, true, false, true); +// } else +//#endif +// { +// if (!ad->is_focus_out) { +// minicontrol_send_event(ad->win_minicon, MINICONTROL_EVENT_REQUEST_HIDE, NULL); +// } else { +// vp_util_app_resume(); +// } +// } +//} + +static void +_minicontroller_action_cb(void *data, Evas_Object * obj, const char *emission, const char *source) +{ + PlayView *pPlayView = (PlayView *)data; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } + if (emission) { + if (!g_strcmp0(emission, "close_btn_clicked")) { + vp_minicontroller_destroy(pPlayView); + } else if (!g_strcmp0(emission, "albumart_clicked")) { + // EVENT_TRACE("albumart"); + // _vp_minicontroller_action_show_player_view(ad); + return; + } + } + +} + +static Evas_Object * +_load_edj(Evas_Object * parent, const char *file, const char *group) +{ + Evas_Object *eo; + int r; + + eo = elm_layout_add(parent); + if (eo) { + char edje_path[1024] ={0}; + char * path = app_get_resource_path(); + + if (path == NULL) { + VideoLogError("path is null"); + return NULL; + } + snprintf(edje_path, 1024, "%s%s/%s", path, "edje", file); + + r = elm_layout_file_set(eo, edje_path, group); + free(path); + if (!r) { + evas_object_del(eo); + return NULL; + } + evas_object_size_hint_weight_set(eo, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(parent, eo); + evas_object_show(eo); + } + + return eo; +} + +static void _quick_panel_cb(minicontrol_viewer_event_e event_type, bundle *event_arg) +{ +// startfunc; +// struct appdata *ad = vp_util_get_appdata(); +// if (event_type == MINICONTROL_EVENT_REQUEST_HIDE) { +// DEBUG_TRACE("CLOSE"); +// if (!vp_util_is_other_player_playing()) { +// int ret_set = 0; +// ret_set = preference_set_int(PREF_MUSIC_STATE, PREF_MUSIC_OFF); +// if (ret_set) { +// ERROR_TRACE("set preference failed"); +// } +// } +// vp_play_control_reset_ff_rew(); +// xD = 0; +// yD = 0; +// xDMove = 0; +// yDMove = 0; +// xU = 0; +// yU = 0; +// if (!ad->is_sdcard_removed) { +// elm_exit(); +// } +// ad->is_sdcard_removed = false; +// } +} + +static void +_load_minicontroller(PlayView *pPlayView) +{ + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + Evas_Object *win = NULL; + win = minicontrol_create_window("musicplayer-mini", MINICONTROL_TARGET_VIEWER_QUICK_PANEL, _quick_panel_cb); + + if (!win) { + VideoLogError("window is NULL"); + return; + } + + elm_win_alpha_set(win, EINA_TRUE); + + pPlayView->win_minicon = win; + + /*check initial rotation*/ + int nAngle = elm_win_rotation_get((Evas_Object *)pPlayView->pWin); + video_play_rotate_t nRotate = VIDEO_PLAY_ROTATE_NONE; + + switch (nAngle) { + case 0: + nRotate = VIDEO_PLAY_ROTATE_NONE; + break; + case 90: + nRotate = VIDEO_PLAY_ROTATE_90; + break; + case 180: + nRotate = VIDEO_PLAY_ROTATE_180; + break; + case 270: + nRotate = VIDEO_PLAY_ROTATE_270; + break; + } + bool landscape = _vp_minicontroller_landscape_is(pPlayView, nAngle); + VideoLogDebug("landscape ========== %d",landscape); + _vp_minicontroller_update_layout(pPlayView, landscape); + + //evas_object_show(eo); + + return; +} + +//static void +//_vp_minicontroller_register_reader(void *data) +//{ +// struct appdata *ad = data; +// MP_CHECK(ad); +//} +// + +void vp_minicontroller_update_winmini_size(PlayView *pPlayView) +{ + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + int angle = elm_win_rotation_get((Evas_Object *)pPlayView->pWin); + + VideoLogError("angle======================%d",angle); + int w = 0; + if ((elm_config_scale_get() - 1.7) < 0.0001) { + MINI_CONTROLLER_WIDTH = 318; + MINI_CONTROLLER_WIDTH_LANDSCAPE = 564; + } else if ((elm_config_scale_get() - 1.8) < 0.0001) { + MINI_CONTROLLER_WIDTH = 267; + MINI_CONTROLLER_WIDTH_LANDSCAPE = 444; + } else if ((elm_config_scale_get() - 2.4) < 0.0001) { + MINI_CONTROLLER_WIDTH = 300; + MINI_CONTROLLER_WIDTH_LANDSCAPE = 533; + } else if ((elm_config_scale_get() - 2.6) < 0.0001) { + MINI_CONTROLLER_WIDTH = 277; + MINI_CONTROLLER_WIDTH_LANDSCAPE = 492; + } else if ((elm_config_scale_get() - 2.8) < 0.0001) { + MINI_CONTROLLER_WIDTH = 257; + MINI_CONTROLLER_WIDTH_LANDSCAPE = 457; + } + + if (angle == 90 || angle == 270) { + w = MINI_CONTROLLER_WIDTH_LANDSCAPE; + } else { + w = MINI_CONTROLLER_WIDTH; + } + + double scale = elm_config_scale_get(); + VideoLogDebug("scale: %f and width: %d and height: %d", scale, w, MINI_CONTROLLER_HEIGHT); + evas_object_resize(pPlayView->win_minicon, w * scale, MINI_CONTROLLER_HEIGHT * scale); + + return; +} + +int vp_minicontroller_create(PlayView *pPlayView) +{ + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return -1; + } + + //MP_CHECK_VAL(!ad->is_lcd_off, -1); + + if (!(pPlayView->minicontroller_layout && pPlayView->win_minicon)) { + + _load_minicontroller(pPlayView); + if (pPlayView->minicontroller_layout == NULL) { + VideoLogError("ERROR"); + return -1; + } + + //vp_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")); + } + + vp_minicontroller_update_winmini_size(pPlayView); + + vp_minicontroller_show(pPlayView); + _vp_minicontroller_title_set(pPlayView); + + return 0; +} + + +int +vp_minicontroller_show(PlayView *pPlayView) +{ + VideoLogDebug("Showing controller!"); + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return -1; + } + if (!pPlayView->win_minicon) { + VideoLogError("pPlayView->win_minicon is NULL"); + return -1; + } +// MP_CHECK_VAL(!ad->is_lcd_off, -1); +// /* Not show minicontrol when current track not exsit */ +// MP_CHECK_VAL(ad->current_track_info, -1); +// + pPlayView->b_minicontroller_show = TRUE; + vp_minicontroller_update(pPlayView, true); + evas_object_show(pPlayView->win_minicon); + return 0; + +} + +static void _vp_minicontroller_update_btn(PlayView *pPlayView) +{ + VideoLogError("Updating play/pause button!!!!!!!!!!!"); + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + if (!pPlayView->win_minicon) { + VideoLogError("pPlayView->win_minicon is NULL"); + return; + } + //MP_CHECK(!ad->is_lcd_off); + + vp_mm_player_state_t nState = vp_play_normal_view_get_player_state(pPlayView); + + VideoLogInfo("nState:%d", nState); + if (nState == VP_MM_PLAYER_STATE_PLAYING) { + elm_object_signal_emit(pPlayView->minicontroller_layout, "set_pause", "c_source"); + } else { + elm_object_signal_emit(pPlayView->minicontroller_layout, "set_play", "c_source"); + } + +} + +static Eina_Bool +_vp_minicontroller_btn_update_timer(void *data) +{ + PlayView *pPlayView = (PlayView *)data; + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + } + + _vp_minicontroller_update_btn(pPlayView); + + pPlayView->minicon_button_timer = NULL; + return EINA_FALSE; +} + +static void _vp_minicontroller_update_playpause_btn(PlayView *pPlayView) +{ + VP_EVAS_TIMER_DEL(pPlayView->minicon_button_timer); + + vp_mm_player_state_t nState = vp_play_normal_view_get_player_state(pPlayView); + VideoLogInfo("nState:%d", nState); + + if (nState == VP_MM_PLAYER_STATE_PLAYING || nState == VP_MM_PLAYER_STATE_PAUSED) { + _vp_minicontroller_update_btn(pPlayView); + } else { + pPlayView->minicon_button_timer = ecore_timer_add(1.0, _vp_minicontroller_btn_update_timer, pPlayView); + } +} + +void +vp_minicontroller_update_control(PlayView *pPlayView) +{ + VideoLogDebug("Updating controller!!!!"); + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + if (!pPlayView->win_minicon) { + VideoLogError("pPlayView->win_minicon is NULL"); + return; + } +// MP_CHECK(!ad->is_lcd_off); + + _vp_minicontroller_update_playpause_btn(pPlayView); +} + +static void _vp_minicontroller_play_pause_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + VideoLogDebug("play/pause button clicked"); + + PlayView *pPlayView = (PlayView *)data; + if(!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + + vp_mm_player_state_t nState = vp_play_normal_view_get_player_state(pPlayView); + VideoLogInfo("nState:%d", nState); + if (nState == VP_MM_PLAYER_STATE_PLAYING) { + /*if playing state then on click it should pause and set button for play*/ + elm_object_signal_emit(pPlayView->minicontroller_layout, "set_play", "c_source"); + vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, CONTROLLER_PAUSE_BUTTON); + } else { + elm_object_signal_emit(pPlayView->minicontroller_layout, "set_pause", "c_source"); + vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, CONTROLLER_PLAY_BUTTON); + } +} + +static void _vp_minicontroller_ff_btn_pressed_cb(void *data, Evas_Object *obj, void *event_info) +{ + VideoLogDebug("ff button pressed"); + time(&press_time); +// char *source = (char *)data; +// if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) { +// vp_play_control_ff(true, false, false); +// } else { +// vp_play_control_rew(true, false, false); +// } +} + +static void _vp_minicontroller_ff_btn_unpressed_cb(void *data, Evas_Object *obj, void *event_info) +{ + VideoLogDebug("ff button unpressed"); + time(&release_time); + + PlayView *pPlayView = (PlayView *)data; + if(!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + if(!pPlayView->minicontroller_layout) { + VideoLogError("pPlayView->minicontroller_layout is NULL"); + return; + } + + //vp_play_control_ff(false, false, false); + elm_object_signal_emit(pPlayView->minicontroller_layout, "ff_btn_unpressed", "c_source"); +} + +static void _vp_minicontroller_ff_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + VideoLogDebug("ff button clicked"); +// if (_vp_minicontroller_is_long_press()) { +// return; +// } +// +// char *source = (char *)data; +// if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) { +// vp_play_control_ff(false, false, true); +// } else { +// vp_play_control_rew(false, false, true); +// } + PlayView *pPlayView = (PlayView *)data; + if(!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, CONTROLLER_FF_BUTTON); +} + +static void +_vp_minicontroller_ff_btn_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ +// startfunc; +// vp_play_control_reset_ff_rew(); +} + +static void _vp_minicontroller_rew_btn_pressed_cb(void *data, Evas_Object *obj, void *event_info) +{ + VideoLogDebug("rew button pressed"); + time(&press_time); +// char *source = (char *)data; +// if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) { +// vp_play_control_ff(true, false, false); +// } else { +// vp_play_control_rew(true, false, false); +// } +} + +static void _vp_minicontroller_rew_btn_unpressed_cb(void *data, Evas_Object *obj, void *event_info) +{ + VideoLogDebug("rew button unpressed"); + time(&release_time); + + PlayView *pPlayView = (PlayView *)data; + if(!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + if(!pPlayView->minicontroller_layout) { + VideoLogError("pPlayView->minicontroller_layout is NULL"); + return; + } + + // vp_play_control_rew(false, false, false); + elm_object_signal_emit(pPlayView->minicontroller_layout, "rew_btn_unpressed", "c_source"); + +} + +static void _vp_minicontroller_rew_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + VideoLogDebug("rew button clicked"); +// if (_vp_minicontroller_is_long_press()) { +// return; +// } + PlayView *pPlayView = (PlayView *)data; + if(!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, CONTROLLER_REW_BUTTON); +} + +static void +_vp_minicontroller_rew_btn_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ +// startfunc; +// vp_play_control_reset_ff_rew(); +} + +/*end of focused UI callbacks*/ + +static void +_vp_minicontroller_update_layout(PlayView *pPlayView, bool landscape) +{ + if(!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + + VP_EVAS_TIMER_DEL(pPlayView->minicon_button_timer); + + //vp_evas_object_del(pPlayView->minicontroller_layout); + + if (landscape) { + VideoLogDebug("angle: 90 or 270"); + pPlayView->minicontroller_layout = _load_edj(pPlayView->win_minicon, MINICON_EDJ_NAME, "video-minicontroller-ld"); + } else { + VideoLogDebug("angle: 0"); + pPlayView->minicontroller_layout = _load_edj(pPlayView->win_minicon, MINICON_EDJ_NAME, "video-minicontroller"); + } + + if (!pPlayView->minicontroller_layout) { + return ; + } + + elm_win_resize_object_add(pPlayView->win_minicon, pPlayView->minicontroller_layout); + + /*add focused UI related*/ + pPlayView->minicon_icon = elm_image_add(pPlayView->minicontroller_layout); + evas_object_size_hint_align_set(pPlayView->minicon_icon, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(pPlayView->minicon_icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_image_fill_outside_set(pPlayView->minicon_icon, true); + elm_object_part_content_set(pPlayView->minicontroller_layout, "albumart_image", pPlayView->minicon_icon); + elm_object_focus_custom_chain_append(pPlayView->minicontroller_layout, pPlayView->minicon_icon, NULL); + elm_object_focus_allow_set(pPlayView->minicon_icon, EINA_TRUE); + + /*-------> REW button ------->*/ + Evas_Object *rew_focus_btn = elm_button_add(pPlayView->minicontroller_layout); + elm_object_style_set(rew_focus_btn, "focus"); + elm_object_part_content_set(pPlayView->minicontroller_layout, "rew_btn_focus", rew_focus_btn); + + elm_object_focus_custom_chain_append(pPlayView->minicontroller_layout, rew_focus_btn, NULL); + evas_object_smart_callback_add(rew_focus_btn, "clicked", _vp_minicontroller_rew_btn_clicked_cb, pPlayView); + evas_object_smart_callback_add(rew_focus_btn, "pressed", _vp_minicontroller_rew_btn_pressed_cb, pPlayView); + evas_object_smart_callback_add(rew_focus_btn, "unpressed", _vp_minicontroller_rew_btn_unpressed_cb, pPlayView); + evas_object_event_callback_add(rew_focus_btn, EVAS_CALLBACK_DEL, _vp_minicontroller_rew_btn_del_cb, NULL); + + /*-------> play/pause button ------->*/ + Evas_Object *play_pause_focus_btn = elm_button_add(pPlayView->minicontroller_layout); + elm_object_style_set(play_pause_focus_btn, "focus"); + elm_object_part_content_set(pPlayView->minicontroller_layout, "play_pause_focus", play_pause_focus_btn); + elm_object_focus_custom_chain_append(pPlayView->minicontroller_layout, play_pause_focus_btn, NULL); + evas_object_smart_callback_add(play_pause_focus_btn, "clicked", _vp_minicontroller_play_pause_btn_clicked_cb, pPlayView); + + /*------->FF button ------->*/ + Evas_Object *ff_focus_btn = elm_button_add(pPlayView->minicontroller_layout); + elm_object_style_set(ff_focus_btn, "focus"); + elm_object_part_content_set(pPlayView->minicontroller_layout, "ff_btn_focus", ff_focus_btn); + + elm_object_focus_custom_chain_append(pPlayView->minicontroller_layout, ff_focus_btn, NULL); + evas_object_smart_callback_add(ff_focus_btn, "clicked", _vp_minicontroller_ff_btn_clicked_cb, pPlayView); + evas_object_smart_callback_add(ff_focus_btn, "pressed", _vp_minicontroller_ff_btn_pressed_cb, pPlayView); + evas_object_smart_callback_add(ff_focus_btn, "unpressed", _vp_minicontroller_ff_btn_unpressed_cb, pPlayView); + evas_object_event_callback_add(ff_focus_btn, EVAS_CALLBACK_DEL, _vp_minicontroller_ff_btn_del_cb, NULL); + + /*-------> close button ------->*/ + edje_object_signal_callback_add(_EDJ(pPlayView->minicontroller_layout), "*", "*", _minicontroller_action_cb, pPlayView); + _vp_minicontroller_update_btn(pPlayView); +// _vp_minicontroller_register_reader(pPlayView); + +} + +static void +_vp_minicontroller_title_set(PlayView *pPlayView) +{ + if (!pPlayView) { + VideoLogError("pPlayView is null"); + return; + } + if (!pPlayView->minicontroller_layout) { + VideoLogError("pPlayView->minicontroller_layout is null"); + return; + } + Evas_Object *label = elm_object_part_content_get(pPlayView->minicontroller_layout, "elm.text"); + + int r = 0; + int g = 0; + int b = 0; + int a = 255; + + //pTitle = vp_play_util_get_title_from_path(pPlayView->szMediaURL); + char *markup_title = elm_entry_utf8_to_markup(vp_play_util_get_title_from_path(pPlayView->szMediaURL)); + //char *markup_artist = elm_entry_utf8_to_markup(current_item->artist); + char *title_format = "%s"; + char *title = NULL; + if ((markup_title == NULL || strlen(markup_title) == 0) ){ + // && (markup_artist == NULL || strlen(markup_artist) == 0)) { + title = NULL; + } else { + title = g_strdup_printf(title_format, 24, r, g, b, a, markup_title); + } + + if (!label) { + label = elm_label_add(pPlayView->minicontroller_layout); + elm_object_style_set(label, "slide_roll"); + + // set the label for the title slide mode + elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_AUTO); + elm_label_wrap_width_set(label, 1); + // set the label text + elm_object_text_set(label, title); + evas_object_show(label); + elm_object_part_content_set(pPlayView->minicontroller_layout, "elm.text", label); + } else { + elm_object_text_set(label, title); + } + + elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_AUTO); + elm_label_slide_go(label); + + VP_FREE(title); + VP_FREE(markup_title); +// SAFE_FREE(markup_artist); + evas_object_show(label); + +} + +void +vp_minicontroller_update(PlayView *pPlayView, bool with_title) +{ + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + if (!pPlayView->win_minicon) { + VideoLogError("pPlayView->win_minicon is NULL"); + return; + } +// MP_CHECK(!ad->is_lcd_off); + + //_vp_minicontroller_update_btn(pPlayView); + VideoLogDebug("Updating thumbnail!!!!!!!!!!!!!!"); + char *thumbnail_path = NULL; + vp_media_contents_get_video_thumbnail_path(pPlayView->szMediaURL, &thumbnail_path); + VideoLogInfo("thumbnail = %s:%s", pPlayView->szMediaURL, thumbnail_path); + elm_image_file_set(pPlayView->minicon_icon, thumbnail_path, NULL); + evas_object_show(pPlayView->minicon_icon); + + if (with_title) { + VideoLogDebug("Updating title!!!!!!!!!!!!!!"); + _vp_minicontroller_title_set(pPlayView); + } + + evas_object_show(pPlayView->minicontroller_layout); +} +/* +int +vp_minicontroller_hide(struct appdata *ad) +{ + DEBUG_TRACE("minicontroller view hide!!\n"); + vp_retvm_if(ad == NULL, -1, "appdata is NULL"); + MP_CHECK_VAL(ad->win_minicon, -1); + + evas_object_hide(ad->win_minicon); + ad->b_minicontroller_show = FALSE; + + vp_ecore_timer_del(ad->minicon_progress_timer); + vp_ecore_timer_del(ad->minicon_button_timer); + + return 0; + +} +*/ +int vp_minicontroller_destroy(PlayView *pPlayView) +{ + VideoLogDebug("minicontroller view destroy!!"); + + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return -1; + } + if (!pPlayView->win_minicon) { + VideoLogError("pPlayView->win_minicon is NULL"); + return -1; + } + /*stop playing before destroy*/ + vp_mm_player_state_t nState = vp_play_normal_view_get_player_state(pPlayView); + if (nState == VP_MM_PLAYER_STATE_PLAYING) { + /*if playing state then on click it should pause and set button for play*/ + elm_object_signal_emit(pPlayView->minicontroller_layout, "set_pause", "c_source"); + vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, CONTROLLER_PAUSE_BUTTON); + } + + if (pPlayView->win_lockmini) { + vp_lockscreenmini_destroy(pPlayView); + } + + if (pPlayView->minicontroller_layout != NULL) { + evas_object_hide(pPlayView->minicontroller_layout); + evas_object_del(pPlayView->minicontroller_layout); + pPlayView->minicontroller_layout = NULL; + pPlayView->b_minicontroller_show = FALSE; + } + if (pPlayView->win_minicon) + { + evas_object_hide(pPlayView->win_minicon); + evas_object_del(pPlayView->win_minicon); + pPlayView->win_minicon = NULL; + } + //VP_EVAS_TIMER_DEL(pPlayView->minicon_progress_timer); + VP_EVAS_TIMER_DEL(pPlayView->minicon_button_timer); + + pPlayView->minicon_visible = false; + + return 0; +} + +void vp_minicontroller_rotate(PlayView *pPlayView, video_play_rotate_t angle) +{ + if (!pPlayView) { + VideoLogError("pPlayView is NULL"); + return; + } + if (!pPlayView->win_minicon) { + VideoLogError("pPlayView->win_minicon is NULL"); + return; + } + if (!pPlayView->minicontroller_layout) { + VideoLogError("pPlayView->minicontroller_layout is NULL"); + return; + } + + int w = 0; + const char *signal = NULL; + bool landscape = _vp_minicontroller_landscape_is(pPlayView, angle); + if (landscape) { + VideoLogError("llllllllllllllllllllllllllllllllllll-====%d",landscape); + signal = "sig_set_landscape_mode"; + w = MINI_CONTROLLER_WIDTH_LANDSCAPE; + landscape = true; + } else { + signal = "sig_set_portrait_mode"; + w = MINI_CONTROLLER_WIDTH; + landscape = false; + } + + elm_object_signal_emit(pPlayView->minicontroller_layout, signal, "c_source"); + + double scale = elm_config_scale_get(); + evas_object_resize(pPlayView->win_minicon, w * scale, MINI_CONTROLLER_HEIGHT * scale); +// _vp_minicontroller_update_layout(pPlayView, landscape); + vp_minicontroller_update(pPlayView, true); +} + +//void +//vp_minicontroller_visible_set(struct appdata *ad, bool visible) +//{ +// DEBUG_TRACE("visible: %d", visible); +// MP_CHECK(ad); +// MP_CHECK(ad->win_minicon); +// MP_CHECK(ad->minicontroller_layout); +// +// ad->minicon_visible = visible; +// _vp_minicontroller_title_set(ad); +// vp_minicontroller_update_control(ad); +// +// if (visible) { +//#ifdef MINICONTROLLER_ENABLE_PROGRESS +// _minicontroller_progress_timer_add(ad); +//#endif +// } else { +// display_state_e lock_state; +// int ret = device_display_get_state(&lock_state); +// if (ret == DEVICE_ERROR_NONE) { +// ERROR_TRACE("[SUCCESSFULL] return value %d", ret); +// } else { +// ERROR_TRACE("[ERROR] Return value is %d", ret); +// } +// +// DEBUG_TRACE("lock_state: %d", lock_state); +// if (lock_state == DISPLAY_STATE_SCREEN_OFF || lock_state == DISPLAY_STATE_SCREEN_DIM) { +// ERROR_TRACE("Timer deleted"); +// vp_ecore_timer_del(ad->minicon_progress_timer); +// } +// } +//} +// +//bool +//vp_minicontroller_visible_get(struct appdata *ad) +//{ +// MP_CHECK_FALSE(ad); +// MP_CHECK_FALSE(ad->win_minicon); +// +// return ad->minicon_visible; +//} +// +//void vp_minicontroller_on_lcd_event(struct appdata *ad, bool lcd_on) +//{ +// DEBUG_TRACE("lcd_on [%d]", lcd_on); +// MP_CHECK(ad); +// MP_CHECK(ad->win_minicon); +// +// if (lcd_on && vp_util_is_now_active_player()) { +// vp_minicontroller_show(ad); +// } +// +// vp_minicontroller_visible_set(ad, lcd_on); +//} +// +//void vp_minicontroller_update_progressbar(struct appdata *ad) +//{ +//#ifdef MINICONTROLLER_ENABLE_PROGRESS +// _vp_minicontroller_update_elapsed_time(ad, false); +//#endif +//} diff --git a/project_def.prop b/project_def.prop index 2a0ed76..5b0d53e 100644 --- a/project_def.prop +++ b/project_def.prop @@ -9,7 +9,7 @@ type = app profile = mobile-3.0 # C Sources -USER_SRCS = playview/src/widget/vp-play-more.c playview/src/core/vp-avrcp.c playview/src/widget/vp-play-button.c src/common/mp-rotate-ctrl.c src/feature/mp-util-move.c src/common/mp-util-preference.c playview/src/feature/vp-subtitle-size.c src/view/mp-video-list-view-normal.c src/common/mp-video-info-ctrl.c src/viewMgr/videos-view-mgr.c playview/src/feature/vp-subtitle-color.c playview/src/core/vp-hollic.c src/view/mp-video-list-view-thumbnail.c src/view/mp-video-list-folder-share-via-view.c common/src/vp-chapter-db.c playview/src/core/vp-image-util.c playview/src/core/vp-multi-path.c playview/src/feature/vp-subtitle-edge.c src/view/mp-video-list-view-folder.c playview/src/widget/vp-play-volume-popup.c src/common/mp-util-media-service.c playview/src/core/vp-media-contents.c playview/src/feature/vp-play-speed.c src/widget/mp-video-list-sort-ctrl.c src/widget/mp-external-ug.c src/widget/mp-footer-toolbar.c playview/src/feature/vp-repeat.c playview/src/feature/vp-subtitle-bg-color.c common/src/vp-preview-db.c playview/src/core/vp-sensor.c src/widget/mp-video-view-popup-ctrl.c src/view/mp-video-list-view-main.c playview/src/core/vp-device.c src/feature/mp-launching-video-displayer.c playview/src/feature/vp-audio-track.c src/view/mp-video-list-view-item-of-folder.c playview/src/feature/vp-subtitle.c playview/src/feature/vp-share.c common/src/vp-thumb-db.c playview/src/feature/vp-detail.c src/view/mp-video-list-personal-view.c playview/src/feature/vp-capture.c playview/src/core/vp-media-key.c src/common/mp-util.c playview/src/widget/vp-play-loading-ani.c src/common/mp-drm-ctrl.c playview/src/widget/vp-play-progressbar.c src/video-player.c src/view/mp-video-list-share-via-view.c src/common/mp-util-config.c playview/src/view/vp-play-normal-view.c src/view/mp-video-list-remove-view.c src/widget/mp-util-widget-ctrl.c playview/src/widget/vp-play-subtitle.c common/src/vp-util.c src/view/mp-video-list-view-select.c playview/src/feature/vp-setting.c core/src/vp-drm.c video-downloader/src/VppDownload.c src/view/mp-video-list-personal-ctrl.c src/widget/mp-video-list-option-ctrl.c src/common/mp-video-sound-manager.c playview/src/common/vp-play-util.c playview/src/widget/vp-play-popup.c playview/src/common/vp-play-ug.c playview/src/vp-play-view.c common/src/vp-file-util.c playview/src/feature/vp-sound-path.c playview/src/common/vp-play-preference.c common/src/vp-pinch-zoom.c src/view/mp-video-list-remove-ctrl.c src/view/mp-library-view-mgr.c common/src/vp-media-content-util.c common/src/vp-db-util.c playview/src/widget/vp-play-bookmark.c playview/src/feature/vp-subtitle-select.c playview/src/widget/vp-play-volume.c src/view/mp-video-detail-view.c playview/src/feature/vp-zoom-guide.c src/view/mp-video-search-view.c playview/src/feature/vp-subtitle-font.c feature/src/vp-thumb-gen.c src/common/mp-video-util-db-controller.c playview/src/core/vp-mm-player.c feature/src/vp-feature-util.c playview/src/feature/vp-subtitle-track.c src/widget/mp-video-rename-ctrl.c playview/src/core/vp-device-language.c playview/src/core/vp-sound.c playview/src/feature/vp-subtitle-alignment.c src/widget/mp-video-list-view-as-ctrl.c playview/src/widget/vp-play-brightness-popup.c playview/src/feature/vp-sound-alive.c playview/src/common/vp-play-config.c src/view/mp-video-list-view-common.c playview/src/feature/vp-subtitle-sync.c src/widget/mp-video-nocontent-layout.c src/widget/mp-video-list-auto-play-ctrl.c +USER_SRCS = playview/src/widget/vp-play-more.c playview/src/core/vp-avrcp.c playview/src/widget/vp-play-button.c src/common/mp-rotate-ctrl.c src/feature/mp-util-move.c src/common/mp-util-preference.c playview/src/feature/vp-subtitle-size.c src/view/mp-video-list-view-normal.c src/common/mp-video-info-ctrl.c src/viewMgr/videos-view-mgr.c playview/src/feature/vp-subtitle-color.c playview/src/core/vp-hollic.c src/view/mp-video-list-view-thumbnail.c src/view/mp-video-list-folder-share-via-view.c common/src/vp-chapter-db.c playview/src/core/vp-image-util.c playview/src/core/vp-multi-path.c playview/src/feature/vp-subtitle-edge.c src/view/mp-video-list-view-folder.c playview/src/widget/vp-play-volume-popup.c src/common/mp-util-media-service.c playview/src/core/vp-media-contents.c playview/src/feature/vp-play-speed.c src/widget/mp-video-list-sort-ctrl.c src/widget/mp-external-ug.c src/widget/mp-footer-toolbar.c playview/src/feature/vp-repeat.c playview/src/feature/vp-subtitle-bg-color.c common/src/vp-preview-db.c playview/src/core/vp-sensor.c src/widget/mp-video-view-popup-ctrl.c src/view/mp-video-list-view-main.c playview/src/core/vp-device.c src/feature/mp-launching-video-displayer.c playview/src/feature/vp-audio-track.c src/view/mp-video-list-view-item-of-folder.c playview/src/feature/vp-subtitle.c playview/src/feature/vp-share.c common/src/vp-thumb-db.c playview/src/feature/vp-detail.c src/view/mp-video-list-personal-view.c playview/src/feature/vp-capture.c playview/src/core/vp-media-key.c src/common/mp-util.c playview/src/widget/vp-play-loading-ani.c src/common/mp-drm-ctrl.c playview/src/widget/vp-play-progressbar.c src/video-player.c src/view/mp-video-list-share-via-view.c src/common/mp-util-config.c playview/src/view/vp-play-normal-view.c src/view/mp-video-list-remove-view.c src/widget/mp-util-widget-ctrl.c playview/src/widget/vp-play-subtitle.c common/src/vp-util.c src/view/mp-video-list-view-select.c playview/src/feature/vp-setting.c core/src/vp-drm.c video-downloader/src/VppDownload.c src/view/mp-video-list-personal-ctrl.c src/widget/mp-video-list-option-ctrl.c src/common/mp-video-sound-manager.c playview/src/common/vp-play-util.c playview/src/widget/vp-play-popup.c playview/src/common/vp-play-ug.c playview/src/vp-play-view.c common/src/vp-file-util.c playview/src/feature/vp-sound-path.c playview/src/common/vp-play-preference.c common/src/vp-pinch-zoom.c src/view/mp-video-list-remove-ctrl.c src/view/mp-library-view-mgr.c common/src/vp-media-content-util.c common/src/vp-db-util.c playview/src/widget/vp-play-bookmark.c playview/src/feature/vp-subtitle-select.c playview/src/widget/vp-play-volume.c src/view/mp-video-detail-view.c playview/src/feature/vp-zoom-guide.c src/view/mp-video-search-view.c playview/src/feature/vp-subtitle-font.c feature/src/vp-thumb-gen.c src/common/mp-video-util-db-controller.c playview/src/core/vp-mm-player.c feature/src/vp-feature-util.c playview/src/feature/vp-subtitle-track.c src/widget/mp-video-rename-ctrl.c playview/src/core/vp-device-language.c playview/src/core/vp-sound.c playview/src/feature/vp-subtitle-alignment.c src/widget/mp-video-list-view-as-ctrl.c playview/src/widget/vp-play-brightness-popup.c playview/src/feature/vp-sound-alive.c playview/src/common/vp-play-config.c src/view/mp-video-list-view-common.c playview/src/feature/vp-subtitle-sync.c src/widget/mp-video-nocontent-layout.c src/widget/mp-video-list-auto-play-ctrl.c playview/src/widget/vp-play-minicontroller.c playview/src/widget/vp-play-lockscreenmc.c # EDC Sources USER_EDCS = @@ -59,7 +59,7 @@ USER_EDCS_FONT_DIRS_ABS = # EDC Flags USER_EXT_EDC_KEYS = EDC0 -USER_EXT_EDC0_EDCS = res/edje/vp-custom-winset-style.edc playview/res/edje/pv-brightness-popup.edc playview/res/edje/pv-normal-top-control.edc res/edje/vp-main-listview-internal.edc playview/res/edje/pv-speed-popup.edc res/edje/vp-remove-list-internal.edc res/edje/vp-ctxpopup-option.edc res/edje/vp-device-list-internal.edc res/edje/vp-search-view-internal.edc playview/res/edje/pv-chapter-main-new.edc res/edje/vp-thumbnail-view.edc playview/res/edje/pv-trim-control.edc playview/res/edje/pv-volume.edc playview/res/edje/pv-progressbar.edc res/edje/vp-images.edc playview/res/edje/pv-normal-control.edc playview/res/edje/pv-tag-buddy.edc playview/res/edje/pv-gesture.edc playview/res/edje/pv-volume-popup.edc playview/res/edje/pv-multi-main.edc playview/res/edje/pv-minicontroller.edc playview/res/edje/pv-zoom-guide.edc res/edje/landscape_thumbnail.edc playview/res/edje/pv-subtitle-color-popup.edc playview/res/edje/pv-popup.edc res/shared/res/video.edc res/edje/panel.edc playview/res/edje/pv-sensor-popup.edc playview/res/edje/pv-bookmark-item.edc res/edje/vp-main-layout.edc playview/res/edje/pv-subtitle.edc res/edje/vp-motion-popup.edc res/edje/popup_progressbar.edc playview/res/edje/pv-custom-winset.edc res/edje/vp-main-listview-preview.edc res/edje/vp-naviframe.edc playview/res/edje/pv-resource.edc playview/res/edje/pv-bookmark.edc playview/res/edje/pv-trim-item.edc playview/res/edje/pv-normal-function.edc res/edje/vp-speedbox-popup.edc playview/res/edje/pv-trim-top-control.edc playview/res/edje/pv-normal-main.edc playview/res/edje/pv-tag-preview.edc playview/res/edje/pv-trim-main.edc res/edje/vp-genlist-no-item.edc playview/res/edje/pv-colorselector.edc +USER_EXT_EDC0_EDCS = res/edje/vp-custom-winset-style.edc playview/res/edje/pv-brightness-popup.edc playview/res/edje/pv-normal-top-control.edc res/edje/vp-main-listview-internal.edc playview/res/edje/pv-speed-popup.edc res/edje/vp-remove-list-internal.edc res/edje/vp-ctxpopup-option.edc res/edje/vp-device-list-internal.edc res/edje/vp-search-view-internal.edc playview/res/edje/pv-chapter-main-new.edc res/edje/vp-thumbnail-view.edc playview/res/edje/pv-trim-control.edc playview/res/edje/pv-volume.edc playview/res/edje/pv-progressbar.edc res/edje/vp-images.edc playview/res/edje/pv-normal-control.edc playview/res/edje/pv-tag-buddy.edc playview/res/edje/pv-gesture.edc playview/res/edje/pv-volume-popup.edc playview/res/edje/pv-multi-main.edc playview/res/edje/pv-minicontroller.edc playview/res/edje/pv-zoom-guide.edc res/edje/landscape_thumbnail.edc playview/res/edje/pv-subtitle-color-popup.edc playview/res/edje/pv-popup.edc res/shared/res/video.edc res/edje/panel.edc playview/res/edje/pv-sensor-popup.edc playview/res/edje/pv-bookmark-item.edc res/edje/vp-main-layout.edc playview/res/edje/pv-subtitle.edc res/edje/vp-motion-popup.edc res/edje/popup_progressbar.edc playview/res/edje/pv-custom-winset.edc res/edje/vp-main-listview-preview.edc res/edje/vp-naviframe.edc playview/res/edje/pv-resource.edc playview/res/edje/pv-bookmark.edc playview/res/edje/pv-trim-item.edc playview/res/edje/pv-normal-function.edc res/edje/vp-speedbox-popup.edc playview/res/edje/pv-trim-top-control.edc playview/res/edje/pv-normal-main.edc playview/res/edje/pv-tag-preview.edc playview/res/edje/pv-trim-main.edc res/edje/vp-genlist-no-item.edc playview/res/edje/pv-colorselector.edc playview/res/edje/pv-lockscreenmini.edc USER_EXT_EDC0_EDCS_IMAGE_DIRS = edje/images playview/res/edje/images res/images USER_EXT_EDC0_EDCS_IMAGE_DIRS_ABS = USER_EXT_EDC0_EDCS_SOUND_DIRS = edje/sounds res/edje diff --git a/vp-main/project_def.prop b/vp-main/project_def.prop index 87fa6b7..d0a1832 100644 --- a/vp-main/project_def.prop +++ b/vp-main/project_def.prop @@ -9,7 +9,7 @@ type = app profile = mobile-3.0 # C Sources -USER_SRCS = src/serviceParser/vp-service-parser.c src/vp-main.c ../playview/src/core/vp-media-key.c ../src/view/mp-library-view-mgr.c ../playview/src/feature/vp-subtitle-size.c ../playview/src/feature/vp-share.c ../common/src/vp-pinch-zoom.c ../src/view/mp-video-list-remove-ctrl.c ../playview/src/feature/vp-audio-track.c ../playview/src/widget/vp-play-brightness-popup.c ../src/widget/mp-video-view-popup-ctrl.c ../playview/src/core/vp-image-util.c ../src/widget/mp-external-ug.c ../src/view/mp-video-list-view-common.c ../playview/src/core/vp-multi-path.c ../src/feature/mp-launching-video-displayer.c ../src/view/mp-video-list-view-thumbnail.c ../playview/src/common/vp-play-config.c ../src/view/mp-video-list-personal-view.c ../src/view/mp-video-detail-view.c ../playview/src/feature/vp-sound-alive.c ../src/view/mp-video-list-view-folder.c ../playview/src/vp-play-view.c ../src/view/mp-video-list-view-item-of-folder.c ../playview/src/feature/vp-subtitle-sync.c ../playview/src/feature/vp-sound-path.c ../common/src/vp-media-content-util.c ../playview/src/common/vp-play-preference.c ../playview/src/widget/vp-play-volume-popup.c ../playview/src/core/vp-media-contents.c ../common/src/vp-db-util.c ../src/widget/mp-video-list-option-ctrl.c ../playview/src/feature/vp-repeat.c ../playview/src/core/vp-avrcp.c ../playview/src/feature/vp-subtitle-alignment.c ../src/common/mp-video-sound-manager.c ../playview/src/widget/vp-play-subtitle.c ../common/src/vp-util.c ../src/widget/mp-video-list-sort-ctrl.c ../src/view/mp-video-list-personal-ctrl.c ../common/src/vp-file-util.c ../playview/src/feature/vp-subtitle-bg-color.c ../src/common/mp-util-media-service.c ../playview/src/widget/vp-play-bookmark.c ../playview/src/feature/vp-subtitle-select.c ../src/widget/mp-util-widget-ctrl.c ../playview/src/feature/vp-subtitle-font.c ../common/src/vp-chapter-db.c ../src/view/mp-video-list-view-normal.c ../src/common/mp-util-config.c ../playview/src/common/vp-play-util.c ../playview/src/widget/vp-play-popup.c ../src/common/mp-rotate-ctrl.c ../src/common/mp-util-preference.c ../playview/src/feature/vp-detail.c ../playview/src/widget/vp-play-progressbar.c ../playview/src/feature/vp-subtitle-edge.c ../src/widget/mp-video-nocontent-layout.c ../src/view/mp-video-list-share-via-view.c ../src/viewMgr/videos-view-mgr.c ../src/widget/mp-footer-toolbar.c ../playview/src/core/vp-sound.c ../playview/src/common/vp-play-ug.c ../playview/src/core/vp-device-language.c ../playview/src/feature/vp-play-speed.c ../src/view/mp-video-list-folder-share-via-view.c ../playview/src/feature/vp-subtitle-track.c ../playview/src/feature/vp-subtitle-color.c ../playview/src/core/vp-hollic.c ../src/view/mp-video-list-view-select.c ../playview/src/core/vp-mm-player.c ../src/view/mp-video-list-remove-view.c ../playview/src/widget/vp-play-volume.c ../playview/src/widget/vp-play-loading-ani.c ../playview/src/view/vp-play-normal-view.c ../playview/src/core/vp-device.c ../src/view/mp-video-list-view-main.c ../playview/src/widget/vp-play-button.c ../playview/src/widget/vp-play-more.c ../src/widget/mp-video-rename-ctrl.c ../common/src/vp-preview-db.c ../src/widget/mp-video-list-view-as-ctrl.c ../src/widget/mp-video-list-auto-play-ctrl.c ../src/feature/mp-util-move.c ../src/view/mp-video-search-view.c ../playview/src/feature/vp-capture.c ../src/common/mp-drm-ctrl.c ../src/common/mp-video-info-ctrl.c ../playview/src/feature/vp-subtitle.c ../src/common/mp-video-util-db-controller.c ../common/src/vp-thumb-db.c ../src/common/mp-util.c ../playview/src/core/vp-sensor.c ../playview/src/feature/vp-zoom-guide.c ../playview/src/feature/vp-setting.c +USER_SRCS = src/serviceParser/vp-service-parser.c src/vp-main.c ../playview/src/core/vp-media-key.c ../src/view/mp-library-view-mgr.c ../playview/src/feature/vp-subtitle-size.c ../playview/src/feature/vp-share.c ../common/src/vp-pinch-zoom.c ../src/view/mp-video-list-remove-ctrl.c ../playview/src/feature/vp-audio-track.c ../playview/src/widget/vp-play-brightness-popup.c ../src/widget/mp-video-view-popup-ctrl.c ../playview/src/core/vp-image-util.c ../src/widget/mp-external-ug.c ../src/view/mp-video-list-view-common.c ../playview/src/core/vp-multi-path.c ../src/feature/mp-launching-video-displayer.c ../src/view/mp-video-list-view-thumbnail.c ../playview/src/common/vp-play-config.c ../src/view/mp-video-list-personal-view.c ../src/view/mp-video-detail-view.c ../playview/src/feature/vp-sound-alive.c ../src/view/mp-video-list-view-folder.c ../playview/src/vp-play-view.c ../src/view/mp-video-list-view-item-of-folder.c ../playview/src/feature/vp-subtitle-sync.c ../playview/src/feature/vp-sound-path.c ../common/src/vp-media-content-util.c ../playview/src/common/vp-play-preference.c ../playview/src/widget/vp-play-volume-popup.c ../playview/src/core/vp-media-contents.c ../common/src/vp-db-util.c ../src/widget/mp-video-list-option-ctrl.c ../playview/src/feature/vp-repeat.c ../playview/src/core/vp-avrcp.c ../playview/src/feature/vp-subtitle-alignment.c ../src/common/mp-video-sound-manager.c ../playview/src/widget/vp-play-subtitle.c ../common/src/vp-util.c ../src/widget/mp-video-list-sort-ctrl.c ../src/view/mp-video-list-personal-ctrl.c ../common/src/vp-file-util.c ../playview/src/feature/vp-subtitle-bg-color.c ../src/common/mp-util-media-service.c ../playview/src/widget/vp-play-bookmark.c ../playview/src/feature/vp-subtitle-select.c ../src/widget/mp-util-widget-ctrl.c ../playview/src/feature/vp-subtitle-font.c ../common/src/vp-chapter-db.c ../src/view/mp-video-list-view-normal.c ../src/common/mp-util-config.c ../playview/src/common/vp-play-util.c ../playview/src/widget/vp-play-minicontroller.c ../playview/src/widget/vp-play-lockscreenmc.c ../playview/src/widget/vp-play-popup.c ../src/common/mp-rotate-ctrl.c ../src/common/mp-util-preference.c ../playview/src/feature/vp-detail.c ../playview/src/widget/vp-play-progressbar.c ../playview/src/feature/vp-subtitle-edge.c ../src/widget/mp-video-nocontent-layout.c ../src/view/mp-video-list-share-via-view.c ../src/viewMgr/videos-view-mgr.c ../src/widget/mp-footer-toolbar.c ../playview/src/core/vp-sound.c ../playview/src/common/vp-play-ug.c ../playview/src/core/vp-device-language.c ../playview/src/feature/vp-play-speed.c ../src/view/mp-video-list-folder-share-via-view.c ../playview/src/feature/vp-subtitle-track.c ../playview/src/feature/vp-subtitle-color.c ../playview/src/core/vp-hollic.c ../src/view/mp-video-list-view-select.c ../playview/src/core/vp-mm-player.c ../src/view/mp-video-list-remove-view.c ../playview/src/widget/vp-play-volume.c ../playview/src/widget/vp-play-loading-ani.c ../playview/src/view/vp-play-normal-view.c ../playview/src/core/vp-device.c ../src/view/mp-video-list-view-main.c ../playview/src/widget/vp-play-button.c ../playview/src/widget/vp-play-more.c ../src/widget/mp-video-rename-ctrl.c ../common/src/vp-preview-db.c ../src/widget/mp-video-list-view-as-ctrl.c ../src/widget/mp-video-list-auto-play-ctrl.c ../src/feature/mp-util-move.c ../src/view/mp-video-search-view.c ../playview/src/feature/vp-capture.c ../src/common/mp-drm-ctrl.c ../src/common/mp-video-info-ctrl.c ../playview/src/feature/vp-subtitle.c ../src/common/mp-video-util-db-controller.c ../common/src/vp-thumb-db.c ../src/common/mp-util.c ../playview/src/core/vp-sensor.c ../playview/src/feature/vp-zoom-guide.c ../playview/src/feature/vp-setting.c # EDC Sources USER_EDCS = @@ -59,7 +59,7 @@ USER_EDCS_FONT_DIRS_ABS = # EDC Flags USER_EXT_EDC_KEYS = EDC0 -USER_EXT_EDC0_EDCS = res/edje/pv-trim-control.edc res/edje/pv-custom-winset.edc res/edje/custom/pv-custom-image.edc res/edje/pv-sensor-popup.edc res/edje/custom/pv-custom-define.edc res/edje/pv-bookmark-item.edc res/edje/pv-normal-control.edc res/edje/pv-normal-top-control.edc res/edje/pv-tag-buddy.edc res/edje/pv-volume.edc res/edje/pv-progressbar.edc res/edje/pv-macro.edc res/edje/pv-multi-main.edc res/edje/pv-trim-main.edc res/edje/pv-colorselector.edc res/edje/pv-minicontroller.edc res/edje/pv-brightness-popup.edc res/edje/pv-speed-popup.edc res/edje/pv-tag-preview.edc res/edje/pv-zoom-guide.edc res/edje/pv-normal-main.edc res/edje/pv-popup.edc res/edje/pv-gesture.edc res/edje/pv-trim-top-control.edc res/edje/pv-subtitle.edc res/edje/pv-subtitle-color-popup.edc res/edje/pv-volume-popup.edc res/edje/pv-image.edc res/edje/pv-resource.edc res/edje/pv-normal-function.edc res/edje/pv-chapter-main-new.edc res/edje/pv-trim-item.edc res/edje/pv-bookmark.edc +USER_EXT_EDC0_EDCS = res/edje/pv-trim-control.edc res/edje/pv-custom-winset.edc res/edje/custom/pv-custom-image.edc res/edje/pv-sensor-popup.edc res/edje/custom/pv-custom-define.edc res/edje/pv-bookmark-item.edc res/edje/pv-normal-control.edc res/edje/pv-normal-top-control.edc res/edje/pv-tag-buddy.edc res/edje/pv-volume.edc res/edje/pv-progressbar.edc res/edje/pv-macro.edc res/edje/pv-multi-main.edc res/edje/pv-trim-main.edc res/edje/pv-colorselector.edc res/edje/pv-lockscreenmini.edc res/edje/pv-minicontroller.edc res/edje/pv-brightness-popup.edc res/edje/pv-speed-popup.edc res/edje/pv-tag-preview.edc res/edje/pv-zoom-guide.edc res/edje/pv-normal-main.edc res/edje/pv-popup.edc res/edje/pv-gesture.edc res/edje/pv-trim-top-control.edc res/edje/pv-subtitle.edc res/edje/pv-subtitle-color-popup.edc res/edje/pv-volume-popup.edc res/edje/pv-image.edc res/edje/pv-resource.edc res/edje/pv-normal-function.edc res/edje/pv-chapter-main-new.edc res/edje/pv-trim-item.edc res/edje/pv-bookmark.edc USER_EXT_EDC0_EDCS_IMAGE_DIRS = edje/images USER_EXT_EDC0_EDCS_IMAGE_DIRS_ABS = $(workspace_loc)/playview/res/edje/images USER_EXT_EDC0_EDCS_SOUND_DIRS = edje/sounds