mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 02:59:33 +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.internal.statistic.eventLog.EventLogConfiguration
|
||||||
import com.intellij.openapi.diagnostic.logger
|
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.mac.IOKitUtil
|
||||||
import com.sun.jna.platform.win32.Advapi32Util
|
import com.sun.jna.platform.win32.Advapi32Util
|
||||||
import com.sun.jna.platform.win32.COM.WbemcliUtil
|
import com.sun.jna.platform.win32.COM.WbemcliUtil
|
||||||
@@ -31,10 +31,10 @@ object MachineIdManager {
|
|||||||
|
|
||||||
private val machineId: Lazy<String?> = lazy {
|
private val machineId: Lazy<String?> = lazy {
|
||||||
runCatching {
|
runCatching {
|
||||||
when {
|
when (OS.CURRENT) {
|
||||||
SystemInfo.isWindows -> getWindowsMachineId()
|
OS.Windows -> getWindowsMachineId()
|
||||||
SystemInfo.isMac -> getMacOsMachineId()
|
OS.macOS -> getMacOsMachineId()
|
||||||
SystemInfo.isLinux -> getLinuxMachineId()
|
OS.Linux -> getLinuxMachineId()
|
||||||
else -> null
|
else -> null
|
||||||
}
|
}
|
||||||
}.onFailure { LOG.debug(it) }.getOrNull()
|
}.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). */
|
/** See [MACHINE-ID(5)](https://manpages.debian.org/testing/systemd/machine-id.5.en.html). */
|
||||||
private fun getLinuxMachineId(): String? =
|
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 {
|
.map {
|
||||||
runCatching { Path.of(it).readText().trim().takeIf(String::isNotEmpty) }
|
runCatching { Path.of(it).readText().trim().takeIf(String::isNotEmpty) }
|
||||||
.onFailure { LOG.debug(it) }
|
.onFailure { LOG.debug(it) }
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import org.junit.jupiter.api.Test
|
|||||||
class MachineIdManagerTest {
|
class MachineIdManagerTest {
|
||||||
@Test fun smoke() {
|
@Test fun smoke() {
|
||||||
assertThat(MachineIdManager.getAnonymizedMachineId("test"))
|
assertThat(MachineIdManager.getAnonymizedMachineId("test"))
|
||||||
.isNotNull
|
.isNotBlank
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test fun contract() {
|
@Test fun contract() {
|
||||||
|
|||||||
Reference in New Issue
Block a user