summaryrefslogtreecommitdiffstats
path: root/android/app/src/main/java/eu/jopek/dingdongmail/MainActivity.kt
blob: a13b0d25e6e14b4a243556639ede0a63cf4abb14 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package eu.jopek.dingdongmail

import android.content.Intent
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Button
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import eu.jopek.dingdongmail.ui.theme.DingDongMailTheme

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContent {
            DingDongMailTheme {
                Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
                    Greeting(
                        modifier = Modifier.padding(innerPadding)
                    ) {
                        actionOnService(it)
                    }
                }
            }
        }

        log("Starting the service from MainActivity.onCreate")
        Intent(this, MainWorkerService::class.java).also {
            it.action = Actions.START.name
            startForegroundService(it)
        }
    }

    private fun actionOnService(action: Actions) {
        log("Starting the service from button")
        Intent(this, MainWorkerService::class.java).also {
            it.action = action.name
            if (action == Actions.STOP) stopService(it)
            else startForegroundService(it)
        }
    }
}

@Composable
fun Greeting(modifier: Modifier = Modifier, onClick: (Actions) -> Unit) {
    Column {
        Text(
            text = "Ding-Dong Mail!",
            modifier = modifier
        )
        Button(onClick = { onClick(Actions.START) }) {
            Text(text = "Start")
        }
        Button(onClick = { onClick(Actions.STOP) }) {
            Text(text = "Stop")
        }
    }
}

@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
    DingDongMailTheme {
        Greeting() {}
    }
}