A fork of Simple Time Tracker with WearOS support. (Now integrated upstream)
0

Configure Feed

Select the types of activity you want to include in your feed.

style: Make `LaunchedEffect` calls more "Kotlin-y"

Apparently, in Kotlin, when the last parameter to a function is a
callback, you can instead specify the callback in a block following
the function call. 🤯

The result looks much cleaner.

Co-authored-by: kantahrek <152828461+kantahrek@users.noreply.github.com>

Joseph Hale (Feb 26, 2024, 10:23 PM -0700) 07289834 65d3fe67

+15 -24
+5 -8
wear/src/main/java/com/example/util/simpletimetracker/presentation/remember/activities.kt
··· 38 38 fun rememberActivities(rpc: WearRPCClient): Pair<Array<Activity>, () -> Unit> { 39 39 var activities: Array<Activity> by remember { mutableStateOf(arrayOf()) } 40 40 var activitiesQueryCount by remember { mutableIntStateOf(0) } 41 - LaunchedEffect( 42 - key1 = activitiesQueryCount, 43 - block = { 44 - async(Dispatchers.Default) { 45 - activities = rpc.queryActivities() 46 - } 47 - }, 48 - ) 41 + LaunchedEffect(activitiesQueryCount) { 42 + async(Dispatchers.Default) { 43 + activities = rpc.queryActivities() 44 + } 45 + } 49 46 return Pair(activities) { activitiesQueryCount++ } 50 47 }
+5 -8
wear/src/main/java/com/example/util/simpletimetracker/presentation/remember/currentActivities.kt
··· 38 38 fun rememberCurrentActivities(rpc: WearRPCClient): Pair<Array<CurrentActivity>, () -> Unit> { 39 39 var currentActivities: Array<CurrentActivity> by remember { mutableStateOf(arrayOf()) } 40 40 var currentActivitiesQueryCount by remember { mutableIntStateOf(0) } 41 - LaunchedEffect( 42 - key1 = currentActivitiesQueryCount, 43 - block = { 44 - async(Dispatchers.Default) { 45 - currentActivities = rpc.queryCurrentActivities() 46 - } 47 - }, 48 - ) 41 + LaunchedEffect(currentActivitiesQueryCount) { 42 + async(Dispatchers.Default) { 43 + currentActivities = rpc.queryCurrentActivities() 44 + } 45 + } 49 46 return Pair(currentActivities) { currentActivitiesQueryCount++ } 50 47 }
+5 -8
wear/src/main/java/com/example/util/simpletimetracker/presentation/remember/tags.kt
··· 39 39 fun rememberTags(rpc: WearRPCClient, activityId: Long): Pair<Array<Tag>, () -> Unit> { 40 40 var tags: Array<Tag> by remember { mutableStateOf(arrayOf()) } 41 41 var tagsQueryCount by remember { mutableIntStateOf(0) } 42 - LaunchedEffect( 43 - key1 = tagsQueryCount, 44 - block = { 45 - async(Dispatchers.Default) { 46 - tags = rpc.queryTagsForActivity(activityId) 47 - } 48 - }, 49 - ) 42 + LaunchedEffect(tagsQueryCount) { 43 + async(Dispatchers.Default) { 44 + tags = rpc.queryTagsForActivity(activityId) 45 + } 46 + } 50 47 return Pair(tags) { tagsQueryCount++ } 51 48 }