Skip to content

Instantly share code, notes, and snippets.

View akshaykalola28's full-sized avatar
😍
Love to Code

Akshay Kalola akshaykalola28

😍
Love to Code
View GitHub Profile
@akshaykalola28
akshaykalola28 / StartActivityExt.kt
Created April 27, 2023 05:52
Extension functions for Start Activity
import android.app.Activity
import android.content.Intent
fun Activity.startActivity(
cls: Class<*>,
finishCallingActivity: Boolean = true,
block: (Intent.() -> Unit)? = null
) {
val intent = Intent(this, cls)
block?.invoke(intent)
@akshaykalola28
akshaykalola28 / BooleanExpressionExt.kt
Last active April 5, 2023 10:01
Extensions for the boolean, for different different usecases.
@file:OptIn(ExperimentalContracts::class)
import kotlin.contracts.ExperimentalContracts
import kotlin.contracts.contract
fun Boolean?.isTrue(): Boolean {
contract {
returns(true) implies (this@isTrue != null)
}
return this == true
@akshaykalola28
akshaykalola28 / CopyToClipboardExt.kt
Created April 5, 2023 09:33
Extension function for copy to clipboard in android
import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
import androidx.core.content.ContextCompat
fun String.copyToClipboard(context: Context) {
val clipboardManager = ContextCompat.getSystemService(context, ClipboardManager::class.java)
val clip = ClipData.newPlainText("clipboard", this)
clipboardManager?.setPrimaryClip(clip)
}
@akshaykalola28
akshaykalola28 / ServiceManageExt.kt
Created April 5, 2023 09:29
Extension function to access system service manager in android
import android.app.DownloadManager
import android.app.NotificationManager
import android.content.Context
import android.net.ConnectivityManager
import android.view.WindowManager
import androidx.core.content.ContextCompat
val Context.windowManager
get() = ContextCompat.getSystemService(this, WindowManager::class.java)
@akshaykalola28
akshaykalola28 / ScreenSizeExt.kt
Last active April 5, 2023 09:24
Extension function for calculate device screen size for android
import android.content.Context
import android.graphics.Insets
import android.graphics.Rect
import android.os.Build
import android.util.DisplayMetrics
import android.util.Size
import android.view.WindowInsets
import android.view.WindowManager
val Context.screenSize: Size
@akshaykalola28
akshaykalola28 / EditableExt.kt
Created April 5, 2023 09:05
Convert string to editable using extension in android
import android.text.Editable
fun String.toEditable(): Editable = Editable.Factory.getInstance().newEditable(this)
@akshaykalola28
akshaykalola28 / RemoveWhitespacesExt.kt
Last active April 5, 2023 09:02
Extension remove whitespace for kotlin developer
fun String.removeAllWhitespaces(): String {
return this.replace("\\s+".toRegex(), "")
}
fun String.removeDuplicateWhitespaces(): String {
return this.replace("\\s+".toRegex(), " ")
}
@akshaykalola28
akshaykalola28 / PermissionCheckExt.kt
Created April 5, 2023 08:51
Check permission in android using extension function
import android.content.Context
import android.content.pm.PackageManager
import androidx.core.content.ContextCompat
fun Context.isPermissionGranted(permission: String) = run {
ContextCompat.checkSelfPermission(this, permission) == PackageManager.PERMISSION_GRANTED
}
@akshaykalola28
akshaykalola28 / NetworkCheckExt.kt
Created April 5, 2023 08:19
Extension function for check internet connectivity
import android.content.Context
import android.net.ConnectivityManager
import android.net.NetworkCapabilities
import androidx.fragment.app.Fragment
fun Context.isNetworkAvailable(): Boolean {
val manager = getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val capabilities = manager.getNetworkCapabilities(manager.activeNetwork)
return if (capabilities != null) {
capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)
@akshaykalola28
akshaykalola28 / EditTextValueExt.kt
Created April 5, 2023 07:19
Extension for edit text to get text as string
import android.widget.EditText
val EditText.value
get() = text?.toString() ?: ""