@@ -30,62 +30,57 @@ import androidx.slice.core.SliceHints
30
30
import androidx.slice.widget.SliceLiveData
31
31
import androidx.slice.widget.SliceView
32
32
import androidx.slice.widget.SliceView.OnSliceActionListener
33
- import com.example.android.sliceviewer.ui.list.SliceViewerActivity
34
33
import com.example.android.sliceviewer.ui.list.SliceViewerActivity.Companion.TAG
35
34
36
35
fun SliceView.bind (
37
- context : Context ,
38
- lifecycleOwner : LifecycleOwner ,
39
- uri : Uri ,
40
- onSliceActionListener : OnSliceActionListener = OnSliceActionListener { _, _ -> },
41
- onClickListener : OnClickListener = OnClickListener { },
42
- onLongClickListener : OnLongClickListener = OnLongClickListener { false },
43
- scrollable : Boolean = false
36
+ context : Context ,
37
+ lifecycleOwner : LifecycleOwner ,
38
+ uri : Uri ,
39
+ onSliceActionListener : OnSliceActionListener = OnSliceActionListener { _, _ -> },
40
+ onClickListener : OnClickListener = OnClickListener { },
41
+ onLongClickListener : OnLongClickListener = OnLongClickListener { false },
42
+ scrollable : Boolean = false
44
43
) {
45
44
setOnSliceActionListener(onSliceActionListener)
46
45
setOnClickListener(onClickListener)
47
- setScrollable( scrollable)
46
+ isScrollable = scrollable
48
47
setOnLongClickListener(onLongClickListener)
49
48
if (uri.scheme == null ) {
50
49
Log .w(TAG , " Scheme is null for URI $uri " )
51
50
return
52
51
}
53
52
// If someone accidentally prepends the "slice-" prefix to their scheme, let's remove it.
54
53
val scheme =
55
- if (uri.scheme.startsWith(" slice-" )) {
56
- uri.scheme.replace(" slice-" , " " )
57
- }
58
- else {
59
- uri.scheme
60
- }
54
+ if (uri.scheme.startsWith(" slice-" )) {
55
+ uri.scheme.replace(" slice-" , " " )
56
+ } else {
57
+ uri.scheme
58
+ }
61
59
if (scheme == ContentResolver .SCHEME_CONTENT ||
62
- scheme.equals(" https" , true ) ||
63
- scheme.equals(" http" , true )
60
+ scheme.equals(" https" , true ) ||
61
+ scheme.equals(" http" , true )
64
62
) {
65
63
val intent = Intent (Intent .ACTION_VIEW , uri)
66
64
val sliceLiveData = SliceLiveData .fromIntent(context, intent)
67
- sliceLiveData? .removeObservers(lifecycleOwner)
65
+ sliceLiveData.removeObservers(lifecycleOwner)
68
66
try {
69
- sliceLiveData? .observe(lifecycleOwner, Observer { updatedSlice ->
67
+ sliceLiveData.observe(lifecycleOwner, Observer { updatedSlice ->
70
68
if (updatedSlice == null ) return @Observer
71
69
slice = updatedSlice
72
70
val expiry = SliceMetadata .from(context, updatedSlice).expiry
73
71
if (expiry != SliceHints .INFINITY ) {
74
72
// Shows the updated text after the TTL expires.
75
73
postDelayed(
76
- { slice = updatedSlice },
77
- expiry - System .currentTimeMillis() + 15
74
+ { slice = updatedSlice },
75
+ expiry - System .currentTimeMillis() + 15
78
76
)
79
77
}
80
- Log .d(SliceViewerActivity . TAG , " Update Slice: $updatedSlice " )
78
+ Log .d(TAG , " Update Slice: $updatedSlice " )
81
79
})
82
80
} catch (e: Exception ) {
83
- Log .e(
84
- SliceViewerActivity .TAG ,
85
- " Failed to find a valid ContentProvider for authority: $uri "
86
- )
81
+ Log .e(TAG , " Failed to find a valid ContentProvider for authority: $uri " )
87
82
}
88
83
} else {
89
- Log .w(SliceViewerActivity . TAG , " Invalid uri, skipping slice: $uri " )
84
+ Log .w(TAG , " Invalid uri, skipping slice: $uri " )
90
85
}
91
86
}
0 commit comments