1 /*
<lambda>null2  * Copyright (C) 2022 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 com.android.settingslib.spa.slice.presenter
18 
19 import android.net.Uri
20 import androidx.compose.material3.HorizontalDivider
21 import androidx.compose.runtime.Composable
22 import androidx.compose.runtime.remember
23 import androidx.compose.ui.platform.LocalContext
24 import androidx.compose.ui.viewinterop.AndroidView
25 import androidx.lifecycle.compose.LocalLifecycleOwner
26 import androidx.slice.widget.SliceLiveData
27 import androidx.slice.widget.SliceView
28 
29 @Composable
30 fun SliceDemo(sliceUri: Uri) {
31     val context = LocalContext.current
32     val lifecycleOwner = LocalLifecycleOwner.current
33     val sliceData = remember {
34         SliceLiveData.fromUri(context, sliceUri)
35     }
36 
37     HorizontalDivider()
38     AndroidView(
39         factory = { localContext ->
40             val view = SliceView(localContext)
41             view.setShowTitleItems(true)
42             view.isScrollable = false
43             view
44         },
45         update = { view -> sliceData.observe(lifecycleOwner, view) }
46     )
47 }
48