Skip to content

Instantly share code, notes, and snippets.

View humbledroid's full-sized avatar

Sidhant Rajora humbledroid

View GitHub Profile
@humbledroid
humbledroid / MainActivity.kt
Created November 10, 2019 10:12
after adding the state variable to show the alert dialog
package com.death.demo
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.Composable
import androidx.compose.State
import androidx.compose.state
import androidx.compose.unaryPlus
import androidx.ui.core.Text
import androidx.ui.core.setContent
package com.death.demo
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.Composable
import androidx.compose.state
import androidx.compose.unaryPlus
import androidx.ui.core.Text
import androidx.ui.core.setContent
import androidx.ui.layout.Column
public static String getPath(final Uri uri) {
try {
final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
if (isKitKat && DocumentsContract.isDocumentUri(ApplicationLoader.applicationContext, uri)) {
if (isExternalStorageDocument(uri)) {
final String docId = DocumentsContract.getDocumentId(uri);
final String[] split = docId.split(":");
final String type = split[0];
if ("primary".equalsIgnoreCase(type)) {
return Environment.getExternalStorageDirectory() + "/" + split[1];
@ExperimentalCoroutinesApi
object EventBus {
val bus: BroadcastChannel<Any> = BroadcastChannel(Channel.CONFLATED)
suspend fun send(o: Any) = bus.send(o)
inline fun <reified T> asChannel(): ReceiveChannel<T> {
return bus.openSubscription().filter { it is T }.map { it as T }
}
}
class MainActivity : AppCompatActivity() {
lateinit var binding: SampleBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = SampleBinding.inflate(layoutInflater, findViewById(android.R.id.content), true)
supportFragmentManager.beginTransaction()
.add(binding.frame.id, DemoFragment(), "Sample").commit()
}
}
class DemoFragment: Fragment(){
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
return ComposeView(requireActivity()).apply {
setContent {
SampleTheme {
Greeting(name = "Hello Android")
private fun resolveParentCompositionContext() = parentContext
?: findViewTreeCompositionContext()?.also { cachedViewTreeCompositionContext = it }
?: cachedViewTreeCompositionContext
?: windowRecomposer.also { cachedViewTreeCompositionContext = it }