Android Helper Documentation

JitPackAndroidXKotlinPlatformRelease
Android Android 17 (API 37) ReadyKotlin Kotlin Coroutines & DataStoreFlutter Flutter MethodChannel BridgeKotlin Kotlin Demo APK
Ask AI Assistant about Android Helper Documentation:
📦 Installation & Setup
1️⃣ Step 1: Add Dependency in Gradle / Version Catalog (TOML)
Select your preferred Gradle configuration method below to declare JitPack repository and androidhelper dependency.
// 1. Add version & library in gradle/libs.versions.toml
[versions]
androidhelper = "1.0.0-beta01"
[libraries]
androidhelper = { group = "com.github.zaitxcode", name = "androidhelper", version.ref = "androidhelper" }
// 2. Add JitPack repository in settings.gradle.kts
repositories { google(); mavenCentral(); maven { url = uri("https://jitpack.io") } }
// 3. Add dependency in app/build.gradle.kts
dependencies { implementation(libs.androidhelper) }
2️⃣ Step 2: Initialize in Application or Activity Class
KotlinKotlin
Call AppHelper.initialize(context) inside your Application.onCreate() or Activity.onCreate().
import android.app.Application
import com.zaitxcode.android.core.AppHelper
class ExampleApplication : Application() {
  override fun onCreate() {
    super.onCreate()
    AppHelper.initialize(this)
  }
}
🌐 Network Helpers
🌐 Network.isConnected, activeTransport, isWifiConnected & getIpAddress
Check internet connectivity, validated connection, transport type, metered state, and IP address via Network module.
import com.zaitxcode.android.net.Network
val isOnline: Boolean = Network.isConnected
val isValidated: Boolean = Network.hasValidatedInternet()
val isMetered: Boolean = Network.isConnectionMetered()
val transport: String = Network.activeTransport()
val isWifi: Boolean = Network.isWifiConnected()
val isCellular: Boolean = Network.isCellularConnected()
val ip: String? = Network.getIpAddress()
🔗 External Intents & Actions
🔗 Intent.openWhatsApp, dial, sendSms, sendEmail, openAppSettings
Open WhatsApp chats, dialer, SMS, email, share text/files, maps, app settings, and Play Store directly via Intent module.
import com.zaitxcode.android.content.Intent
Intent.openWhatsApp("+201000000000", "Hello from Android Helper")
Intent.dial("+201000000000")
Intent.sendSms("+201000000000", "SMS message text")
Intent.sendEmail("support@example.com", "App Support", "Message body")
Intent.openMap(30.0444, 31.2357, "Cairo, Egypt")
Intent.openAppSettings()
🌐 Browser Custom Tabs
🌐 Browser.openUrl
Launch custom tabs in-app browser with customized toolbar color and title bar hiding via Browser module.
import com.zaitxcode.android.browser.Browser
Browser.openUrl("https://docs.zaitxcode.com/androidhelper")
📋 Clipboard Helpers
📋 Clipboard.copyText, getText, hasCopiedText & clear
Read, copy, verify, and clear text on system clipboard via Clipboard module.
import com.zaitxcode.android.content.Clipboard
Clipboard.copyText("Hello Android Helper")
val text: String? = Clipboard.getText()
val hasText: Boolean = Clipboard.hasCopiedText()
Clipboard.clear()
📳 Vibration & Haptics
📳 Vibration.vibrate, vibratePattern & cancel
Trigger physical vibration motor with single shot or complex haptic waveforms via Vibration module.
import com.zaitxcode.android.hardware.Vibration
Vibration.vibrate(200)
Vibration.vibratePattern(longArrayOf(0, 100, 50, 200), -1)
Vibration.cancel()
🛡️ Screen Capture Protection
🛡️ Screen.blockCapture, unblockCapture & isCaptureBlocked
Prevent or restore screenshot capture and screen recording permissions on active Activity via Screen module.
import com.zaitxcode.android.view.Screen
Screen.blockCapture()
Screen.unblockCapture()
val blocked: Boolean = Screen.isCaptureBlocked()
🔔 Notification Manager
🔔 Notification.showNotification, createChannel, deleteChannel & cancelAll
Create notification channels, delete channels, show custom notifications, cancel notifications, and check posting permissions via Notification module.
import com.zaitxcode.android.app.Notification
Notification.createChannel("demo", "Demo Channel")
Notification.showNotification("demo", "Title", "Message", R.drawable.ic_launcher)
Notification.cancelAll()
val canPost: Boolean = Notification.canPostNotifications()
⌨️ Soft Keyboard Manager
⌨️ Keyboard.hideKeyboard, showKeyboard & isKeyboardOpen
Show, hide, and check active status of soft keyboard via Keyboard module.
import com.zaitxcode.android.view.Keyboard
Keyboard.hideKeyboard()
Keyboard.showKeyboard(editText)
📱 Device Hardware Info
📱 Device.deviceName, brand, model, sdk, getTotalRam, isTablet, isEmulator
Query device model, brand, manufacturer, SDK level, tablet/emulator state, RAM size, language, and dark mode state via Device module.
import com.zaitxcode.android.hardware.Device
val deviceName: String = Device.deviceName()
val brand: String = Device.brand()
val model: String = Device.model()
val sdk: Int = Device.sdk()
val totalRam: Long = Device.getTotalRam()
val isTablet: Boolean = Device.isTablet()
val isEmulator: Boolean = Device.isEmulator()
🔋 Battery & Power State
🔋 Battery.getBatteryLevel, isCharging, getChargingType & getBatteryHealth
Query battery level percentage, charging status, plug type, health status, and power save mode via Battery module.
import com.zaitxcode.android.hardware.Battery
val level: Int = Battery.getBatteryLevel()
val isCharging: Boolean = Battery.isCharging()
val chargingType: String = Battery.getChargingType()
val health: String = Battery.getBatteryHealth()
📊 AppInfo & AppState
📊 AppInfo.appName, packageName, versionName & AppState.isAppInForeground
Query package name, app name, version name/code, debug state, installer package, and foreground/background state via AppInfo & AppState modules.
import com.zaitxcode.android.app.AppInfo
import com.zaitxcode.android.app.AppState
val name: String = AppInfo.appName()
val pkg: String = AppInfo.packageName()
val version: String = AppInfo.versionName()
val isForeground: Boolean = AppState.isAppInForeground()
🔊 Audio Manager
🔊 Audio.playClickSound, isMuted, getMusicVolume & isHeadphonesConnected
Play tactile system click sound, query audio ringer mode/volume, and detect wired/bluetooth headphones via Audio module.
import com.zaitxcode.android.hardware.Audio
Audio.playClickSound()
val isMuted: Boolean = Audio.isMuted()
val volume: Int = Audio.getMusicVolume()
val isHeadphones: Boolean = Audio.isHeadphonesConnected()
📐 Display Metrics
📐 Display.isPortrait, isLandscape, getScreenWidthDp, getScreenHeightDp
Query screen orientation, width/height in DP, density scale, and convert between DP and PX via Display module.
import com.zaitxcode.android.hardware.Display
val isPortrait: Boolean = Display.isPortrait()
val widthDp: Int = Display.getScreenWidthDp()
val heightDp: Int = Display.getScreenHeightDp()
📂 File System Helpers
📂 File.writeText, readText, delete, exists & getMimeType
Private internal file write/read/append/delete, line reading, byte streams, file size, extension, MIME type, and listing via File module.
import com.zaitxcode.android.io.File as AppFile
AppFile.writeText("notes.txt", "Content")
val text: String? = AppFile.readText("notes.txt")
AppFile.delete("notes.txt")
💾 Storage & Cache Manager
💾 Storage.getFreeInternalStorage, formatBytes & clearCache
Query internal free/total/used storage space, format bytes to human-readable strings, calculate cache size, and clear app cache via Storage module.
import com.zaitxcode.android.io.Storage
val freeBytes: Long = Storage.getFreeInternalStorage()
val formatted: String = Storage.formatBytes(freeBytes)
Storage.clearCache()
🔐 Encryption & Cryptography
🔐 Encryption.sha256, sha512, aesEncrypt, aesDecrypt & base64Encode
Hash SHA-1, SHA-256, SHA-512, MD5, HMAC-SHA256, AES encryption/decryption, Base64 encode/decode, and Base64 URL safe conversion via Encryption module.
import com.zaitxcode.android.security.Encryption
val hash: String = Encryption.sha256("password")
val encrypted: String = Encryption.aesEncrypt("secret", "key123")
val b64: String = Encryption.base64Encode("data")
✅ Data Validation Helpers
✅ Validation.isValidEmail, isValidPhone, isValidUrl & isStrongPassword
Validate email, phone number, URL, IPv4/IPv6 address, username, password strength, credit card Luhn check, Egyptian National ID, hex color, and JSON formatting via Validation module.
import com.zaitxcode.android.util.Validation
val validEmail: Boolean = Validation.isValidEmail("user@example.com")
val validPhone: Boolean = Validation.isValidPhone("+201000000000")
val isStrong: Boolean = Validation.isStrongPassword("Pass@1234")
⏰ Time & Date Utilities
⏰ Time.now, format, timeAgo, isToday & formatDuration
Current epoch timestamp, date formatting/parsing, human timeAgo strings, today/yesterday/tomorrow check, leap year, days in month, and duration formatting via Time module.
import com.zaitxcode.android.util.Time
val formatted: String = Time.format(Time.now(), "yyyy-MM-dd HH:mm:ss")
val ago: String = Time.timeAgo(Time.now() - 3600000)
🔒 Biometric Authentication
🔒 Biometric.canAuthenticate & authenticate
Check hardware availability and prompt biometric fingerprint/face authentication dialog via Biometric module.
import com.zaitxcode.android.hardware.Biometric
val canBio: Boolean = Biometric.canAuthenticate()
Biometric.authenticate(activity = fragmentActivity, title = "Auth", onSuccess = {})
🔑 Runtime Permissions
🔑 Permission.isGranted, areGranted, deniedPermissions & request
Check and request runtime permissions, multiple permission arrays, denied permission lists, and rationale dialogs via Permission module.
import com.zaitxcode.android.app.Permission
val granted: Boolean = Permission.isGranted(Manifest.permission.CAMERA)
✍️ App Signature Verification
✍️ Signature.getAppPrimarySignatureSHA1 & validateAppSignature
Extract app signing certificate SHA-1 fingerprint array and validate app primary signature against expected hash via Signature module.
import com.zaitxcode.android.app.Signature
val sha1: String = Signature.getAppPrimarySignatureSHA1()