From e444d115526088493704e957d033e0e9f7c2918b Mon Sep 17 00:00:00 2001 From: Phoenix591 Date: Sat, 3 Feb 2018 07:23:54 +0000 Subject: TWRP: Added TW_CLOCK_OFFSET flag to further adjust the clock. For devices with the Qualcomm RTC fix whose clocks need further tuning such as the LG V20 whose ats files produces the correct time except 46 years in the future. Takes adjustment in seconds and adjusts after reading the the ats file. Boardconfig.mk TW_CLOCK_OFFSET := -1451606400 Change-Id: I0b2d35dd0026ed18a7bbebf683517f7c0eaa53ff --- Android.mk | 4 +++- twrp-functions.cpp | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Android.mk b/Android.mk index f42f89119..4b11c8c12 100644 --- a/Android.mk +++ b/Android.mk @@ -366,7 +366,9 @@ ifneq ($(TW_DEFAULT_LANGUAGE),) else LOCAL_CFLAGS += -DTW_DEFAULT_LANGUAGE=en endif - +ifneq ($(TW_CLOCK_OFFSET),) + LOCAL_CFLAGS += -DTW_CLOCK_OFFSET=$(TW_CLOCK_OFFSET) +endif LOCAL_ADDITIONAL_DEPENDENCIES += \ dump_image \ erase_image \ diff --git a/twrp-functions.cpp b/twrp-functions.cpp index f82de6140..11e745b38 100644 --- a/twrp-functions.cpp +++ b/twrp-functions.cpp @@ -996,6 +996,10 @@ void TWFunc::Fixup_Time_On_Boot(const string& time_paths /* = "" */) gettimeofday(&tv, NULL); tv.tv_sec += offset/1000; +#ifdef TW_CLOCK_OFFSET +// Some devices are even quirkier and have ats files that are offset from the actual time + tv.tv_sec = tv.tv_sec + TW_CLOCK_OFFSET; +#endif tv.tv_usec += (offset%1000)*1000; while (tv.tv_usec >= 1000000) -- cgit v1.2.3