mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-14 18:05:27 +07:00
[platform] machine ID detection: minor optimization, one more Linux source
(cherry-picked from commit bb954b4da53f85c1f0938bb1dc787ee0eb5ba7bc) IJ-CR-147524 GitOrigin-RevId: 23a8952dbec25061e4d3c3eedf5f100a8d427050
This commit is contained in:
committed by
intellij-monorepo-bot
parent
cf2c0980d5
commit
b558401b52
@@ -3,7 +3,7 @@ package com.intellij.internal.statistic.eventLog.fus
|
||||
|
||||
import com.intellij.internal.statistic.eventLog.EventLogConfiguration
|
||||
import com.intellij.openapi.diagnostic.logger
|
||||
import com.intellij.openapi.util.SystemInfo
|
||||
import com.intellij.util.system.OS
|
||||
import com.sun.jna.platform.mac.IOKitUtil
|
||||
import com.sun.jna.platform.win32.Advapi32Util
|
||||
import com.sun.jna.platform.win32.COM.WbemcliUtil
|
||||
@@ -31,10 +31,10 @@ object MachineIdManager {
|
||||
|
||||
private val machineId: Lazy<String?> = lazy {
|
||||
runCatching {
|
||||
when {
|
||||
SystemInfo.isWindows -> getWindowsMachineId()
|
||||
SystemInfo.isMac -> getMacOsMachineId()
|
||||
SystemInfo.isLinux -> getLinuxMachineId()
|
||||
when (OS.CURRENT) {
|
||||
OS.Windows -> getWindowsMachineId()
|
||||
OS.macOS -> getMacOsMachineId()
|
||||
OS.Linux -> getLinuxMachineId()
|
||||
else -> null
|
||||
}
|
||||
}.onFailure { LOG.debug(it) }.getOrNull()
|
||||
@@ -67,7 +67,7 @@ object MachineIdManager {
|
||||
|
||||
/** See [MACHINE-ID(5)](https://manpages.debian.org/testing/systemd/machine-id.5.en.html). */
|
||||
private fun getLinuxMachineId(): String? =
|
||||
sequenceOf("/etc/machine-id", "/var/lib/dbus/machine-id")
|
||||
sequenceOf("/etc/machine-id", "/var/lib/dbus/machine-id", "/sys/devices/virtual/dmi/id/product_uuid")
|
||||
.map {
|
||||
runCatching { Path.of(it).readText().trim().takeIf(String::isNotEmpty) }
|
||||
.onFailure { LOG.debug(it) }
|
||||
|
||||
@@ -9,7 +9,7 @@ import org.junit.jupiter.api.Test
|
||||
class MachineIdManagerTest {
|
||||
@Test fun smoke() {
|
||||
assertThat(MachineIdManager.getAnonymizedMachineId("test"))
|
||||
.isNotNull
|
||||
.isNotBlank
|
||||
}
|
||||
|
||||
@Test fun contract() {
|
||||
|
||||
Reference in New Issue
Block a user