Skip to content

Commit 4fbc5c9

Browse files
committed
Added some ProvidableCompositionLocals and improved Compose sample
1 parent a7253f9 commit 4fbc5c9

File tree

3 files changed

+272
-210
lines changed

3 files changed

+272
-210
lines changed

library-compose/src/main/kotlin/com/leinardi/android/speeddial/compose/SpeedDial.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ import androidx.compose.material.icons.filled.Search
5353
import androidx.compose.material.icons.filled.Share
5454
import androidx.compose.runtime.Composable
5555
import androidx.compose.runtime.CompositionLocalProvider
56+
import androidx.compose.runtime.MutableState
57+
import androidx.compose.runtime.ProvidableCompositionLocal
58+
import androidx.compose.runtime.compositionLocalOf
5659
import androidx.compose.runtime.getValue
5760
import androidx.compose.ui.Alignment
5861
import androidx.compose.ui.Modifier
@@ -190,6 +193,8 @@ fun SpeedDial(
190193
}
191194
}
192195

196+
val LocalSpeedDialTag: ProvidableCompositionLocal<MutableState<Any>> = compositionLocalOf { error("No SpeedDialTag provided") }
197+
193198
@ExperimentalMaterialApi
194199
@ExperimentalAnimationApi
195200
@Preview

library-compose/src/main/kotlin/com/leinardi/android/speeddial/compose/SpeedDialState.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616

1717
package com.leinardi.android.speeddial.compose
1818

19+
import androidx.compose.runtime.MutableState
20+
import androidx.compose.runtime.ProvidableCompositionLocal
21+
import androidx.compose.runtime.compositionLocalOf
22+
1923
/**
2024
* Enum that represents possible SpeedDial states.
2125
*/
@@ -41,4 +45,4 @@ enum class SpeedDialState {
4145
* @param value whether the SpeedDialState is Expanded or Collapsed
4246
*/
4347

44-
fun SpeedDialState(value: Boolean): SpeedDialState = if (value) SpeedDialState.Expanded else SpeedDialState.Collapsed
48+
val LocalSpeedDialState: ProvidableCompositionLocal<MutableState<SpeedDialState>> = compositionLocalOf { error("No SpeedDialState provided") }

0 commit comments

Comments
 (0)