1 /* 2 * Copyright 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package androidx.compose.runtime.rxjava3.samples 18 19 import androidx.annotation.Sampled 20 import androidx.compose.material.Text 21 import androidx.compose.runtime.Composable 22 import androidx.compose.runtime.getValue 23 import androidx.compose.runtime.rxjava3.subscribeAsState 24 import io.reactivex.rxjava3.core.Completable 25 import io.reactivex.rxjava3.core.Flowable 26 import io.reactivex.rxjava3.core.Maybe 27 import io.reactivex.rxjava3.core.Observable 28 import io.reactivex.rxjava3.core.Single 29 30 @Sampled 31 @Composable ObservableSamplenull32fun ObservableSample(observable: Observable<String>) { 33 val value: String by observable.subscribeAsState("initial") 34 Text("Value is $value") 35 } 36 37 @Sampled 38 @Composable FlowableSamplenull39fun FlowableSample(flowable: Flowable<String>) { 40 val value: String by flowable.subscribeAsState("initial") 41 Text("Value is $value") 42 } 43 44 @Sampled 45 @Composable SingleSamplenull46fun SingleSample(single: Single<String>) { 47 val value: String by single.subscribeAsState("initial") 48 Text("Value is $value") 49 } 50 51 @Sampled 52 @Composable MaybeSamplenull53fun MaybeSample(maybe: Maybe<String>) { 54 val value: String by maybe.subscribeAsState("initial") 55 Text("Value is $value") 56 } 57 58 @Sampled 59 @Composable CompletableSamplenull60fun CompletableSample(completable: Completable) { 61 val completed by completable.subscribeAsState() 62 Text("Completable is $completed") 63 } 64