com.lithic.api.core.Properties.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lithic-java-core Show documentation
Show all versions of lithic-java-core Show documentation
The Lithic Developer API is designed to provide a predictable programmatic
interface for accessing your Lithic account through an API and transaction
webhooks. Note that your API key is a secret and should be treated as such.
Don't share it with anyone, including us. We will never ask you for it.
@file:JvmName("Properties")
package com.lithic.api.core
import java.util.Properties
fun getOsArch(): String {
val osArch = System.getProperty("os.arch")
return when (osArch) {
null -> "unknown"
"i386",
"x32",
"x86" -> "x32"
"amd64",
"x86_64" -> "x64"
"arm" -> "arm"
"aarch64" -> "arm64"
else -> "other:${osArch}"
}
}
fun getOsName(): String {
val osName = System.getProperty("os.name")
val vendorUrl = System.getProperty("java.vendor.url")
return when {
osName == null -> "Unknown"
osName.startsWith("Linux") && vendorUrl == "http://www.android.com/" -> "Android"
osName.startsWith("Linux") -> "Linux"
osName.startsWith("Mac OS") -> "MacOS"
osName.startsWith("Windows") -> "Windows"
else -> "Other:${osName}"
}
}
fun getOsVersion(): String {
return System.getProperty("os.version", "unknown")
}
fun getPackageVersion(): String {
return Properties::class.java.`package`.implementationVersion ?: "unknown"
}
fun getJavaVersion(): String {
return System.getProperty("java.version", "unknown")
}