NOISSUE simplify system detection and user agent handling
Now it only checks OS kernel name/version. User agent is 'MultiMC5/$version'. Kernel info is passed through custom dimensions in analytics.
This commit is contained in:
parent
d5fdc23eb2
commit
55541c387c
@ -1017,6 +1017,9 @@ MainWindow* MultiMC::showMainWindow(bool minimized)
|
|||||||
customValues["cd2"] = m_settings->get("JavaArchitecture");
|
customValues["cd2"] = m_settings->get("JavaArchitecture");
|
||||||
customValues["cd3"] = Sys::isSystem64bit() ? "64":"32";
|
customValues["cd3"] = Sys::isSystem64bit() ? "64":"32";
|
||||||
customValues["cd4"] = Sys::isCPU64bit() ? "64":"32";
|
customValues["cd4"] = Sys::isCPU64bit() ? "64":"32";
|
||||||
|
auto kernelInfo = Sys::getKernelInfo();
|
||||||
|
customValues["cd5"] = kernelInfo.kernelName;
|
||||||
|
customValues["cd6"] = kernelInfo.kernelVersion;
|
||||||
m_analytics->sendScreenView("Main Window", customValues);
|
m_analytics->sendScreenView("Main Window", customValues);
|
||||||
}
|
}
|
||||||
return m_mainWindow;
|
return m_mainWindow;
|
||||||
|
@ -3,11 +3,13 @@
|
|||||||
|
|
||||||
namespace Sys
|
namespace Sys
|
||||||
{
|
{
|
||||||
/**
|
struct KernelInfo
|
||||||
* Get operation system name and version.
|
{
|
||||||
* @return os A QString with the name and version of the operating system.
|
QString kernelName;
|
||||||
*/
|
QString kernelVersion;
|
||||||
QString getSystemInfo();
|
};
|
||||||
|
|
||||||
|
KernelInfo getKernelInfo();
|
||||||
|
|
||||||
uint64_t getSystemRam();
|
uint64_t getSystemRam();
|
||||||
|
|
||||||
|
@ -106,9 +106,7 @@ QString GAnalyticsWorker::getScreenResolution()
|
|||||||
*/
|
*/
|
||||||
QString GAnalyticsWorker::getUserAgent()
|
QString GAnalyticsWorker::getUserAgent()
|
||||||
{
|
{
|
||||||
QString system = Sys::getSystemInfo();
|
return QString("%1/%2").arg(m_appName).arg(m_appVersion);
|
||||||
|
|
||||||
return QString("%1/%2 (%3)").arg(m_appName).arg(m_appVersion).arg(system);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,121 +1,16 @@
|
|||||||
#include "sys.h"
|
#include "sys.h"
|
||||||
|
|
||||||
// FIXME: replace with our version...
|
#include <sys/utsname.h>
|
||||||
QString Sys::getSystemInfo()
|
|
||||||
|
Sys::KernelInfo Sys::getKernelInfo()
|
||||||
{
|
{
|
||||||
QSysInfo::MacVersion version = QSysInfo::macVersion();
|
Sys::KernelInfo out;
|
||||||
QString os;
|
struct utsname buf;
|
||||||
switch (version)
|
uname(&buf);
|
||||||
{
|
out.kernelName = buf.sysname;
|
||||||
case QSysInfo::MV_9:
|
out.kernelVersion = buf.release;
|
||||||
os = "Macintosh; Mac OS 9";
|
out.kernelBuild = buf.version;
|
||||||
break;
|
return out;
|
||||||
case QSysInfo::MV_10_0:
|
|
||||||
os = "Macintosh; Mac OS 10.0";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_10_1:
|
|
||||||
os = "Macintosh; Mac OS 10.1";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_10_2:
|
|
||||||
os = "Macintosh; Mac OS 10.2";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_10_3:
|
|
||||||
os = "Macintosh; Mac OS 10.3";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_10_4:
|
|
||||||
os = "Macintosh; Mac OS 10.4";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_10_5:
|
|
||||||
os = "Macintosh; Mac OS 10.5";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_10_6:
|
|
||||||
os = "Macintosh; Mac OS 10.6";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_10_7:
|
|
||||||
os = "Macintosh; Mac OS 10.7";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_10_8:
|
|
||||||
os = "Macintosh; Mac OS 10.8";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_10_9:
|
|
||||||
os = "Macintosh; Mac OS 10.9";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_10_10:
|
|
||||||
os = "Macintosh; Mac OS 10.10";
|
|
||||||
break;
|
|
||||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
|
||||||
case QSysInfo::MV_10_11:
|
|
||||||
os = "Macintosh; Mac OS 10.11";
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 8, 0))
|
|
||||||
case QSysInfo::MV_10_12:
|
|
||||||
os = "Macintosh; Mac OS 10.12";
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
case QSysInfo::MV_Unknown:
|
|
||||||
os = "Macintosh; Mac OS unknown";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_IOS_5_0:
|
|
||||||
os = "iPhone; iOS 5.0";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_IOS_5_1:
|
|
||||||
os = "iPhone; iOS 5.1";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_IOS_6_0:
|
|
||||||
os = "iPhone; iOS 6.0";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_IOS_6_1:
|
|
||||||
os = "iPhone; iOS 6.1";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_IOS_7_0:
|
|
||||||
os = "iPhone; iOS 7.0";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_IOS_7_1:
|
|
||||||
os = "iPhone; iOS 7.1";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_IOS_8_0:
|
|
||||||
os = "iPhone; iOS 8.0";
|
|
||||||
break;
|
|
||||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
|
||||||
case QSysInfo::MV_IOS_8_1:
|
|
||||||
os = "iPhone; iOS 8.1";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_IOS_8_2:
|
|
||||||
os = "iPhone; iOS 8.2";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_IOS_8_3:
|
|
||||||
os = "iPhone; iOS 8.3";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_IOS_8_4:
|
|
||||||
os = "iPhone; iOS 8.4";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_IOS_9_0:
|
|
||||||
os = "iPhone; iOS 9.0";
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 8, 0))
|
|
||||||
case QSysInfo::MV_IOS_9_1:
|
|
||||||
os = "iPhone; iOS 9.1";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_IOS_9_2:
|
|
||||||
os = "iPhone; iOS 9.2";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_IOS_9_3:
|
|
||||||
os = "iPhone; iOS 9.3";
|
|
||||||
break;
|
|
||||||
case QSysInfo::MV_IOS_10_0:
|
|
||||||
os = "iPhone; iOS 10.0";
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
case QSysInfo::MV_IOS:
|
|
||||||
os = "iPhone; iOS unknown";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
os = "Macintosh";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return os;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#include <sys/sysctl.h>
|
#include <sys/sysctl.h>
|
||||||
|
@ -3,14 +3,14 @@
|
|||||||
#include <sys/utsname.h>
|
#include <sys/utsname.h>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
|
||||||
QString Sys::getSystemInfo()
|
Sys::KernelInfo Sys::getKernelInfo()
|
||||||
{
|
{
|
||||||
|
Sys::KernelInfo out;
|
||||||
struct utsname buf;
|
struct utsname buf;
|
||||||
uname(&buf);
|
uname(&buf);
|
||||||
QString system(buf.sysname);
|
out.kernelName = buf.sysname;
|
||||||
QString release(buf.release);
|
out.kernelVersion = buf.release;
|
||||||
|
return out;
|
||||||
return system + "; " + release;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t Sys::getSystemRam()
|
uint64_t Sys::getSystemRam()
|
||||||
|
@ -2,21 +2,15 @@
|
|||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
|
||||||
QString Sys::getSystemInfo()
|
Sys::KernelInfo Sys::getKernelInfo()
|
||||||
{
|
{
|
||||||
static QString cached;
|
Sys::KernelInfo out;
|
||||||
if(!cached.isNull())
|
out.kernelName = "Windows";
|
||||||
{
|
OSVERSIONINFOW osvi;
|
||||||
return cached;
|
ZeroMemory(&osvi, sizeof(OSVERSIONINFOW));
|
||||||
}
|
GetVersionExW(&osvi);
|
||||||
else
|
out.kernelVersion = QString("%1.%2").arg(osvi.dwMajorVersion).arg(osvi.dwMinorVersion);
|
||||||
{
|
return out;
|
||||||
OSVERSIONINFOW osvi;
|
|
||||||
ZeroMemory(&osvi, sizeof(OSVERSIONINFOW));
|
|
||||||
GetVersionExW(&osvi);
|
|
||||||
cached = QString("Windows %1.%2").arg(osvi.dwMajorVersion).arg(osvi.dwMinorVersion);
|
|
||||||
return cached;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t Sys::getSystemRam()
|
uint64_t Sys::getSystemRam()
|
||||||
|
Loading…
Reference in New Issue
Block a user