Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/cspell.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,10 @@ words:
- Codelab
- pubspec
- Siri
- sirikit
- objc
- typealias
- widgetconfigurationintent
- xcodeproj
- pbxproj
- xcworkspace
Expand Down
2 changes: 2 additions & 0 deletions docs/android-xml/render-flutter-widget.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ description: Render Flutter Widgets in Android XML Widgets
```
2. Update your Kotlin code to get the chart image and put it into the widget, if it exists.
```kotlin
import es.antonborri.home_widget.HomeWidgetPlugin

class NewsWidget : AppWidgetProvider() {
override fun onUpdate(
context: Context,
Expand Down
2 changes: 2 additions & 0 deletions docs/android-xml/setup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ For convenience, you can extend from `HomeWidgetProvider` which gives you access
// Remember to set a package in order for home_widget to find the Provider
package es.antonborri.home_widget_counter

import es.antonborri.home_widget.HomeWidgetProvider

class CounterWidgetProvider : HomeWidgetProvider() {
override fun onUpdate(
context: Context,
Expand Down
25 changes: 25 additions & 0 deletions docs/migrations/0.9.0.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,28 @@ The following minimum version requirements apply for version 0.9.0:
- **iOS**: Minimum deployment target is **iOS 14.0**
- **Dart SDK**: Minimum version is `>=3.5.0 <4.0.0`
- **Flutter**: Minimum version is `>=3.20.0-1.2.pre`

## Android Package Names

With version 0.9.0, Android now requires explicit namespace declarations in `build.gradle`. As a result, imports for `home_widget` classes must now use fully qualified package names.

### Update Imports

Previously, you could import `home_widget` classes without the package prefix. Now you must use the full package-qualified imports:

```kotlin
import HomeWidgetGlanceState // [!code --]
import HomeWidgetGlanceStateDefinition // [!code --]
import HomeWidgetGlanceWidgetReceiver // [!code --]
import es.antonborri.home_widget.HomeWidgetGlanceState // [!code ++]
import es.antonborri.home_widget.HomeWidgetGlanceStateDefinition // [!code ++]
import es.antonborri.home_widget.HomeWidgetGlanceWidgetReceiver // [!code ++]
```

This applies to all `home_widget` classes you import in your Android widget code, including:
- `HomeWidgetGlanceState`
- `HomeWidgetGlanceStateDefinition`
- `HomeWidgetGlanceWidgetReceiver`
- `HomeWidgetBackgroundIntent`
- `HomeWidgetPlugin`
- Any other classes from the `es.antonborri.home_widget` package
6 changes: 3 additions & 3 deletions docs/setup/android.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ The `GlanceAppWidget` is the file in which you define your Widget's layout. Shou

```kotlin
// Other imports...
import HomeWidgetGlanceState
import HomeWidgetGlanceStateDefinition
import es.antonborri.home_widget.HomeWidgetGlanceState
import es.antonborri.home_widget.HomeWidgetGlanceStateDefinition

class AppWidget : GlanceAppWidget() {

Expand Down Expand Up @@ -103,7 +103,7 @@ Your Receiver should then look like this, using the previously define `AppWidget
// Remember to set a package in order for home_widget to find the Receiver
package es.antonborri.home_widget_example.glance

import HomeWidgetGlanceWidgetReceiver
import es.antonborri.home_widget.HomeWidgetGlanceWidgetReceiver

class HomeWidgetReceiver : HomeWidgetGlanceWidgetReceiver<AppWidget>() {
override val glanceAppWidget = AppWidget()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package es.antonborri.home_widget

import android.content.Context
import android.content.SharedPreferences
import android.os.Environment
import androidx.datastore.core.DataStore
import androidx.glance.state.GlanceStateDefinition
import es.antonborri.home_widget.HomeWidgetPlugin
import java.io.File
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flow
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
package es.antonborri.home_widget

import android.appwidget.AppWidgetManager
import android.content.Context
import androidx.glance.appwidget.GlanceAppWidget
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package es.antonborri.home_widget_example.glance

import HomeWidgetGlanceState
import HomeWidgetGlanceStateDefinition
import android.content.Context
import android.graphics.BitmapFactory
import android.net.Uri
Expand Down Expand Up @@ -29,6 +27,8 @@ import androidx.glance.text.FontWeight
import androidx.glance.text.Text
import androidx.glance.text.TextStyle
import es.antonborri.home_widget.HomeWidgetBackgroundIntent
import es.antonborri.home_widget.HomeWidgetGlanceState
import es.antonborri.home_widget.HomeWidgetGlanceStateDefinition
import es.antonborri.home_widget.actionStartActivity
import es.antonborri.home_widget_example.MainActivity

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package es.antonborri.home_widget_example.glance

import HomeWidgetGlanceWidgetReceiver
import es.antonborri.home_widget.HomeWidgetGlanceWidgetReceiver

class HomeWidgetReceiver : HomeWidgetGlanceWidgetReceiver<HomeWidgetGlanceAppWidget>() {
override val glanceAppWidget = HomeWidgetGlanceAppWidget()
Expand Down