mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-18 10:17:02 +05:30
Switch over persistence to Room
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
parent
644a8a6110
commit
717eefad97
1 changed files with 11 additions and 3 deletions
|
@ -10,7 +10,9 @@ import androidx.compose.material.MaterialTheme
|
||||||
import androidx.compose.material.Scaffold
|
import androidx.compose.material.Scaffold
|
||||||
import androidx.compose.material.TopAppBar
|
import androidx.compose.material.TopAppBar
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.mutableStateListOf
|
import androidx.compose.runtime.collectAsState
|
||||||
|
import androidx.compose.runtime.getValue
|
||||||
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.platform.setContent
|
import androidx.compose.ui.platform.setContent
|
||||||
import androidx.compose.ui.semantics.semantics
|
import androidx.compose.ui.semantics.semantics
|
||||||
|
@ -19,8 +21,10 @@ import androidx.compose.ui.unit.dp
|
||||||
import androidx.ui.tooling.preview.Preview
|
import androidx.ui.tooling.preview.Preview
|
||||||
import dev.msfjarvis.todo.compose.utils.IconResource
|
import dev.msfjarvis.todo.compose.utils.IconResource
|
||||||
import dev.msfjarvis.todo.data.model.TodoItem
|
import dev.msfjarvis.todo.data.model.TodoItem
|
||||||
|
import dev.msfjarvis.todo.di.Graph
|
||||||
import dev.msfjarvis.todo.ui.TodoRowItem
|
import dev.msfjarvis.todo.ui.TodoRowItem
|
||||||
import dev.msfjarvis.todo.ui.TodoTheme
|
import dev.msfjarvis.todo.ui.TodoTheme
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class MainActivity : AppCompatActivity() {
|
class MainActivity : AppCompatActivity() {
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
@ -35,14 +39,18 @@ class MainActivity : AppCompatActivity() {
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun TodoApp() {
|
fun TodoApp() {
|
||||||
val items = mutableStateListOf(TodoItem("Default item"))
|
val coroutineScope = rememberCoroutineScope()
|
||||||
|
val itemsDao = Graph.database.todoItemsDao()
|
||||||
|
val items by itemsDao.getAllItems().collectAsState(initial = emptyList())
|
||||||
|
|
||||||
Scaffold(
|
Scaffold(
|
||||||
topBar = { TopAppBar({ Text(text = "I can Compose?") }) },
|
topBar = { TopAppBar({ Text(text = "I can Compose?") }) },
|
||||||
floatingActionButton = {
|
floatingActionButton = {
|
||||||
FloatingActionButton(
|
FloatingActionButton(
|
||||||
onClick = {
|
onClick = {
|
||||||
items.add(TodoItem("Item ${items.size + 1}"))
|
coroutineScope.launch {
|
||||||
|
itemsDao.insert(TodoItem("Item ${items.size + 1}"))
|
||||||
|
}
|
||||||
},
|
},
|
||||||
elevation = 8.dp,
|
elevation = 8.dp,
|
||||||
modifier = Modifier.semantics { testTag = "fab" }
|
modifier = Modifier.semantics { testTag = "fab" }
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue