From 01577278f09c2bcee6c5837d7c8d603d49011cfd Mon Sep 17 00:00:00 2001 From: Vladimir Gorshenkov Date: Thu, 3 Oct 2019 18:01:00 +0300 Subject: [PATCH] [android][de] temp directory for Android --- DesktopEditor/common/File.cpp | 7 +++++++ DesktopEditor/common/File.h | 6 +++++- DesktopEditor/graphics/ImageFilesCache.h | 15 +-------------- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/DesktopEditor/common/File.cpp b/DesktopEditor/common/File.cpp index e29507ec55..830a2b35b9 100644 --- a/DesktopEditor/common/File.cpp +++ b/DesktopEditor/common/File.cpp @@ -100,6 +100,9 @@ } #endif +#ifndef __ANDROID_ +std::string NSFile::CFileBinary::androidCahcePath = ""; +#endif namespace NSFile { std::wstring CUtf8Converter::GetUnicodeFromCharPtr(const char* pData, LONG lCount, INT bIsUtf8) @@ -1305,6 +1308,10 @@ namespace NSFile if (NULL == folder) folder = "/tmp"; +#if defined (__ANDROID__) + folder = &androidCahcePath[0]; //we need extra char for NUL +#endif + return NSFile::CUtf8Converter::GetUnicodeStringFromUTF8((BYTE*)folder, strlen(folder)); #endif } diff --git a/DesktopEditor/common/File.h b/DesktopEditor/common/File.h index 7f409f5426..be9506f4a5 100644 --- a/DesktopEditor/common/File.h +++ b/DesktopEditor/common/File.h @@ -1,4 +1,4 @@ -/* +/* * (c) Copyright Ascensio System SIA 2010-2019 * * This program is a free software product. You can redistribute it and/or @@ -175,6 +175,10 @@ namespace NSFile static std::wstring CreateTempFileWithUniqueName(const std::wstring& strFolderPathRoot, const std::wstring& Prefix); static bool OpenTempFile(std::wstring *pwsName, FILE **ppFile, wchar_t *wsMode, wchar_t *wsExt, wchar_t *wsFolder, wchar_t* wsName = NULL); static FILE* OpenFileNative(const std::wstring& sFileName, const std::wstring& sMode); +#ifndef __ANDROID_ + static std::string androidCahcePath; +#endif + }; class KERNEL_DECL CBase64Converter diff --git a/DesktopEditor/graphics/ImageFilesCache.h b/DesktopEditor/graphics/ImageFilesCache.h index 4285bda418..1dec88060c 100644 --- a/DesktopEditor/graphics/ImageFilesCache.h +++ b/DesktopEditor/graphics/ImageFilesCache.h @@ -39,10 +39,6 @@ #include "../raster/Metafile/MetaFile.h" #include "../common/File.h" -#ifdef __ANDROID__ - #include "../common/Directory.h" -#endif - #if defined (GetTempPath) #undef GetTempPath #endif @@ -75,16 +71,7 @@ public: } else { - std::wstring sTempFile; - - #ifdef __ANDROID__ - std::wstring sTempDir = NSFile::GetDirectoryName(strFile) + NSFile::CFileBinary::GetTempPath(); - NSDirectory::CreateDirectory(sTempDir); - sTempFile = NSFile::CFileBinary::CreateTempFileWithUniqueName(sTempDir, L"AscMetafile_"); - #else - sTempFile = NSFile::CFileBinary::CreateTempFileWithUniqueName(NSFile::CFileBinary::GetTempPath(), L"AscMetafile_"); - #endif - + std::wstring sTempFile = NSFile::CFileBinary::CreateTempFileWithUniqueName(NSFile::CFileBinary::GetTempPath(), L"AscMetafile_"); oMetafile.ConvertToRaster(sTempFile.c_str(), 4, 1000, -1); m_oImage.Create(sTempFile);