Skip to content

Instantly share code, notes, and snippets.

View devrath's full-sized avatar
💭
I'm grateful when for one drop in glass. Since I knw exactly what to do with it

Devrath devrath

💭
I'm grateful when for one drop in glass. Since I knw exactly what to do with it
View GitHub Profile
@devrath
devrath / MetaDataTag.xml
Created December 17, 2023 17:21
Meta data used for initialising library
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application>
<meta-data
android:name="com.istudio.lib_utils.sdkConfig.SDKInitializer"
android:value="initializer" />
</application>
</manifest>
@devrath
devrath / RememberUpdatedState.kt
Created January 22, 2023 13:24
This is a demo of rememberUpdated state in kotlin for jetpack compose
class RememberUpdatedStateActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent { CurrentScreen(){
// Control is received back after performing the long running operation for a certain duration
} }
}
@Composable
@devrath
devrath / rememberCoroutineScope.kt
Created January 22, 2023 11:32
Demo describes how to use the rememberCoroutine scope in android
@Composable
fun ScreenContent(){
Box(
modifier = Modifier
.fillMaxSize()
.background(Color.Yellow)
) {
val custScope = rememberCoroutineScope()
class LaunchedEffectActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
CurrentScreen()
}
}
@Composable
@devrath
devrath / EventAction.kt
Created January 1, 2023 07:44
Publisher Subscriber implementation of state flow in kotlin for android
data class EventAction( val eventName: String )
@devrath
devrath / CustomLocalBroadcastReceiver.kt
Created October 5, 2022 08:37
Demo of local broadcast
const val CUSTOM_ACTION = "custom-action-local-broadcast"
class CustomLocalBroadcastReceiver : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent) {
val data = intent.getStringExtra("message")
Toast.makeText(context, data, Toast.LENGTH_LONG).show()
}
}
@devrath
devrath / ApplicationReceiverActivity.kt
Created October 5, 2022 07:02
Receiver for app to app communication
package com.droid.code.demos.application_receiver
import android.content.Intent
import android.content.IntentFilter
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.droid.code.databinding.ActivityDynamicRecieverBinding
import com.droid.code.demos.application_receiver.reciever.ApplicationReceiverBroadcastReceiver
import com.droid.code.demos.dynamic_receiver.reciever.CustomDynamicBroadcastReceiver
@devrath
devrath / CustomDynamicBroadcastReceiver.kt
Created October 5, 2022 06:00
Registering and un-registering in dynamic recievers
package com.droid.code.demos.dynamic_receiver.reciever
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.net.ConnectivityManager
import android.widget.Toast
const val KEY_AIRPLANE_MODE = "state"
@devrath
devrath / CustomStaticBroadcastReceiver.kt
Created October 4, 2022 15:33
Deprecated static broadcast reciever
class CustomStaticBroadcastReceiver : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent) {
if (ConnectivityManager.CONNECTIVITY_ACTION == intent.action) {
Toast.makeText(context, "Connectivity changed", Toast.LENGTH_SHORT).show()
}
}
}
sealed class User {
object Name : User(){
// We can override equals function
override fun equals(other: Any?): Boolean { return super.equals(other) }
// We can override hashCode function
override fun hashCode(): Int { return super.hashCode() }
// We can override toString function
override fun toString(): String { return super.toString() }
}
data object Age : User() {