
Unified toolkit offering app lifecycle, device and app info, clipboard read/write/observe, network and keyboard monitoring, haptics, sensor observation, navigation, share-sheet and file pick/save helpers.
A Kotlin Multiplatform toolkit for common app and device capabilities on Android and iOS.
Add the dependency in commonMain:
kotlin {
sourceSets {
commonMain.dependencies {
implementation("com.airsaid:toolkit:$version")
}
}
}Make sure Maven Central is available:
repositories {
mavenCentral()
}Android apps must initialize the toolkit before using platform-backed APIs. iOS does not need an initialization call.
class DemoApp : Application() {
override fun onCreate() {
super.onCreate()
Toolkit.initialize(applicationContext)
}
}val appInfo = Toolkit.appInfo()
println(appInfo.versionName)
val device = Toolkit.deviceInfo()
println(device.systemVersion)
val networkMonitor = Toolkit.network()
scope.launch {
println(networkMonitor.getCurrentNetworkStatus().isConnected)
}
val clipboard = Toolkit.clipboard()
scope.launch {
clipboard.setText("hello")
}
val haptics = Toolkit.haptics()
haptics.perform(HapticFeedbackType.SUCCESS)Detailed usage guide: toolkit/README.md
The Android artifact declares the permissions needed by toolkit features:
ACCESS_NETWORK_STATEClipboard and share helpers use a FileProvider authority based on the consuming app id:
${applicationId}.toolkit-clipboard.
Apache-2.0. See LICENSE.
A Kotlin Multiplatform toolkit for common app and device capabilities on Android and iOS.
Add the dependency in commonMain:
kotlin {
sourceSets {
commonMain.dependencies {
implementation("com.airsaid:toolkit:$version")
}
}
}Make sure Maven Central is available:
repositories {
mavenCentral()
}Android apps must initialize the toolkit before using platform-backed APIs. iOS does not need an initialization call.
class DemoApp : Application() {
override fun onCreate() {
super.onCreate()
Toolkit.initialize(applicationContext)
}
}val appInfo = Toolkit.appInfo()
println(appInfo.versionName)
val device = Toolkit.deviceInfo()
println(device.systemVersion)
val networkMonitor = Toolkit.network()
scope.launch {
println(networkMonitor.getCurrentNetworkStatus().isConnected)
}
val clipboard = Toolkit.clipboard()
scope.launch {
clipboard.setText("hello")
}
val haptics = Toolkit.haptics()
haptics.perform(HapticFeedbackType.SUCCESS)Detailed usage guide: toolkit/README.md
The Android artifact declares the permissions needed by toolkit features:
ACCESS_NETWORK_STATEClipboard and share helpers use a FileProvider authority based on the consuming app id:
${applicationId}.toolkit-clipboard.
Apache-2.0. See LICENSE.