|
1 | 1 | package com.example.cfseeker |
2 | 2 |
|
3 | 3 | import android.os.Bundle |
| 4 | +import androidx.activity.ComponentActivity |
| 5 | +import androidx.activity.compose.setContent |
4 | 6 | import androidx.activity.enableEdgeToEdge |
5 | 7 | import androidx.activity.viewModels |
6 | | -import androidx.appcompat.app.AppCompatActivity |
7 | | -import androidx.core.view.ViewCompat |
8 | | -import androidx.core.view.WindowInsetsCompat |
9 | | -import androidx.lifecycle.Lifecycle |
10 | | -import androidx.lifecycle.lifecycleScope |
11 | | -import androidx.lifecycle.repeatOnLifecycle |
12 | | -import androidx.recyclerview.widget.LinearLayoutManager |
13 | | -import com.example.cfseeker.databinding.ActivityMainBinding |
14 | | -import com.example.cfseeker.ui.UserAdapter |
| 8 | +import androidx.compose.foundation.layout.fillMaxSize |
| 9 | +import androidx.compose.material3.MaterialTheme |
| 10 | +import androidx.compose.material3.Surface |
| 11 | +import androidx.compose.ui.Modifier |
15 | 12 | import com.example.cfseeker.ui.UserViewModel |
16 | | -import com.example.cfseeker.ui.base.UiState |
| 13 | +import com.example.cfseeker.ui.screens.UserListScreen |
| 14 | +import com.example.cfseeker.ui.theme.CFSeekerTheme |
17 | 15 | import dagger.hilt.android.AndroidEntryPoint |
18 | | -import kotlinx.coroutines.launch |
19 | 16 |
|
20 | 17 | @AndroidEntryPoint |
21 | | -class MainActivity : AppCompatActivity() { |
| 18 | +class MainActivity : ComponentActivity() { |
22 | 19 | private val viewModel: UserViewModel by viewModels() |
23 | | - private lateinit var binding: ActivityMainBinding |
| 20 | + |
24 | 21 | override fun onCreate(savedInstanceState: Bundle?) { |
25 | 22 | super.onCreate(savedInstanceState) |
26 | 23 | enableEdgeToEdge() |
27 | | - binding = ActivityMainBinding.inflate(layoutInflater) |
28 | | - setContentView(binding.root) |
29 | | - ViewCompat.setOnApplyWindowInsetsListener(binding.main) { v, insets -> |
30 | | - val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) |
31 | | - v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) |
32 | | - insets |
33 | | - } |
34 | | - |
35 | | - val userAdapter = UserAdapter() |
36 | | - binding.userRatingsRv.apply { |
37 | | - adapter = userAdapter |
38 | | - layoutManager = LinearLayoutManager(this@MainActivity) |
39 | | - } |
40 | 24 |
|
41 | | - lifecycleScope.launch { |
42 | | - repeatOnLifecycle(Lifecycle.State.STARTED) { |
43 | | - viewModel.uiState.collect { uiState -> |
44 | | - when(uiState) { |
45 | | - is UiState.Error -> { |
46 | | - // TODO |
47 | | - } |
48 | | - is UiState.Loading -> { |
49 | | - // TODO |
50 | | - } |
51 | | - is UiState.Success -> { |
52 | | - userAdapter.submitList(uiState.data) |
53 | | - } |
54 | | - } |
| 25 | + setContent { |
| 26 | + CFSeekerTheme { |
| 27 | + Surface( |
| 28 | + modifier = Modifier.fillMaxSize(), |
| 29 | + color = MaterialTheme.colorScheme.background |
| 30 | + ) { |
| 31 | + UserListScreen(viewModel = viewModel) |
55 | 32 | } |
56 | 33 | } |
57 | 34 | } |
|
0 commit comments