#include <pthread.h>
#include <app.h>
#include <efl_extension.h>
-
+#include <storage.h>
#include "gl-data.h"
#include "gl-util.h"
#define GL_ERROR_BUF_LEN 1024
/* File system related String definition */
-#define GL_ROOT_PATH_PHONE "/opt/usr/media"
-#define GL_ROOT_PATH_MMC "/opt/storage/sdcard"
-#define GL_DEFAULT_PATH_IMAGES GL_ROOT_PATH_PHONE"/Pictures" // refer to s4
-#define GL_DEFAULT_PATH_PICTURES GL_ROOT_PATH_PHONE"/Images"
-#define GL_DOWNLOADS_PATH GL_ROOT_PATH_PHONE"/Downloads"
#define GL_DATA_FOLDER_PATH "/opt/usr/apps/"PKGNAME_GALLERY"/data"
#define GL_NAVIFRAME_OBJ_DATA_KEY "gl_naviframe_data_key"
#include "gl-data.h"
#include "gallery.h"
+#include <storage.h>
/* File system related String definition */
int _gl_dlopen_imageviewer(void *data);
int _gl_dlclose_imageviewer(void *data);
char *_gl_get_edje_path(void);
+char *_gl_get_directory_path(int storage_directory_type);
+char *_gl_get_root_directory_path(int storage_type);
#ifdef __cplusplus
}
}
return -1;
}
+ char *default_images_path = _gl_get_directory_path(STORAGE_DIRECTORY_IMAGES);
+ GL_CHECK_VAL(default_images_path, -1);
gl_sdbg("Valid album name: %s", name);
/* Check whether the new folder exist */
char new_path[GL_DIR_PATH_LEN_MAX] = { 0, };
/* Make dir full new_path of new album */
- snprintf(new_path, GL_DIR_PATH_LEN_MAX, "%s/%s", GL_DEFAULT_PATH_IMAGES,
+ snprintf(new_path, GL_DIR_PATH_LEN_MAX, "%s/%s", default_images_path,
name);
gl_sdbg("New dir new_path: %s", new_path);
#ifdef _RENAME_ALBUM_SENSITIVE
{
memset(new_path, 0x00, GL_DIR_PATH_LEN_MAX);
snprintf(new_path, GL_DIR_PATH_LEN_MAX, "%s/%s",
- GL_DEFAULT_PATH_IMAGES, name);
+ default_images_path, name);
gl_sdbg("New dir new_path: %s", new_path);
int res = gl_file_dir_is_empty(new_path);
/**
gl_dbgW("New folder already exists!");
_gl_popup_create_local(data, GL_POPUP_NOBUT,
GL_STR_ID_SAME_NAME_ALREADY_IN_USE);
+ GL_FREE(default_images_path);
return -1;
}
}
+ GL_FREE(default_images_path);
/* Save new album name */
char *new_album = ad->albuminfo.new_name;
char parent[GL_DIR_PATH_LEN_MAX] = { 0, };
if (b_root_path) {
+ char *default_images_path = _gl_get_directory_path(STORAGE_DIRECTORY_IMAGES);
+ GL_CHECK_VAL(default_images_path, -1);
snprintf(new_path, GL_DIR_PATH_LEN_MAX, "%s/%s",
- GL_DEFAULT_PATH_IMAGES, name);
- g_strlcpy(parent, GL_DEFAULT_PATH_IMAGES, GL_DIR_PATH_LEN_MAX);
+ default_images_path, name);
+ g_strlcpy(parent, default_images_path, GL_DIR_PATH_LEN_MAX);
+ GL_FREE(default_images_path);
} else {
g_strlcpy(new_path, old_path, GL_DIR_PATH_LEN_MAX);
g_strlcpy(parent, old_path, GL_DIR_PATH_LEN_MAX);
gl_dbgE("Failed to make a new directory!");
goto GL_FAILED;
}
+ char *default_images_path = _gl_get_directory_path(STORAGE_DIRECTORY_IMAGES);
+ if (!default_images_path) {
+ goto GL_FAILED;
+ }
snprintf(folder_fullpath, GL_DIR_PATH_LEN_MAX, "%s/%s",
- GL_DEFAULT_PATH_IMAGES, ad->albuminfo.new_name);
+ default_images_path, ad->albuminfo.new_name);
+ GL_FREE(default_images_path);
} else {
g_strlcpy(folder_fullpath, ad->albuminfo.path,
GL_DIR_PATH_LEN_MAX);
#include "gl-db-update.h"
#include "gl-file-util.h"
#include "gl-data-util.h"
+#include "gl-util.h"
static int __gl_data_append_gitems(void *data, Eina_List *elist, int store_type,
Eina_List **p_elist)
*/
if (default_album) {
/* album 'Camera' is in phone, set it before MMC album 'Camera' */
- if (_gl_data_check_root_type(f_data->path, GL_ROOT_PATH_PHONE)) {
+ char *phone_root_path = _gl_get_root_directory_path(STORAGE_TYPE_INTERNAL);
+ if (phone_root_path && _gl_data_check_root_type(f_data->path, phone_root_path)) {
ad->albuminfo.elist->clist = eina_list_prepend(ad->albuminfo.elist->clist,
gcluster);
} else {
default_album);
default_album = gcluster;
}
+ GL_FREEIF(phone_root_path);
} else {
default_album = gcluster;
ad->albuminfo.elist->clist = eina_list_prepend(ad->albuminfo.elist->clist,
gl_sdbg("Parent path: %s.", parent_path);
/* And parent folder is Phone root path, it's default folder */
- return (!g_strcmp0(parent_path, GL_ROOT_PATH_PHONE));
+ char *phone_root_path = _gl_get_root_directory_path(STORAGE_TYPE_INTERNAL);
+ if (phone_root_path && !g_strcmp0(parent_path, phone_root_path)) {
+ GL_FREE(phone_root_path);
+ return true;
+ }
+ GL_FREEIF(phone_root_path);
}
return false;
_gl_data_util_get_file_dir_name(album->path, NULL, NULL,
parent_path);
/* And parent folder is Phone Image path, it's default folder */
- return (!g_strcmp0(parent_path, GL_DEFAULT_PATH_PICTURES));
+ char *default_picture_path = _gl_get_directory_path(STORAGE_DIRECTORY_IMAGES);
+ if (default_picture_path && !g_strcmp0(parent_path, default_picture_path)) {
+ GL_FREE(default_picture_path);
+ return true;
+ }
+ GL_FREEIF(default_picture_path);
}
return false;
char *parent_path = (char *)calloc(1, GL_DIR_PATH_LEN_MAX);
GL_CHECK_FALSE(parent_path);
- const char *root = NULL;
+ char *root = NULL;
if (album->type == GL_STORE_T_PHONE) {
- root = GL_ROOT_PATH_PHONE;
+ root = _gl_get_root_directory_path(STORAGE_TYPE_INTERNAL);
} else {
- root = GL_ROOT_PATH_MMC;
+ root = _gl_get_root_directory_path(STORAGE_TYPE_EXTERNAL);
}
+ if (!root) {
+ GL_GFREE(parent_path);
+ return false;
+ }
gl_sdbg("Full path: %s", album->path);
_gl_data_util_get_file_dir_name(album->path, NULL, NULL,
parent_path);
bool ret = false;
ret = !g_strcmp0(dcim_path, parent_path);
+ GL_GFREE(root);
GL_GFREE(parent_path);
GL_GFREE(dcim_path);
return ret;
return false;
}
- if (!g_strcmp0(GL_ROOT_PATH_PHONE, path) ||
- !g_strcmp0(GL_ROOT_PATH_MMC, path)) {
+ char *phone_root_path = _gl_get_root_directory_path(STORAGE_TYPE_INTERNAL);
+ char *mmc_root_path = _gl_get_root_directory_path(STORAGE_TYPE_EXTERNAL);
+
+ if ((phone_root_path && !g_strcmp0(phone_root_path, path)) ||
+ (mmc_root_path && !g_strcmp0(mmc_root_path, path))) {
gl_sdbg("Root path: %s", path);
+ GL_FREEIF(phone_root_path);
+ GL_FREEIF(mmc_root_path);
return true;
}
-
+ GL_FREEIF(phone_root_path);
+ GL_FREEIF(mmc_root_path);
return false;
}
/* Set callback */
char *new_name = NULL;
char *full_path = NULL;
- full_path = (char *)_gl_fs_get_unique_new_album_name(GL_DEFAULT_PATH_IMAGES, GL_STR_ID_ALBUM_DEFAULT, &new_name);
+ char *default_images_path = _gl_get_directory_path(STORAGE_DIRECTORY_IMAGES);
+ GL_CHECK_VAL(default_images_path, -1);
+ full_path = (char *)_gl_fs_get_unique_new_album_name(default_images_path, GL_STR_ID_ALBUM_DEFAULT, &new_name);
+ GL_FREE(default_images_path);
__gl_editfield_set_entry(ad, entry_ly, entry, new_name);
elm_entry_select_all(entry);
GL_FREEIF(new_name);
#include "gl-debug.h"
#include "gl-thread-util.h"
#include "gl-file-util.h"
+#include "gl-util.h"
#include <storage.h>
static int __gl_fs_free_node(gl_node_info_s *pnode)
{
int len = 0;
GL_CHECK_VAL(path, -1);
+ char *phone_root_path = _gl_get_root_directory_path(STORAGE_TYPE_INTERNAL);
+ GL_CHECK_VAL(phone_root_path, -1);
len = snprintf(path, GL_DIR_PATH_LEN_MAX, "%s",
- GL_ROOT_PATH_PHONE);
+ phone_root_path);
+ GL_GFREEIF(phone_root_path);
+
if (len < 0) {
gl_dbgE("snprintf returns failure!");
return -1;
len = -1;
}
- len = g_strlcat(path, GL_DEFAULT_PATH_IMAGES,
+ char *default_images_path = _gl_get_directory_path(STORAGE_DIRECTORY_IMAGES);
+ GL_CHECK_VAL(default_images_path, -1);
+ len = g_strlcat(path, default_images_path,
GL_DIR_PATH_LEN_MAX);
+ GL_GFREEIF(default_images_path);
+
if (len >= GL_DIR_PATH_LEN_MAX) {
gl_dbgE("strlcat returns failure(%d)!", len);
return -1;
}
gl_sdbg("Default images path: %s.", path);
-
return 0;
}
gitem = _gl_data_selected_list_get_nth(ad, i);
/* File on MMC is selected */
if (gitem && gitem->item && gitem->item->file_url) {
- on_mmc = strncmp(GL_ROOT_PATH_MMC,
+ char *mmc_root_path = _gl_get_root_directory_path(STORAGE_TYPE_EXTERNAL);
+ GL_CHECK_FALSE(mmc_root_path);
+ on_mmc = strncmp(mmc_root_path,
gitem->item->file_url,
- strlen(GL_ROOT_PATH_MMC));
+ strlen(mmc_root_path));
+ GL_FREEIF(mmc_root_path);
if (on_mmc == 0) {
return true;
}
gl_dbg("");
char path[GL_DIR_PATH_LEN_MAX] = { 0, };
- snprintf(path, GL_DIR_PATH_LEN_MAX, "%s/%s", GL_DEFAULT_PATH_IMAGES, name);
+ char *default_images_path = _gl_get_directory_path(STORAGE_DIRECTORY_IMAGES);
+ GL_CHECK_FALSE(default_images_path);
+
+ snprintf(path, GL_DIR_PATH_LEN_MAX, "%s/%s", default_images_path, name);
path[strlen(path)] = '\0';
gl_sdbg("Making %s directory", path);
- _gl_fs_mkdir(GL_DEFAULT_PATH_IMAGES);
+ _gl_fs_mkdir(default_images_path);
bool isSuccessful = _gl_fs_mkdir(path);
+ GL_FREE(default_images_path);
return isSuccessful;
}
*popup_op = GL_POPUP_OP_DUPLICATED_NAME;
}
} else {
+ char *default_images_path = _gl_get_directory_path(STORAGE_DIRECTORY_IMAGES);
+ GL_CHECK_VAL(default_images_path, -1);
snprintf(new_path, GL_FILE_PATH_LEN_MAX, "%s/%s/%s",
- GL_DEFAULT_PATH_IMAGES, new_dir_name,
+ default_images_path, new_dir_name,
(char *)(gitem->item->display_name));
+ GL_FREE(default_images_path);
}
new_path[strlen(new_path)] = '\0';
GL_FREE(final_path);
}
} else {
+ char *default_images_path = _gl_get_directory_path(STORAGE_DIRECTORY_IMAGES);
+ GL_CHECK_VAL(default_images_path, -1);
snprintf(new_path, GL_FILE_PATH_LEN_MAX, "%s/%s/%s",
- GL_DEFAULT_PATH_IMAGES, new_dir_name,
+ default_images_path, new_dir_name,
(char *)(gitem->item->display_name));
+ GL_FREE(default_images_path);
}
new_path[strlen(new_path)] = '\0';
}
int on_mmc = -1;
+ char *mmc_root_path = _gl_get_root_directory_path(STORAGE_TYPE_EXTERNAL);
+ GL_CHECK_VAL(mmc_root_path, -1);
/**
* 1, Places: Add tag;
* 2, Tags: Add tag/remove tag;
*/
/* Move files to MMC album */
if (dest_folder) {
- on_mmc = strncmp(GL_ROOT_PATH_MMC, dest_folder,
- strlen(GL_ROOT_PATH_MMC));
+ on_mmc = strncmp(mmc_root_path, dest_folder,
+ strlen(mmc_root_path));
if (on_mmc == 0) {
goto ON_MMC;
}
GL_CHECK_VAL(cur_album->cluster->uuid, -1);
g_strlcpy(src_folder_path, cur_album->cluster->path,
GL_DIR_PATH_LEN_MAX);
- on_mmc = strncmp(GL_ROOT_PATH_MMC, src_folder_path,
- strlen(GL_ROOT_PATH_MMC));
+ on_mmc = strncmp(mmc_root_path, src_folder_path,
+ strlen(mmc_root_path));
/* Check MMC files selected in album [All albums] */
if (on_mmc == 0) {
goto ON_MMC;
goto ON_MMC;
}
}
+ GL_FREEIF(mmc_root_path);
return 0;
ON_MMC:
gl_dbgW("Operate medias on MMC!");
ad->maininfo.mmc_state = GL_MMC_STATE_ADDED_MOVING;
+ GL_FREEIF(mmc_root_path);
return 0;
}
gl_dbgE("Failed to make a new directory!");
goto GL_FAILED;
}
+ char *default_images_path = _gl_get_directory_path(STORAGE_DIRECTORY_IMAGES);
+ GL_CHECK_VAL(default_images_path, -1);
snprintf(folder_fullpath, GL_DIR_PATH_LEN_MAX, "%s/%s",
- GL_DEFAULT_PATH_IMAGES, ad->albuminfo.new_name);
+ default_images_path, ad->albuminfo.new_name);
+ GL_FREE(default_images_path);
} else {
g_strlcpy(folder_fullpath, ad->albuminfo.path,
GL_DIR_PATH_LEN_MAX);
return strdup(edj_path);
}
+char *_gl_get_directory_path(int storage_directory_type)
+{
+ char *path = NULL;
+ storage_get_directory(STORAGE_TYPE_INTERNAL, storage_directory_type, &path);
+ return path;
+}
+
+char *_gl_get_root_directory_path(int storage_type)
+{
+ char *path = NULL;
+ storage_get_root_directory(storage_type, &path);
+ return path;
+}