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
|
2025-08-07 16:47:41 +03:00
|
|
|
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 16:47:41 +03:00
|
|
|
|
2025-08-07 10:28:56 +03:00
|
|
|
class MainActivity : ComponentActivity() {
|
2025-08-07 16:47:41 +03:00
|
|
|
private val recipeView: RecipesView by viewModels()
|
|
|
|
|
|
2025-08-07 10:28:56 +03:00
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
|
|
super.onCreate(savedInstanceState)
|
|
|
|
|
|
2025-08-07 16:47:41 +03:00
|
|
|
findSourceDir()
|
2025-08-07 10:28:56 +03:00
|
|
|
|
2025-08-08 23:21:33 +03:00
|
|
|
enableEdgeToEdge()
|
|
|
|
|
setContent {
|
2025-08-07 16:47:41 +03:00
|
|
|
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 16:47:41 +03:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-08-07 10:28:56 +03:00
|
|
|
}
|
2025-08-07 16:47:41 +03:00
|
|
|
|
2025-08-08 23:21:33 +03:00
|
|
|
private fun findSourceDir() {
|
|
|
|
|
val intent = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE)
|
2025-08-07 16:47:41 +03:00
|
|
|
|
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-07 16:47:41 +03:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-08-08 19:12:10 +03:00
|
|
|
|
2025-08-08 23:21:33 +03:00
|
|
|
getContent.launch(intent)
|
2025-08-07 10:28:56 +03:00
|
|
|
}
|
|
|
|
|
}
|