@@ -3,10 +3,7 @@ package com.mapcode.map
33import androidx.compose.foundation.clickable
44import androidx.compose.foundation.layout.*
55import androidx.compose.material.ScaffoldState
6- import androidx.compose.runtime.Composable
7- import androidx.compose.runtime.collectAsState
8- import androidx.compose.runtime.getValue
9- import androidx.compose.runtime.rememberCoroutineScope
6+ import androidx.compose.runtime.*
107import androidx.compose.ui.Modifier
118import androidx.compose.ui.res.stringResource
129import androidx.compose.ui.unit.dp
@@ -147,11 +144,8 @@ fun InfoArea(
147144 val uiState by viewModel.uiState.collectAsState()
148145 val scope = rememberCoroutineScope()
149146 val copiedMessageStr = stringResource(R .string.copied_to_clipboard_snackbar_text)
150-
151- InfoArea (
152- modifier,
153- uiState,
154- onMapcodeClick = {
147+ val onMapcodeClick = remember {
148+ {
155149 val copied = viewModel.copyMapcode()
156150 if (copied) {
157151 scope.launch {
@@ -160,11 +154,17 @@ fun InfoArea(
160154 scaffoldState.snackbarHostState.showSnackbar(copiedMessageStr)
161155 }
162156 }
163- },
164- onAddressChange = { viewModel.queryAddress(it) },
165- onTerritoryClick = { viewModel.onTerritoryClick() },
166- onLatitudeChange = { viewModel.queryLatitude(it) },
167- onLongitudeChange = { viewModel.queryLongitude(it) },
157+ }
158+ }
159+
160+ InfoArea (
161+ modifier,
162+ uiState,
163+ onMapcodeClick = onMapcodeClick,
164+ onAddressChange = viewModel::queryAddress,
165+ onTerritoryClick = viewModel::onTerritoryClick,
166+ onLatitudeChange = viewModel::queryLatitude,
167+ onLongitudeChange = viewModel::queryLongitude,
168168 isVerticalLayout = isVerticalLayout
169169 )
170170}
0 commit comments