recipe-kt/app/src/main/java/xyz/pixelatedw/recipe/MainActivity.kt

54 lines
1.4 KiB
Kotlin
Raw Normal View History

2025-08-07 10:28:56 +03:00
package xyz.pixelatedw.recipe
import android.content.Intent
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.activity.result.contract.ActivityResultContracts
import androidx.activity.viewModels
2025-08-07 10:28:56 +03:00
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Surface
import androidx.compose.ui.Modifier
2025-08-08 23:21:33 +03:00
import xyz.pixelatedw.recipe.data.RecipesView
import xyz.pixelatedw.recipe.ui.components.MainScreen
2025-08-07 10:28:56 +03:00
import xyz.pixelatedw.recipe.ui.theme.RecipeTheme
2025-08-08 23:21:33 +03:00
import xyz.pixelatedw.recipe.utils.getRecipes
2025-08-07 10:28:56 +03:00
class MainActivity : ComponentActivity() {
private val recipeView: RecipesView by viewModels()
2025-08-07 10:28:56 +03:00
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
findSourceDir()
2025-08-07 10:28:56 +03:00
2025-08-08 23:21:33 +03:00
enableEdgeToEdge()
setContent {
RecipeTheme {
2025-08-07 10:28:56 +03:00
Surface {
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
2025-08-08 23:21:33 +03:00
MainScreen(innerPadding, recipeView)
2025-08-07 10:28:56 +03:00
}
}
}
}
2025-08-07 10:28:56 +03:00
}
2025-08-08 23:21:33 +03:00
private fun findSourceDir() {
val intent = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE)
2025-08-08 23:21:33 +03:00
val getContent =
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == RESULT_OK) {
result.data?.data?.let { uri ->
getRecipes(this, recipeView, uri)
}
}
}
2025-08-08 23:21:33 +03:00
getContent.launch(intent)
2025-08-07 10:28:56 +03:00
}
}