From kde-commits Thu Aug 31 21:26:31 2017 From: Alexey Kapustin Date: Thu, 31 Aug 2017 21:26:31 +0000 To: kde-commits Subject: [krita/akapustin/T6102-telemetry] /: Install info sends only for updates Message-Id: X-MARC-Message: https://marc.info/?l=kde-commits&m=150421480411363 Git commit bffa5449672919c3a83b6db5db02d0b632ab9543 by Alexey Kapustin. Committed on 31/08/2017 at 21:08. Pushed by akapustin into branch 'akapustin/T6102-telemetry'. Install info sends only for updates M +2 -2 libs/telemetry/kis_telemetry_abstract.h M +1 -0 libs/ui/KisMainWindow.cpp M +2 -0 libs/ui/tool/kis_tool_freehand.cc M +4 -3 plugins/telemetry/assert_info_source.cpp M +53 -32 plugins/telemetry/telemetry_provider.cpp M +1 -0 plugins/telemetry/telemetry_provider.h https://commits.kde.org/krita/bffa5449672919c3a83b6db5db02d0b632ab9543 diff --git a/libs/telemetry/kis_telemetry_abstract.h b/libs/telemetry/kis_t= elemetry_abstract.h index 21e692b1665..450c902d3cb 100644 --- a/libs/telemetry/kis_telemetry_abstract.h +++ b/libs/telemetry/kis_telemetry_abstract.h @@ -42,8 +42,8 @@ public: virtual void saveAssertInfo(QString id, KisAssertInfoTicket::AssertInf= o assertInfo) =3D 0; = protected: - // QString m_adress =3D "http://localhost:8080/"; - QString m_adress =3D "http://akapustin.me:8080/"; + QString m_adress =3D "http://localhost:8080/"; + //QString m_adress =3D "http://akapustin.me:8080/"; = }; = diff --git a/libs/ui/KisMainWindow.cpp b/libs/ui/KisMainWindow.cpp index 48c48f3efdb..3716c9820ab 100644 --- a/libs/ui/KisMainWindow.cpp +++ b/libs/ui/KisMainWindow.cpp @@ -665,6 +665,7 @@ void KisMainWindow::sendInfo() qDebug()<<"send_enfo"<<"\n"; d->telemetry.reset(new KisDlgSendTelemtry(this->viewManager())); if(d->telemetry->exec()=3D=3D QDialog::Accepted){ + KisTelemetryInstance::instance()->sendData("asserts"); KisTelemetryInstance::instance()->sendData("install"); KisTelemetryInstance::instance()->sendData("tools"); KisTelemetryInstance::instance()->sendData("imageProperties"); diff --git a/libs/ui/tool/kis_tool_freehand.cc b/libs/ui/tool/kis_tool_free= hand.cc index 25582a86cb9..ccf33654603 100644 --- a/libs/ui/tool/kis_tool_freehand.cc +++ b/libs/ui/tool/kis_tool_freehand.cc @@ -263,6 +263,8 @@ void KisToolFreehand::endPrimaryAction(KoPointerEvent *= event) } = setMode(KisTool::HOVER_MODE); + KIS_SAFE_ASSERT_RECOVER_NOOP(0); + } = bool KisToolFreehand::tryPickByPaintOp(KoPointerEvent *event, AlternateAct= ion action) diff --git a/plugins/telemetry/assert_info_source.cpp b/plugins/telemetry/a= ssert_info_source.cpp index 69d137e4d34..7103bb10315 100644 --- a/plugins/telemetry/assert_info_source.cpp +++ b/plugins/telemetry/assert_info_source.cpp @@ -22,6 +22,7 @@ #include #include #include +#include using namespace UserFeedback; using namespace KUserFeedback; = @@ -38,7 +39,7 @@ QString UserFeedback::TelemetryAssertInfoSource::descript= ion() const = QVariant UserFeedback::TelemetryAssertInfoSource::data() { - + qDebug()<<"TelemetryAssertInfoSource"; m_assertsDumps.clear(); foreach (assertInfo assert, m_assertsDumpsMap) { KisTelemetryTicket* ticket =3D assert.ticket.data(); @@ -49,11 +50,11 @@ QVariant UserFeedback::TelemetryAssertInfoSource::data() if (assertTicket) { QVariantMap m; m.insert(QStringLiteral("assertText"), assertTicket->assertInf= o().assertText); - + qDebug()<assertInfo().assertText; m.insert(QStringLiteral("assertFile"), assertTicket->assertInf= o().file); = m.insert(QStringLiteral("assertLine"), assertTicket->assertInf= o().line); - m.insert(QStringLiteral("count"), assertTicket->assertInfo().l= ine); + m.insert(QStringLiteral("count"), assert.count); m.insert(QStringLiteral("isFatal"), false); = m_assertsDumps.push_back(m); diff --git a/plugins/telemetry/telemetry_provider.cpp b/plugins/telemetry/t= elemetry_provider.cpp index 0293cf25043..8846a4e3dd3 100644 --- a/plugins/telemetry/telemetry_provider.cpp +++ b/plugins/telemetry/telemetry_provider.cpp @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -50,27 +51,41 @@ TelemetryProvider::TelemetryProvider() KConfigGroup configGroup =3D KSharedConfig::openConfig()->group("KisTe= lemetryInstall"); = QString isFirstStart =3D configGroup.readEntry("FirstStart"); - // if (isFirstStart.isEmpty()) { - //don't append install source - std::unique_ptr cpu(new UserFeedbac= k::TelemetryCpuInfoSource()); - m_installSources.push_back(std::move(cpu)); - std::unique_ptr qt(new KUserFeedbac= k::QtVersionSource()); - m_installSources.push_back(std::move(qt)); - std::unique_ptr compiler(new KUserF= eedback::CompilerInfoSource()); - m_installSources.push_back(std::move(compiler)); - std::unique_ptr locale(new KUserFee= dback::LocaleInfoSource()); - m_installSources.push_back(std::move(locale)); - std::unique_ptr opengl(new KUserFee= dback::OpenGLInfoSource()); - m_installSources.push_back(std::move(opengl)); - std::unique_ptr platform(new KUserF= eedback::PlatformInfoSource()); - m_installSources.push_back(std::move(platform)); - std::unique_ptr screen(new KUserFee= dback::ScreenInfoSource()); - m_installSources.push_back(std::move(screen)); - std::unique_ptr general(new UserFee= dback::TelemetryGeneralInfoSource); - m_installSources.push_back(std::move(general)); - // } - for (auto& source : m_installSources) { - m_installProvider->addDataSource(source.get()); + QString version =3D configGroup.readEntry("Version", "noversion"); + m_sendInstallInfo =3D false; + qDebug() << "APP VERSION______" << qApp->applicationVersion(); + if (qApp->applicationVersion() !=3D version) { + configGroup.writeEntry("Version", qApp->applicationVersion()); + qDebug() << "SEND INSTALL__"< cpu(new Use= rFeedback::TelemetryCpuInfoSource()); + m_installSources.push_back(std::move(cpu)); + std::unique_ptr qt(new KUse= rFeedback::QtVersionSource()); + m_installSources.push_back(std::move(qt)); + std::unique_ptr compiler(ne= w KUserFeedback::CompilerInfoSource()); + m_installSources.push_back(std::move(compiler)); + std::unique_ptr locale(new = KUserFeedback::LocaleInfoSource()); + m_installSources.push_back(std::move(locale)); + std::unique_ptr opengl(new = KUserFeedback::OpenGLInfoSource()); + m_installSources.push_back(std::move(opengl)); + std::unique_ptr platform(ne= w KUserFeedback::PlatformInfoSource()); + m_installSources.push_back(std::move(platform)); + std::unique_ptr screen(new = KUserFeedback::ScreenInfoSource()); + m_installSources.push_back(std::move(screen)); + //#ifdef HAVE_BACKTRACE + std::unique_ptr general(new= UserFeedback::TelemetryGeneralInfoSource); + //#endif + m_installSources.push_back(std::move(general)); + for (auto& source : m_installSources) { + m_installProvider->addDataSource(source.get()); + } + m_sendInstallInfo =3D true; +#ifndef HAVE_BACKTRACE + } +#endif } = m_toolsProvider.reset(new KUserFeedback::Provider); @@ -105,6 +120,15 @@ TelemetryProvider::TelemetryProvider() for (auto& source : m_actionsSources) { m_actionsInfoProvider->addDataSource(source.get()); } + //asserts + m_assertsProvider.reset(new KUserFeedback::Provider); + m_assertsProvider->setTelemetryMode(KUserFeedback::Provider::DetailedU= sageStatistics); + std::unique_ptr assertsInfo(new Use= rFeedback:: + TelemetryAssertInfoSource); + m_assertsSources.push_back(std::move(assertsInfo)); + for (auto& source : m_assertsSources) { + m_assertsProvider->addDataSource(source.get()); + } } = void TelemetryProvider::sendData(QString path, QString adress) @@ -120,18 +144,12 @@ void TelemetryProvider::sendData(QString path, QStrin= g adress) break; } case install: { - KConfigGroup configGroup =3D KSharedConfig::openConfig()->group("K= isTelemetryInstall"); - QString isFirstStart =3D configGroup.readEntry("FirstStart"); - - if (isFirstStart.isEmpty()) { - //don't append install source - configGroup.writeEntry("FirstStart", true); - } else { - // break; + if (m_sendInstallInfo) { + m_installProvider->setFeedbackServer(QUrl(finalAdress + path)); + m_installProvider->submit(); + m_sendInstallInfo =3D false; + break; } - m_installProvider->setFeedbackServer(QUrl(finalAdress + path)); - m_installProvider->submit(); - break; } case asserts: { m_assertsProvider->setFeedbackServer(QUrl(finalAdress + path)); @@ -146,6 +164,7 @@ void TelemetryProvider::sendData(QString path, QString = adress) case imageProperties: { m_imagePropertiesProvider->setFeedbackServer(QUrl(finalAdress + pa= th)); m_imagePropertiesProvider->submit(); + break; } case actions: { @@ -282,5 +301,7 @@ TelemetryProvider::TelemetryCategory TelemetryProvider:= :pathToKind(QString path) return imageProperties; else if (path =3D=3D "actions/") return actions; + else if (path =3D=3D "asserts/") + return asserts; return tools; } diff --git a/plugins/telemetry/telemetry_provider.h b/plugins/telemetry/tel= emetry_provider.h index 8c99af1a242..f55b9a1d97c 100644 --- a/plugins/telemetry/telemetry_provider.h +++ b/plugins/telemetry/telemetry_provider.h @@ -84,6 +84,7 @@ private: = private: TelemetryCategory pathToKind(QString path); + bool m_sendInstallInfo; }; = #endif