Skip to content

Commit 5e5b032

Browse files
committed
πŸ§‘β€πŸ’»: update declare
1 parent 45ec6d1 commit 5e5b032

File tree

1 file changed

+55
-0
lines changed
  • hooks/src/main/kotlin/xyz/junerver/compose/hooks

1 file changed

+55
-0
lines changed

β€Žhooks/src/main/kotlin/xyz/junerver/compose/hooks/declare.kt

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,18 @@ package xyz.junerver.compose.hooks
55
import android.hardware.Sensor
66
import android.hardware.SensorEvent
77
import androidx.compose.runtime.Composable
8+
import arrow.core.Either
9+
import arrow.core.Tuple4
10+
import arrow.core.Tuple5
811
import kotlin.time.Duration
912
import kotlin.time.Duration.Companion.seconds
1013
import org.jetbrains.annotations.Nullable
14+
import xyz.junerver.compose.hooks.usedeviceinfo.BatteryInfo
15+
import xyz.junerver.compose.hooks.usedeviceinfo.BuildInfo
16+
import xyz.junerver.compose.hooks.usedeviceinfo.ScreenInfo
17+
import xyz.junerver.compose.hooks.usedeviceinfo.useBatteryInfo
18+
import xyz.junerver.compose.hooks.usedeviceinfo.useBuildInfo
19+
import xyz.junerver.compose.hooks.usedeviceinfo.useScreenInfo
1120
import xyz.junerver.compose.hooks.useredux.DispatchAsync
1221
import xyz.junerver.compose.hooks.useredux.DispatchCallback
1322
import xyz.junerver.compose.hooks.useredux.useDispatch
@@ -18,9 +27,21 @@ import xyz.junerver.compose.hooks.userequest.RequestOptions
1827
import xyz.junerver.compose.hooks.userequest.useRequest
1928
import xyz.junerver.compose.hooks.usevibrate.useVibrate
2029
import xyz.junerver.kotlin.Tuple2
30+
import xyz.junerver.kotlin.Tuple3
2131

2232
/** ζ›΄η¬¦εˆ Compose ηš„ε‡½ζ•°ε‘½εζ–ΉεΌ */
2333

34+
//region useDeviceInfo
35+
@Composable
36+
fun rememberBatteryInfo(): BatteryInfo = useBatteryInfo()
37+
38+
@Composable
39+
fun rememberBuildInfo(): BuildInfo = useBuildInfo()
40+
41+
@Composable
42+
fun rememberScreenInfo(): ScreenInfo = useScreenInfo()
43+
//endregion
44+
2445
//region useRedux
2546
@Composable
2647
inline fun <reified A> rememberDispatch(alias: String? = null): Dispatch<A> = useDispatch(alias)
@@ -55,6 +76,9 @@ fun rememberAsync(fn: SuspendAsyncFn) = useAsync(fn)
5576
fun rememberAsync(): AsyncRunFn = useAsync()
5677
//endregion
5778

79+
@Composable
80+
fun <T> rememberAutoReset(default: T & Any, interval: Duration) = useAutoReset(default, interval)
81+
5882
@Composable
5983
fun rememberBackToFrontEffect(vararg keys: Any?, effect: () -> Unit) =
6084
useBackToFrontEffect(*keys, effect = effect)
@@ -72,6 +96,17 @@ fun rememberClipboard(): Tuple2<CopyFn, PasteFn> = useClipboard()
7296
@Composable
7397
fun <T> rememberContext(context: ReactContext<T>) = useContext(context)
7498

99+
@Composable
100+
fun rememberCountdown(options: CountdownOptions): Tuple2<Duration, FormattedRes> =
101+
useCountdown(options)
102+
103+
@Composable
104+
fun rememberCounter(
105+
initialValue: Int = 0,
106+
options: CounterOptions,
107+
): Tuple5<Int, IncFn, DecFn, SetValueFn<Either<Int, (Int) -> Int>>, ResetFn> =
108+
useCounter(initialValue, options)
109+
75110
@Composable
76111
fun <T> rememberCreation(vararg keys: Any?, factory: () -> T) =
77112
useCreation(*keys, factory = factory)
@@ -97,6 +132,9 @@ fun LaunchedDebounceEffect(
97132
) = useDebounceEffect(*keys, options = options, block = block)
98133
//endregion
99134

135+
@Composable
136+
fun rememberDisableScreenshot(): Tuple3<DisableFn, EnableFn, IsDisabled> = useDisableScreenshot()
137+
100138
//region useEvent
101139
@Composable
102140
inline fun <reified T> rememberEventSubscribe(noinline subscriber: (T) -> Unit) =
@@ -106,6 +144,9 @@ inline fun <reified T> rememberEventSubscribe(noinline subscriber: (T) -> Unit)
106144
inline fun <reified T> rememberEventPublish(): (T) -> Unit = useEventPublish()
107145
//endregion
108146

147+
@Composable
148+
fun rememberFlashlight(): Tuple2<TurnOnFn, TurnOffFn> = useFlashlight()
149+
109150
//region useGetState
110151
@Composable
111152
fun <T> rememberGetState(default: T & Any) = useGetState(default = default)
@@ -187,6 +228,13 @@ fun <S, A> rememberReducer(
187228
@Composable
188229
fun <T> rememberRef(default: T) = useRef(default)
189230

231+
@Composable
232+
fun <T> rememberResetState(default: T & Any): Tuple4<T, SetValueFn<T & Any>, GetValueFn<T>, ResetFn> =
233+
useResetState(default)
234+
235+
@Composable
236+
fun rememberScreenBrightness(): Tuple2<SetValueFn<Float>, Float> = useScreenBrightness()
237+
190238
@Composable
191239
fun rememberSensor(
192240
sensorType: Int,
@@ -279,3 +327,10 @@ fun rememberUpdateEffect(vararg keys: Any?, block: SuspendAsyncFn) =
279327

280328
@Composable
281329
fun rememberVibrate() = useVibrate()
330+
331+
@Composable
332+
fun rememberWakeLock(): Tuple3<RequestFn, ReleaseFn, IsActive> = useWakeLock()
333+
334+
@Composable
335+
fun rememberWindowFlags(key: String, flags: Int): Tuple3<AddFlagsFn, ClearFlagsFn, IsFlagsAdded> =
336+
useWindowFlags(key, flags)

0 commit comments

Comments
Β (0)