X-AIOS-LT00-V1.0.4/sdk/X-AIOS-LT00/core/apps/gallery/gallery.c
2026-01-19 17:23:53 +08:00

287 lines
7.4 KiB
C

#include "gallery.h"
#include "list/fileexplorer.h"
#include "list/fileexplorerframe.h"
#include "grid/gridmedia.h"
#ifdef CONFIG_XOS_USE_APP_MOTOX7IN
#include "slide/videoplayer/videoplayer.h"
#else
#include "videoplayer/videoplayer.h"
#endif
#include "imageviewer/imageviewer.h"
#include "mediaPlayer/mediaPlayer.h"
#ifdef CONFIG_XOS_FWK_APPMANAGER
#include "appcommon.h"
#include "appmanager.h"
#endif
#if CONFIG_XOS_FWK_APPMANAGER
// gallery
#if XOS_USE_APP_GRIDMEDIA
static app_data_ptr los_gallery_init(void *start_data)
{
los_gridmedia_entry(start_data);
return NULL;
}
#endif
// file explorer
static app_data_ptr los_fileexplorer_init(void *start_data)
{
los_fileexplorer_entry(start_data);
return NULL;
}
static void los_fileexplorer_sleep(void)
{
los_fileexplorer_sleep_or_wakeup(1);
}
static void los_fileexplorer_wakeup(void)
{
los_fileexplorer_sleep_or_wakeup(0);
}
static void los_fileexplorer_message(int msg, msg_param param)
{
los_fileexplorer_on_message(msg, param);
}
// gallery_new
#ifdef CONFIG_XOS_USE_APP_GALLERY
static app_data_ptr los_app_gallery_init(void *start_data)
{
los_gallery_app_entry(start_data);
return NULL;
}
static void los_app_gallery_sleep(void)
{
los_gallery_app_sleep_or_wakeup(1);
}
static void los_app_gallery_wakeup(void)
{
los_gallery_app_sleep_or_wakeup(0);
}
static void los_app_gallery_message(int msg, msg_param param)
{
los_gallery_app_on_message(msg, param);
}
static void los_app_gallery_destory(app_data_ptr data)
{
los_gallery_app_quit();
}
#endif
// file explorer frame
#ifdef CONFIG_XOS_USE_APP_FRAMEO
static app_data_ptr xos_fileexplorerframe_init(void *start_data)
{
los_fileexplorerframe_entry(start_data);
return NULL;
}
static void los_fileexplorerframe_sleep(void)
{
los_fileexplorerframe_sleep_or_wakeup(1);
}
static void los_fileexplorerframe_wakeup(void)
{
los_fileexplorerframe_sleep_or_wakeup(0);
}
static void los_fileexplorerframe_message(int msg, msg_param param)
{
los_fileexplorerframe_on_message(msg, param);
}
#endif
// video
static app_data_ptr los_videoplayer_init(void *start_data)
{
los_videoplayer_entry(start_data, NULL);
return NULL;
}
#ifdef CONFIG_XOS_USE_APP_FRAMEO
static void los_videoplayer_wakeup(void)
{
los_videoplayer_sleep_or_wakeup(0);
}
static void los_videoplayer_sleep(void)
{
los_videoplayer_sleep_or_wakeup(1);
}
#endif
static void los_videoplayer_destory(app_data_ptr data)
{
los_videoplayer_quit();
}
// imageviewer
static app_data_ptr los_imageviewer_init(void *start_data)
{
los_imageviewer_entry(start_data);
return NULL;
}
#if CONFIG_XOS_APP_MEDIA_PLAYER
static app_data_ptr xos_mediaplayer_init(void *start_data)
{
xos_mediaplayer_entry(start_data);
return NULL;
}
static void xos_mediaplayer_destory(app_data_ptr data)
{
xos_mediaplayer_quit();
return NULL;
}
static void xos_mediaplayer_sleep(void)
{
xos_meidiaplayer_sleep_or_wakeup(1);
}
static void xos_mediaplayer_wakeup(void)
{
xos_meidiaplayer_sleep_or_wakeup(0);
}
static void xos_mediaplayer_message(int msg, msg_param param)
{
xos_meidiaplayer_on_message(msg, param);
}
#endif
#ifdef CONFIG_XOS_USE_APP_FRAMEO
static void los_imageviewer_wakeup(void)
{
los_imageviewer_sleep_or_wakeup(0);
}
static void los_imageviewer_sleep(void)
{
los_imageviewer_sleep_or_wakeup(1);
}
#endif
static void los_imageviewer_destory(app_data_ptr data)
{
los_imageviewer_quit();
}
// file explorer frame
#ifdef CONFIG_XOS_USE_APP_FRAMEO
static app_data_ptr los_addfriendframe_init(void *start_data)
{
xos_addfriendframe_entry(start_data);
return NULL;
}
static void los_addfriendframe_destory(app_data_ptr data)
{
xos_addfriendframe_quit();
}
#endif
void gallery_init(void)
{
#if XOS_USE_APP_GRIDMEDIA
qua_app_ops *ops = malloc(sizeof(qua_app_ops));
if (ops)
{
memset(ops, 0x0, sizeof(qua_app_ops));
ops->on_create = los_gallery_init;
app_manager_register("gallery", ops);
free(ops);
}
#endif
#ifdef CONFIG_XOS_USE_APP_GALLERY
qua_app_ops *ops_app_gallery = malloc(sizeof(qua_app_ops));
if (ops_app_gallery)
{
memset(ops_app_gallery, 0x0, sizeof(qua_app_ops));
ops_app_gallery->on_create = los_app_gallery_init;
ops_app_gallery->on_sleep = los_app_gallery_sleep;
ops_app_gallery->on_wakeup = los_app_gallery_wakeup;
ops_app_gallery->on_message = los_app_gallery_message;
ops_app_gallery->on_destory = los_app_gallery_destory;
app_manager_register("chart_gallery", ops_app_gallery);
free(ops_app_gallery);
}
#endif
qua_app_ops *ops_fe = malloc(sizeof(qua_app_ops));
if (ops_fe)
{
memset(ops_fe, 0x0, sizeof(qua_app_ops));
ops_fe->on_create = los_fileexplorer_init;
ops_fe->on_sleep = los_fileexplorer_sleep;
ops_fe->on_wakeup = los_fileexplorer_wakeup;
ops_fe->on_message = los_fileexplorer_message;
app_manager_register("fileexplorer", ops_fe);
free(ops_fe);
}
#ifdef CONFIG_XOS_USE_APP_FRAMEO
qua_app_ops *ops_fef = malloc(sizeof(qua_app_ops));
if (ops_fef)
{
memset(ops_fef, 0x0, sizeof(qua_app_ops));
ops_fef->on_create = xos_fileexplorerframe_init;
ops_fef->on_sleep = los_fileexplorerframe_sleep;
ops_fef->on_wakeup = los_fileexplorerframe_wakeup;
ops_fef->on_message = los_fileexplorerframe_message;
app_manager_register("fileexplorerframe", ops_fef);
free(ops_fef);
}
qua_app_ops *ops_af = malloc(sizeof(qua_app_ops));
if (ops_af)
{
memset(ops_af, 0x0, sizeof(qua_app_ops));
ops_af->on_create = los_addfriendframe_init;
ops_af->on_destory = los_addfriendframe_destory;
app_manager_register("addfriendframe", ops_af);
free(ops_af);
}
#endif
qua_app_ops *ops_vp = malloc(sizeof(qua_app_ops));
if (ops_vp)
{
memset(ops_vp, 0x0, sizeof(qua_app_ops));
ops_vp->on_create = los_videoplayer_init;
ops_vp->on_destory = los_videoplayer_destory;
#ifdef CONFIG_XOS_USE_APP_FRAMEO
ops_vp->on_sleep = los_videoplayer_sleep;
ops_vp->on_wakeup = los_videoplayer_wakeup;
#endif
app_manager_register("videoplayer", ops_vp);
free(ops_vp);
}
qua_app_ops *ops_imageviewer = malloc(sizeof(qua_app_ops));
if (ops_imageviewer)
{
memset(ops_imageviewer, 0x0, sizeof(qua_app_ops));
ops_imageviewer->on_create = los_imageviewer_init;
ops_imageviewer->on_destory = los_imageviewer_destory;
#ifdef CONFIG_XOS_USE_APP_FRAMEO
ops_imageviewer->on_sleep = los_imageviewer_sleep;
ops_imageviewer->on_wakeup = los_imageviewer_wakeup;
#endif
app_manager_register("imageviewer", ops_imageviewer);
free(ops_imageviewer);
}
#if CONFIG_XOS_APP_MEDIA_PLAYER
qua_app_ops *ops_mediaplayer = malloc(sizeof(qua_app_ops));
if (ops_mediaplayer)
{
memset(ops_mediaplayer, 0x0, sizeof(qua_app_ops));
ops_mediaplayer->on_create = xos_mediaplayer_init;
ops_mediaplayer->on_destory = xos_mediaplayer_destory;
ops_mediaplayer->on_sleep = xos_mediaplayer_sleep;
ops_mediaplayer->on_wakeup = xos_mediaplayer_wakeup;
ops_mediaplayer->on_message = xos_mediaplayer_message;
app_manager_register("mediaplayer", ops_mediaplayer);
free(ops_mediaplayer);
}
#endif
#if CONFIG_XOS_FWK_WIFISRV
wifi_manager_init();
#endif
}
#endif