[-]
[+]
|
Changed |
_service:tar_git:harbour-amazfish.spec
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -2,7 +2,7 @@
<service name="tar_git">
<param name="url">https://github.com/piggz/harbour-amazfish.git</param>
<param name="branch">master</param>
- <param name="revision">2.1.2</param>
+ <param name="revision">2.1.3</param>
<param name="debian">N</param>
<param name="dumb">N</param>
</service>
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-amazfish-2.1.3.tar.bz2/daemon/daemon.pro
^
|
@@ -15,7 +15,7 @@
LIBS += -Lqble/qble -L$$OUT_PWD/../lib -lamazfish -lz
PKGCONFIG += dbus-1
QT += positioning KDb3 network dbus KArchive
-CONFIG += c++14
+CONFIG += c++17
equals(FLAVOR, "silica") {
CONFIG += flavor_silica
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-amazfish-2.1.3.tar.bz2/daemon/src/activitysummary.cpp
^
|
@@ -120,6 +120,19 @@
m_metaData << m;
}
+ActivitySummary::meta ActivitySummary::metaData(const QString &key)
+{
+ ActivitySummary::meta m;
+
+ for(auto i:m_metaData) {
+ if (i.key == key) {
+ m = i;
+ break;
+ }
+ }
+ return m;
+}
+
bool ActivitySummary::saveToDatabase(KDbConnection *conn)
{
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-amazfish-2.1.3.tar.bz2/daemon/src/activitysummary.h
^
|
@@ -14,6 +14,12 @@
public:
ActivitySummary();
+ struct meta {
+ QString key;
+ QString value;
+ QString unit;
+ };
+
void setVersion(short);
short version() const;
@@ -46,6 +52,7 @@
void setGPX(const QString &gpx);
void addMetaData(const QString &key, const QString &value, const QString &unit);
+ ActivitySummary::meta metaData(const QString &key);
bool saveToDatabase(KDbConnection *conn);
private:
@@ -62,11 +69,7 @@
uint m_deviceId;
uint m_userId;
- struct meta {
- QString key;
- QString value;
- QString unit;
- };
+
QList<meta> m_metaData;
};
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-amazfish-2.1.3.tar.bz2/daemon/src/bipactivitydetailparser.cpp
^
|
@@ -2,6 +2,7 @@
#include "typeconversion.h"
#include <QDebug>
#include <QTimeZone>
+#include "amazfishconfig.h"
#if QT_VERSION >= 0x051400
#define endl Qt::endl
@@ -303,6 +304,11 @@
out << "<Activity Sport=\"" + ActivityKind::toString(m_summary.activityKind()) + "\">" << endl;
out << "<Id>" << m_summary.name() << "</Id>" << endl;
+ ActivitySummary::meta m = m_summary.metaData("caloriesBurnt");
+ if (m.key == "caloriesBurnt") {
+ out << "<Calories>" << m.value << "</Calories>" << endl;
+ }
+
out << "<Lap StartTime=\"" << m_summary.startTime().toTimeSpec(Qt::OffsetFromUTC).toString(Qt::ISODate) << "\">" << endl;
out << "<Track>" << endl;
@@ -325,8 +331,16 @@
}
out << "</Track>" << endl;
out << "</Lap>" << endl;
+
+ //Creator
+ out << "<Creator xsi:type=\"Device_t\"><Name>" << AmazfishConfig::instance()->pairedName() << "</Name><UnitId>0000000000</UnitId><ProductId>0000</ProductId><Version><VersionMajor>1</VersionMajor><VersionMinor>0</VersionMinor><BuildMajor>1</BuildMajor><BuildMinor>0</BuildMinor></Version></Creator>" << endl;
+
out << "</Activity>" << endl;
out << "</Activities>" << endl;
+
+ //Author
+ out << "<Author xsi:type=\"Application_t\"><Name>Amazfish</Name><Build><Version><VersionMajor>1</VersionMajor><VersionMinor>0</VersionMinor><BuildMajor>1</BuildMajor><BuildMinor>0</BuildMinor></Version></Build><LangID>en</LangID><PartNumber>000-00000-00</PartNumber></Author>" << endl;
+
out << "</TrainingCenterDatabase>" << endl;
return str;
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-amazfish-2.1.3.tar.bz2/daemon/src/devices/gtsdevice.cpp
^
|
@@ -204,7 +204,6 @@
cmd += (char)0x00;
cmd += TypeConversion::dateTimeToBytes(dt, 0).left(6);
cmd += (char)0x00;
- cmd += (char)0x00;
cmd += event.toLocal8Bit();
cmd += (char)0x00;
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-amazfish-2.1.3.tar.bz2/daemon/src/services/alertnotificationservice.cpp
^
|
@@ -68,32 +68,13 @@
if (mailREX.exactMatch(s)) {
return HuamiIcon::EMAIL;
}
- if (s == "facebook") {
- return HuamiIcon::FACEBOOK;
- }
- if (s == "twitter" || s == "tweetian" || s == "piepmatz") {
- return HuamiIcon::TWITTER;
- }
- if (s == "messenger") {
- return HuamiIcon::FACEBOOK_MESSENGER;
- }
- if (s == "snapchat") {
- return HuamiIcon::SNAPCHAT;
- }
- if (s == "whatsapp") {
- return HuamiIcon::WHATSAPP;
- }
- if (s == "instagram") {
- return HuamiIcon::INSTAGRAM;
- }
- if (s == "telegram" || s == "fernschreiber" || s == "yottagram" || s == "sailorgram" || s == "depecher") {
- return HuamiIcon::TELEGRAM;
- }
- if (s == "skype") {
- return HuamiIcon::SKYPE;
- }
- return HuamiIcon::APP_11;
+ auto icon = AppToIconMap.find(s);
+
+ if ( icon == AppToIconMap.end() )
+ return HuamiIcon::APP_11;
+
+ return icon->second;
}
void AlertNotificationService::characteristicChanged(const QString &c, const QByteArray &value)
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-amazfish-2.1.3.tar.bz2/daemon/src/services/alertnotificationservice.h
^
|
@@ -89,6 +89,31 @@
};
Q_ENUM(AlertEvent)
+ static inline std::map<QString, HuamiIcon> AppToIconMap = {
+ /* Facebook */
+ {"facebook", HuamiIcon::FACEBOOK},
+ /* Facebook Messenger */
+ {"messenger", HuamiIcon::FACEBOOK_MESSENGER},
+ /* Instagram */
+ {"instagram", HuamiIcon::INSTAGRAM},
+ /* Telegram clients */
+ {"depecher", HuamiIcon::TELEGRAM},
+ {"fernschreiber", HuamiIcon::TELEGRAM},
+ {"sailorgram", HuamiIcon::TELEGRAM},
+ {"telegram", HuamiIcon::TELEGRAM},
+ {"yottogram", HuamiIcon::TELEGRAM},
+ /* Twitter Clients */
+ {"piepmatz", HuamiIcon::TWITTER},
+ {"tweetian", HuamiIcon::TWITTER},
+ {"twitter", HuamiIcon::TWITTER},
+ /* Snapchat */
+ {"snapchat", HuamiIcon::SNAPCHAT},
+ /* Skype */
+ {"skype", HuamiIcon::SKYPE},
+ /* WhatsApp */
+ {"whatsapp", HuamiIcon::WHATSAPP},
+ };
+
Q_INVOKABLE void sendAlert(const QString &sender, const QString &subject, const QString &message);
Q_INVOKABLE void incomingCall(const QString &caller);
static int mapSenderToIcon(const QString &sender);
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-amazfish-2.1.3.tar.bz2/daemon/src/services/currenttimeservice.cpp
^
|
@@ -20,7 +20,8 @@
timeBytes += TypeConversion::fromInt8(now.time().hour());
timeBytes += TypeConversion::fromInt8(now.time().minute());
timeBytes += TypeConversion::fromInt8(now.time().second());
- timeBytes += char(0); //fractions of seconds
+ timeBytes += char(0); //day of week
+ timeBytes += char(0); //fractions256
timeBytes += char(0); //reason
qDebug() << "setting time to:" << now << timeBytes.toHex();
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-amazfish-2.1.3.tar.bz2/ui/qml/harbour-amazfish.qml
^
|
@@ -154,12 +154,20 @@
function enableService() {
if(ENABLE_SYSTEMD === "YES") {
systemdManager.typedCall("EnableUnitFiles", [{"type":"as", "value":["harbour-amazfish.service"]}, {"type":"b", "value":false}, {"type":"b", "value":true}])
+ reload();
}
}
function disableService() {
if (ENABLE_SYSTEMD === "YES") {
systemdManager.typedCall("DisableUnitFiles", [{"type":"as", "value":["harbour-amazfish.service"]}, {"type":"b", "value":false}])
+ reload();
+ }
+ }
+
+ function reload() {
+ if (ENABLE_SYSTEMD === "YES") {
+ systemdManager.call("Reload");
}
}
}
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-amazfish-2.1.3.tar.bz2/ui/qml/pages/Settings-app.qml
^
|
@@ -7,6 +7,7 @@
id: page
title: qsTr("Application Settings")
+ property bool _ready: false
// Place our content in a Column. The PageHeader is always placed at the top
// of the page, followed by our content.
Column {
@@ -106,13 +107,15 @@
TextSwitchPL {
id: chkServiceEnabled
visible: (ENABLE_SYSTEMD === "YES")
- checked: serviceEnabledState === false ? false : true
text: qsTr("Start service on boot")
onCheckedChanged: {
- if (serviceEnabledState) {
- systemdManager.disableService();
- } else {
- systemdManager.enableService();
+ if (_ready) {
+ console.log("service enabled:", serviceEnabledState);
+ if (serviceEnabledState) {
+ systemdManager.disableService();
+ } else {
+ systemdManager.enableService();
+ }
}
}
}
@@ -178,6 +181,9 @@
chkNotifyLowBattery.checked = AmazfishConfig.appNotifyLowBattery;
chkNavigationNotification.checked = AmazfishConfig.appNavigationNotification;
chkSimulateEventSupport.checked = AmazfishConfig.appSimulateEventSupport;
+
+ chkServiceEnabled.checked = serviceEnabledState;
+ _ready = true;
}
function saveSettings() {
|