[-]
[+]
|
Changed |
_service:tar_git:geoclue-provider-hybris-hal.changes
|
|
[-]
[+]
|
Changed |
_service:tar_git:geoclue-providers-hybris.spec
^
|
|
[-]
[+]
|
Changed |
_service:tar_git:geoclue-provider-hybris-hal-0.2.29.tar.gz/hybrisprovider.cpp
^
|
@@ -48,6 +48,12 @@
HybrisProvider *staticProvider = Q_NULLPTR;
+// Some older devices have the GPS week number rollover bug
+// which breaks timestamps so workaround it using a constant offset
+// of 1024 weeks if timestamp is too small
+const HybrisGnssUtcTime GnssWeekRolloverTimestamp = 1554595200000;
+const HybrisGnssUtcTime GnssWeekRolloverTimestampOffset = 619315200000;
+
namespace
{
@@ -501,6 +507,11 @@
}
m_currentLocation = location;
+
+ if (m_currentLocation.timestamp() != 0 && m_currentLocation.timestamp() < GnssWeekRolloverTimestamp) {
+ m_currentLocation.setTimestamp(m_currentLocation.timestamp() + GnssWeekRolloverTimestampOffset);
+ }
+
emitLocationChanged();
}
|
[-]
[+]
|
Changed |
_service:tar_git:geoclue-providers-hybris.inc
^
|
@@ -9,6 +9,7 @@
BuildRequires: pkgconfig(qofono-qt5)
BuildRequires: pkgconfig(qofonoext)
BuildRequires: pkgconfig(systemsettings) >= 0.5.5
+BuildRequires: systemd
Requires: connectionagent-qt5 >= 0.9.20
Source100: geoclue-providers-hybris.inc
@@ -36,5 +37,5 @@
%{_sysconfdir}/dbus-1
%{_datadir}/dbus-1
%{_datadir}/geoclue-providers/geoclue-hybris.provider
-%{_libdir}/systemd/user/geoclue-providers-hybris.service
-%{_libdir}/systemd/user/dbus-org.freedesktop.Geoclue.Providers.Hybris.service
+%{_userunitdir}/geoclue-providers-hybris.service
+%{_userunitdir}/dbus-org.freedesktop.Geoclue.Providers.Hybris.service
|