Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
Willie, could you take a look at how we can update glance-experimental-tools to use the new methods?
za...@google.com <za...@google.com>
na...@google.com <na...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit 5729d1dadf2abd51e1b092a891becea6f138e553
Author: Willie Koomson <wvk@google.com>
Date: Thu Sep 28 13:07:19 2023
Add GlanceAppWidget.runComposition
This change adds GlanceAppWidget.runComposition which returns a
Flow<RemoteViews>. This API can be used to run the widget outside of the
app widget system (e.g. without a GlanceAppWidgetReceiver or needing to
be bound by the AppWidgetHost) and without a Worker. The widget will
continue to recompose and respond to lambda actions while the flow is
running.
This makes it straightforward to display a widget within an Activity,
and is intended to be used for the glance-experimental-tools
WidgetViewer, which provides Live Edit in Studio.
Bug: 298066147
Test: SimpleWidgetViewer demo activity, GlanceAppWidgetTest unit tests
Relnote: "Add GlanceAppWidget.runComposition"
Change-Id: I6344ce93a486a86b7484dfd704453da118e3aa79
M glance/glance-appwidget/api/current.txt
M glance/glance-appwidget/api/restricted_current.txt
M glance/glance-appwidget/integration-tests/demos/build.gradle
M glance/glance-appwidget/integration-tests/demos/src/main/AndroidManifest.xml
A glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/SimpleWidgetViewer.kt
M glance/glance-appwidget/integration-tests/demos/src/main/res/values/strings.xml
M glance/glance-appwidget/src/main/AndroidManifest.xml
M glance/glance-appwidget/src/main/java/androidx/glance/appwidget/AppWidgetComposer.kt
M glance/glance-appwidget/src/main/java/androidx/glance/appwidget/AppWidgetSession.kt
M glance/glance-appwidget/src/main/java/androidx/glance/appwidget/AppWidgetUtils.kt
M glance/glance-appwidget/src/main/java/androidx/glance/appwidget/GlanceAppWidget.kt
M glance/glance-appwidget/src/main/java/androidx/glance/appwidget/GlanceRemoteViewsService.kt
A glance/glance-appwidget/src/main/java/androidx/glance/appwidget/UnmanagedSessionReceiver.kt
M glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/AppWidgetSessionTest.kt
M glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/GlanceAppWidgetTest.kt
M glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/TestUtils.kt
M glance/glance/src/main/java/androidx/glance/session/SessionWorker.kt
M glance/glance/src/main/java/androidx/glance/session/TimerScope.kt
https://android-review.googlesource.com/2769659
Branch: androidx-main
commit 5729d1dadf2abd51e1b092a891becea6f138e553
Author: Willie Koomson <wvk@google.com>
Date: Thu Sep 28 13:07:19 2023
Add GlanceAppWidget.runComposition
This change adds GlanceAppWidget.runComposition which returns a
Flow<RemoteViews>. This API can be used to run the widget outside of the
app widget system (e.g. without a GlanceAppWidgetReceiver or needing to
be bound by the AppWidgetHost) and without a Worker. The widget will
continue to recompose and respond to lambda actions while the flow is
running.
This makes it straightforward to display a widget within an Activity,
and is intended to be used for the glance-experimental-tools
WidgetViewer, which provides Live Edit in Studio.
Bug: 298066147
Test: SimpleWidgetViewer demo activity, GlanceAppWidgetTest unit tests
Relnote: "Add GlanceAppWidget.runComposition"
Change-Id: I6344ce93a486a86b7484dfd704453da118e3aa79
M glance/glance-appwidget/api/current.txt
M glance/glance-appwidget/api/restricted_current.txt
M glance/glance-appwidget/integration-tests/demos/build.gradle
M glance/glance-appwidget/integration-tests/demos/src/main/AndroidManifest.xml
A glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/SimpleWidgetViewer.kt
M glance/glance-appwidget/integration-tests/demos/src/main/res/values/strings.xml
M glance/glance-appwidget/src/main/AndroidManifest.xml
M glance/glance-appwidget/src/main/java/androidx/glance/appwidget/AppWidgetComposer.kt
M glance/glance-appwidget/src/main/java/androidx/glance/appwidget/AppWidgetSession.kt
M glance/glance-appwidget/src/main/java/androidx/glance/appwidget/AppWidgetUtils.kt
M glance/glance-appwidget/src/main/java/androidx/glance/appwidget/GlanceAppWidget.kt
M glance/glance-appwidget/src/main/java/androidx/glance/appwidget/GlanceRemoteViewsService.kt
A glance/glance-appwidget/src/main/java/androidx/glance/appwidget/UnmanagedSessionReceiver.kt
M glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/AppWidgetSessionTest.kt
M glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/GlanceAppWidgetTest.kt
M glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/TestUtils.kt
M glance/glance/src/main/java/androidx/glance/session/SessionWorker.kt
M glance/glance/src/main/java/androidx/glance/session/TimerScope.kt
Description
For consistency, we should have all the color providers together. Day/night exists on more platforms than just appwidget.