summaryrefslogtreecommitdiffstats
path: root/qt-models/messagehandlermodel.cpp
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2017-07-09 17:03:57 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2017-07-09 17:40:29 -0700
commitc59a74029b3acde8443db0abebcbc89d78504dee (patch)
tree7dfdfd5c554587d8ccb66c814e6e827de41d5524 /qt-models/messagehandlermodel.cpp
parente8b46039f6936d336c0f38dea64c051ec2ce022b (diff)
downloadsubsurface-c59a74029b3acde8443db0abebcbc89d78504dee.tar.gz
Android: write appLog to file
The trick is to pick a path that is accessible from other applications. In theory QStandardPaths::GenericDataLocation should provide that. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-models/messagehandlermodel.cpp')
-rw-r--r--qt-models/messagehandlermodel.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/qt-models/messagehandlermodel.cpp b/qt-models/messagehandlermodel.cpp
index ec6e818c9..d783a3da6 100644
--- a/qt-models/messagehandlermodel.cpp
+++ b/qt-models/messagehandlermodel.cpp
@@ -2,11 +2,12 @@
#include "messagehandlermodel.h"
/* based on logging bits from libdivecomputer */
-#ifndef __ANDROID__
+#if !defined(Q_OS_ANDROID)
#define INFO(fmt, ...) fprintf(stderr, "INFO: " fmt "\n", ##__VA_ARGS__)
#else
+extern void writeToAppLogFile(QString logText);
#include <android/log.h>
-#define INFO(fmt, ...) __android_log_print(ANDROID_LOG_DEBUG, __FILE__, "INFO: " fmt "\n", ##__VA_ARGS__)
+#define INFO(fmt, ...) __android_log_print(ANDROID_LOG_DEBUG, __FILE__, "INFO: " fmt "\n", ##__VA_ARGS__);
#endif
void logMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
@@ -42,6 +43,9 @@ void MessageHandlerModel::addLog(QtMsgType type, const QString& message)
m_data.append({message, type});
endInsertRows();
INFO("%s", message.toUtf8().constData());
+#if defined (Q_OS_ANDROID)
+ writeToAppLogFile(message);
+#endif
}
QVariant MessageHandlerModel::data(const QModelIndex& idx, int role) const