@@ -3,9 +3,11 @@ package com.example.platform.ui.appwidgets.glance.layout
3
3
import android.appwidget.AppWidgetManager
4
4
import android.appwidget.AppWidgetProviderInfo
5
5
import android.content.Context
6
+ import android.os.Build
6
7
import android.os.Bundle
7
8
import androidx.activity.ComponentActivity
8
9
import androidx.activity.compose.setContent
10
+ import androidx.annotation.RequiresApi
9
11
import androidx.compose.foundation.layout.Box
10
12
import androidx.compose.foundation.layout.Column
11
13
import androidx.compose.foundation.layout.PaddingValues
@@ -29,13 +31,15 @@ import androidx.compose.ui.unit.dp
29
31
import androidx.compose.ui.unit.sp
30
32
import androidx.glance.appwidget.GlanceAppWidgetManager
31
33
import androidx.glance.appwidget.GlanceAppWidgetReceiver
34
+ import com.example.platform.ui.appwidgets.AppWidgetsList
32
35
import com.example.platform.ui.appwidgets.glance.layout.ui.theme.LayoutSamplesTheme
33
36
import kotlinx.coroutines.CoroutineScope
34
37
import kotlinx.coroutines.launch
35
38
36
39
val TAG = " layoutsamples"
37
40
38
41
class MainActivity : ComponentActivity () {
42
+ @RequiresApi(Build .VERSION_CODES .O )
39
43
override fun onCreate (savedInstanceState : Bundle ? ) {
40
44
super .onCreate(savedInstanceState)
41
45
@@ -44,16 +48,7 @@ class MainActivity : ComponentActivity() {
44
48
setContent {
45
49
val scope = rememberCoroutineScope()
46
50
LayoutSamplesTheme {
47
- LazyColumn (Modifier .fillMaxSize(), contentPadding = PaddingValues (8 .dp)) {
48
- item {
49
- AppDescription ()
50
- }
51
- items(ourWidgets) { providerInfo: AppWidgetProviderInfo ->
52
- WidgetRow (
53
- providerInfo = providerInfo,
54
- onClick = { requestPin(providerInfo, this @MainActivity, scope) })
55
- }
56
- }
51
+ AppWidgetsList (widgetProviders = ourWidgets)
57
52
}
58
53
}
59
54
}
@@ -62,7 +57,7 @@ class MainActivity : ComponentActivity() {
62
57
private fun Context.ourWidgets (): List <AppWidgetProviderInfo > {
63
58
val appWidgetManager = AppWidgetManager .getInstance(this )
64
59
return appWidgetManager.installedProviders
65
- .filter { providerInfo : AppWidgetProviderInfo -> providerInfo .provider.packageName == packageName }
60
+ .filter { it .provider.className.startsWith( " com.example.platform.ui.appwidgets.glance.layout " ) }
66
61
}
67
62
68
63
@Composable
0 commit comments