From e2cc267a14a4eccd54b9fe1f7d3c8d860ac80a4f Mon Sep 17 00:00:00 2001 From: "ELIYAZ MOMIN (xWF)" Date: Tue, 10 Sep 2024 10:30:57 +0000 Subject: Revert "[res] Better modification time resolution in Idmap" This reverts commit fff1d48f432741160019a9266728097f10bd2189. Reason for revert: Change-Id: I6b0a0bd67a14e4738a8cd64be2214840d02eee3f --- libs/androidfw/include/androidfw/AssetManager.h | 22 ++++++++-------- libs/androidfw/include/androidfw/Idmap.h | 5 ++-- libs/androidfw/include/androidfw/misc.h | 35 ++++++------------------- 3 files changed, 21 insertions(+), 41 deletions(-) (limited to 'libs/androidfw/include') diff --git a/libs/androidfw/include/androidfw/AssetManager.h b/libs/androidfw/include/androidfw/AssetManager.h index 376c881ea376..ce0985b38986 100644 --- a/libs/androidfw/include/androidfw/AssetManager.h +++ b/libs/androidfw/include/androidfw/AssetManager.h @@ -280,21 +280,21 @@ private: ~SharedZip(); private: - SharedZip(const String8& path, ModDate modWhen); - SharedZip(int fd, const String8& path); - SharedZip(); // <-- not implemented + SharedZip(const String8& path, time_t modWhen); + SharedZip(int fd, const String8& path); + SharedZip(); // <-- not implemented - String8 mPath; - ZipFileRO* mZipFile; - ModDate mModWhen; + String8 mPath; + ZipFileRO* mZipFile; + time_t mModWhen; - Asset* mResourceTableAsset; - ResTable* mResourceTable; + Asset* mResourceTableAsset; + ResTable* mResourceTable; - Vector mOverlays; + Vector mOverlays; - static Mutex gLock; - static DefaultKeyedVector > gOpen; + static Mutex gLock; + static DefaultKeyedVector > gOpen; }; /* diff --git a/libs/androidfw/include/androidfw/Idmap.h b/libs/androidfw/include/androidfw/Idmap.h index 98f1aa86f2db..64b1f0c6ed03 100644 --- a/libs/androidfw/include/androidfw/Idmap.h +++ b/libs/androidfw/include/androidfw/Idmap.h @@ -25,9 +25,8 @@ #include "android-base/macros.h" #include "android-base/unique_fd.h" #include "androidfw/ConfigDescription.h" -#include "androidfw/ResourceTypes.h" #include "androidfw/StringPiece.h" -#include "androidfw/misc.h" +#include "androidfw/ResourceTypes.h" #include "utils/ByteOrder.h" namespace android { @@ -203,7 +202,7 @@ class LoadedIdmap { android::base::unique_fd idmap_fd_; std::string_view overlay_apk_path_; std::string_view target_apk_path_; - ModDate idmap_last_mod_time_; + time_t idmap_last_mod_time_; private: DISALLOW_COPY_AND_ASSIGN(LoadedIdmap); diff --git a/libs/androidfw/include/androidfw/misc.h b/libs/androidfw/include/androidfw/misc.h index 09ae40c35369..077609d20d55 100644 --- a/libs/androidfw/include/androidfw/misc.h +++ b/libs/androidfw/include/androidfw/misc.h @@ -13,13 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#pragma once -#include +#include // // Handy utility functions and portability code. // +#ifndef _LIBS_ANDROID_FW_MISC_H +#define _LIBS_ANDROID_FW_MISC_H namespace android { @@ -40,35 +41,15 @@ typedef enum FileType { } FileType; /* get the file's type; follows symlinks */ FileType getFileType(const char* fileName); - -// MinGW doesn't support nanosecond resolution in stat() modification time, and given -// that it only matters on the device it's ok to keep it at the second level there. -#ifdef _WIN32 -using ModDate = time_t; -inline constexpr ModDate kInvalidModDate = ModDate(-1); -inline constexpr unsigned long long kModDateResolutionNs = 1ull * 1000 * 1000 * 1000; -inline time_t toTimeT(ModDate m) { - return m; -} -#else -using ModDate = timespec; -inline constexpr ModDate kInvalidModDate = {-1, -1}; -inline constexpr unsigned long long kModDateResolutionNs = 1; -inline time_t toTimeT(ModDate m) { - return m.tv_sec; -} -#endif - -/* get the file's modification date; returns kInvalidModDate w/errno set on failure */ -ModDate getFileModDate(const char* fileName); +/* get the file's modification date; returns -1 w/errno set on failure */ +time_t getFileModDate(const char* fileName); /* same, but also returns -1 if the file has already been deleted */ -ModDate getFileModDate(int fd); +time_t getFileModDate(int fd); // Check if |path| or |fd| resides on a readonly filesystem. bool isReadonlyFilesystem(const char* path); bool isReadonlyFilesystem(int fd); -} // namespace android +}; // namespace android -// Whoever uses getFileModDate() will need this as well -bool operator==(const timespec& l, const timespec& r); +#endif // _LIBS_ANDROID_FW_MISC_H -- cgit v1.2.3-59-g8ed1b