summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlat9nq <22451773+lat9nq@users.noreply.github.com>2023-05-21 21:44:34 +0200
committerlat9nq <22451773+lat9nq@users.noreply.github.com>2023-06-05 21:15:11 +0200
commita39b9134db9c205e4a01105f5a610142428c347e (patch)
tree067367470365a328fa47bdcee7bf60a17460889f
parentsettings: Always report a valid time zone (diff)
downloadyuzu-a39b9134db9c205e4a01105f5a610142428c347e.tar
yuzu-a39b9134db9c205e4a01105f5a610142428c347e.tar.gz
yuzu-a39b9134db9c205e4a01105f5a610142428c347e.tar.bz2
yuzu-a39b9134db9c205e4a01105f5a610142428c347e.tar.lz
yuzu-a39b9134db9c205e4a01105f5a610142428c347e.tar.xz
yuzu-a39b9134db9c205e4a01105f5a610142428c347e.tar.zst
yuzu-a39b9134db9c205e4a01105f5a610142428c347e.zip
-rw-r--r--src/core/hle/service/time/time_manager.cpp17
-rw-r--r--src/core/hle/service/time/time_manager.h2
-rw-r--r--src/core/hle/service/time/time_zone_content_manager.cpp17
3 files changed, 3 insertions, 33 deletions
diff --git a/src/core/hle/service/time/time_manager.cpp b/src/core/hle/service/time/time_manager.cpp
index d5c9e6b5e..20012afd9 100644
--- a/src/core/hle/service/time/time_manager.cpp
+++ b/src/core/hle/service/time/time_manager.cpp
@@ -119,14 +119,6 @@ struct TimeManager::Impl final {
time_zone_content_manager.GetTimeZoneManager().MarkAsInitialized();
}
- static s64 GetExternalTimeZoneOffset() {
- // With "auto" timezone setting, we use the external system's timezone offset
- if (Settings::GetTimeZoneString() == "auto") {
- return Common::TimeZone::GetCurrentOffsetSeconds().count();
- }
- return 0;
- }
-
void SetupStandardSteadyClock(Core::System& system_, Common::UUID clock_source_id,
Clock::TimeSpanType setup_value,
Clock::TimeSpanType internal_offset, bool is_rtc_reset_detected) {
@@ -297,13 +289,4 @@ void TimeManager::SetupTimeZoneManager(std::string location_name,
impl->SetupTimeZoneManager(location_name, time_zone_updated_time_point,
total_location_name_count, time_zone_rule_version, vfs_file);
}
-
-/*static*/ s64 TimeManager::GetExternalTimeZoneOffset() {
- // With "auto" timezone setting, we use the external system's timezone offset
- if (Settings::GetTimeZoneString() == "auto") {
- return Common::TimeZone::GetCurrentOffsetSeconds().count();
- }
- return 0;
-}
-
} // namespace Service::Time
diff --git a/src/core/hle/service/time/time_manager.h b/src/core/hle/service/time/time_manager.h
index 4f046f266..3848da8bc 100644
--- a/src/core/hle/service/time/time_manager.h
+++ b/src/core/hle/service/time/time_manager.h
@@ -64,8 +64,6 @@ public:
std::size_t total_location_name_count, u128 time_zone_rule_version,
FileSys::VirtualFile& vfs_file);
- static s64 GetExternalTimeZoneOffset();
-
private:
Core::System& system;
diff --git a/src/core/hle/service/time/time_zone_content_manager.cpp b/src/core/hle/service/time/time_zone_content_manager.cpp
index ae41116b6..5fab7fa7b 100644
--- a/src/core/hle/service/time/time_zone_content_manager.cpp
+++ b/src/core/hle/service/time/time_zone_content_manager.cpp
@@ -76,25 +76,14 @@ TimeZoneContentManager::TimeZoneContentManager(Core::System& system_)
: system{system_}, location_name_cache{BuildLocationNameCache(system)} {}
void TimeZoneContentManager::Initialize(TimeManager& time_manager) {
- std::string location_name;
const auto timezone_setting = Settings::GetTimeZoneString();
- if (timezone_setting == "auto") {
- const struct std::chrono::tzdb& time_zone_data = std::chrono::get_tzdb();
- const std::chrono::time_zone* current_zone = time_zone_data.current_zone();
- std::string_view current_zone_name = current_zone->name();
- location_name = current_zone_name;
- } else if (timezone_setting == "default") {
- location_name = Common::TimeZone::GetDefaultTimeZone();
- } else {
- location_name = timezone_setting;
- }
if (FileSys::VirtualFile vfs_file;
- GetTimeZoneInfoFile(location_name, vfs_file) == ResultSuccess) {
+ GetTimeZoneInfoFile(timezone_setting, vfs_file) == ResultSuccess) {
const auto time_point{
time_manager.GetStandardSteadyClockCore().GetCurrentTimePoint(system)};
- time_manager.SetupTimeZoneManager(location_name, time_point, location_name_cache.size(), {},
- vfs_file);
+ time_manager.SetupTimeZoneManager(timezone_setting, time_point, location_name_cache.size(),
+ {}, vfs_file);
} else {
time_zone_manager.MarkAsInitialized();
}