Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update glance stable version 1.0.0 #451

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 5 additions & 2 deletions AppWidget/app/build.gradle
Expand Up @@ -21,7 +21,7 @@ plugins {
}

android {
compileSdkVersion 33
compileSdkVersion 34

defaultConfig {
applicationId "com.example.android.appwidget"
Expand Down Expand Up @@ -65,6 +65,9 @@ dependencies {
def composeBom = platform('androidx.compose:compose-bom:2022.10.00')
implementation(composeBom)

def kotlinBom = platform("org.jetbrains.kotlin:kotlin-bom:1.8.0")
implementation(kotlinBom)

implementation "org.jetbrains.kotlin:kotlin-stdlib:1.7.20"
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.3'

Expand All @@ -77,7 +80,7 @@ dependencies {
// For traditional RemoteViews
implementation "androidx.core:core-remoteviews:1.0.0-beta03"
// For building appwidgets with Glance
implementation "androidx.glance:glance-appwidget:1.0.0-alpha05"
implementation "androidx.glance:glance-appwidget:1.0.0"
// To use Material3 theming for widgets
implementation 'com.google.android.material:material:1.7.0'
// Recommended to use WorkManager to load data for widgets
Expand Down
Expand Up @@ -41,6 +41,7 @@ import androidx.glance.appwidget.action.ToggleableStateKey
import androidx.glance.appwidget.action.actionRunCallback
import androidx.glance.appwidget.appWidgetBackground
import androidx.glance.appwidget.lazy.LazyColumn
import androidx.glance.appwidget.provideContent
import androidx.glance.appwidget.state.updateAppWidgetState
import androidx.glance.background
import androidx.glance.currentState
Expand All @@ -65,9 +66,15 @@ import com.example.android.appwidget.glance.appWidgetBackgroundCornerRadius
*/
class ButtonsGlanceWidget : GlanceAppWidget() {

override suspend fun provideGlance(context: Context, id: GlanceId) {
provideContent {
Content()
}
}

@SuppressLint("RemoteViewLayout")
@Composable
override fun Content() {
private fun Content() {
GlanceTheme {
Column(
modifier = GlanceModifier
Expand Down
Expand Up @@ -47,6 +47,7 @@ import androidx.glance.appwidget.action.ActionCallback
import androidx.glance.appwidget.action.actionRunCallback
import androidx.glance.appwidget.action.actionStartActivity
import androidx.glance.appwidget.appWidgetBackground
import androidx.glance.appwidget.provideContent
import androidx.glance.appwidget.state.updateAppWidgetState
import androidx.glance.background
import androidx.glance.currentState
Expand Down Expand Up @@ -83,8 +84,14 @@ class ImageGlanceWidget : GlanceAppWidget() {

override val sizeMode: SizeMode = SizeMode.Exact

override suspend fun provideGlance(context: Context, id: GlanceId) {
provideContent {
Content()
}
}

@Composable
override fun Content() {
private fun Content() {
val context = LocalContext.current
val size = LocalSize.current
val imagePath = currentState(getImageKey(size))
Expand Down
Expand Up @@ -34,6 +34,7 @@ import androidx.glance.appwidget.action.actionRunCallback
import androidx.glance.appwidget.appWidgetBackground
import androidx.glance.appwidget.lazy.LazyColumn
import androidx.glance.appwidget.lazy.items
import androidx.glance.appwidget.provideContent
import androidx.glance.appwidget.state.updateAppWidgetState
import androidx.glance.layout.Column
import androidx.glance.layout.fillMaxSize
Expand All @@ -53,8 +54,14 @@ import com.example.android.appwidget.glance.appWidgetBackgroundCornerRadius
*/
class ListGlanceWidget : GlanceAppWidget() {

override suspend fun provideGlance(context: Context, id: GlanceId) {
provideContent {
Content()
}
}

@Composable
override fun Content() {
private fun Content() {
GlanceTheme {
Column(
modifier = GlanceModifier
Expand Down
Expand Up @@ -31,14 +31,17 @@ import androidx.glance.appwidget.action.ActionCallback
import androidx.glance.appwidget.action.actionRunCallback
import androidx.glance.appwidget.lazy.LazyColumn
import androidx.glance.appwidget.lazy.items
import androidx.glance.appwidget.provideContent
import androidx.glance.layout.*
import androidx.glance.text.FontWeight
import androidx.glance.text.Text
import androidx.glance.text.TextAlign
import androidx.glance.text.TextStyle
import com.example.android.appwidget.glance.*
import com.example.android.appwidget.glance.GlanceTheme
import java.util.*


class WeatherGlanceWidget : GlanceAppWidget() {

companion object {
Expand All @@ -57,12 +60,19 @@ class WeatherGlanceWidget : GlanceAppWidget() {
setOf(thinMode, smallMode, mediumMode, largeMode)
)

override suspend fun provideGlance(context: Context, id: GlanceId) {
provideContent {
Content()
}
}

@Composable
override fun Content() {
private fun Content() {
// Get the stored stated based on our custom state definition.
val weatherInfo = currentState<WeatherInfo>()
// It will be one of the provided ones
val size = LocalSize.current

GlanceTheme {
when (weatherInfo) {
WeatherInfo.Loading -> {
Expand Down