Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
4fde4e0
Add sensor services and events to Flet
FeodorFitsner Nov 20, 2025
d393a6d
Refactor sensors service imports and formatting
FeodorFitsner Nov 22, 2025
81b23c6
Update PyPI cleanup script and add module support
FeodorFitsner Dec 2, 2025
fb8dcae
Merge branch 'main' into sensors
FeodorFitsner Dec 2, 2025
3d1310d
Update sensors_plus to version 7.0.0
FeodorFitsner Dec 2, 2025
49e779f
Add services property to BasePage and View
FeodorFitsner Dec 3, 2025
564ffa5
Refactor sensor examples and update service docs
FeodorFitsner Dec 3, 2025
cb20ac0
Fix and clarify docstrings and references in controls
FeodorFitsner Dec 3, 2025
25787b1
Add ScreenBrightness service and Python bindings
FeodorFitsner Dec 3, 2025
36fb660
Update screen brightness docs and clarify platform support
FeodorFitsner Dec 3, 2025
98516c7
Add Wakelock service to Flutter and Python SDKs
FeodorFitsner Dec 3, 2025
ee5156c
Update package_info_plus and wakelock_plus dependencies
FeodorFitsner Dec 4, 2025
cd62232
Update wakelock_plus and add new dependencies
FeodorFitsner Dec 4, 2025
0bde7b8
Add Battery service support to Flet
FeodorFitsner Dec 4, 2025
14a68ef
Add connectivity service and documentation
FeodorFitsner Dec 4, 2025
f725b1d
Add and improve docstrings for service controls
FeodorFitsner Dec 4, 2025
6b42bb6
Add Share service and Python API for sharing
FeodorFitsner Dec 4, 2025
308f3c6
Rename CupertinoActivityType to ShareCupertinoActivityType
FeodorFitsner Dec 4, 2025
4168e0c
Refactor docs: move service-related files and update navigation
FeodorFitsner Dec 5, 2025
24965d3
Add API Reference and Types docs, update nav structure
FeodorFitsner Dec 5, 2025
86bc7f0
Add cookbook overview macro and generalize nav rendering
FeodorFitsner Dec 5, 2025
1e5c902
Move examples from controls to services directory
FeodorFitsner Dec 5, 2025
126e1d3
Add basic examples and update docs for services
FeodorFitsner Dec 5, 2025
783d6fc
Enhance UrlLauncher with launch modes and configuration
FeodorFitsner Dec 5, 2025
6d94a39
Refactor service registry usage in Page control
FeodorFitsner Dec 5, 2025
64fb1a1
Update commented key from _user_services to _services
FeodorFitsner Dec 6, 2025
2879a68
Update Flutter dependencies to latest versions
FeodorFitsner Dec 6, 2025
aa32c29
Merge branch 'main' into sensors
FeodorFitsner Dec 6, 2025
b019017
Add file sharing from path example
FeodorFitsner Dec 6, 2025
6af6b59
Set pixel_ratio in outlined button screenshot tests
FeodorFitsner Dec 6, 2025
b0359ff
Remove duplicate and redundant code in Flet package
FeodorFitsner Dec 6, 2025
e79055e
Refactor sensor services and event models
FeodorFitsner Dec 6, 2025
4ddf171
Refactor sensor example apps to use page.add and append
FeodorFitsner Dec 6, 2025
a01bcc7
Refactor connectivity API and add platform checks
FeodorFitsner Dec 6, 2025
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
17 changes: 16 additions & 1 deletion .github/scripts/clean-pypi.sh
Original file line number Diff line number Diff line change
@@ -1,9 +1,24 @@
# set PYPI_CLEANUP_PASSWORD with pypi.org password

VER="0\.70\.0\.dev(?!6176)"
VER="0\.70\.0\.dev(?!6907)"
uv tool install pypi-cleanup
uvx pypi-cleanup -u flet -p flet -y -r $VER --do-it
uvx pypi-cleanup -u flet -p flet-cli -y -r $VER --do-it
uvx pypi-cleanup -u flet -p flet-desktop -y -r $VER --do-it
uvx pypi-cleanup -u flet -p flet-desktop-light -y -r $VER --do-it
uvx pypi-cleanup -u flet -p flet-web -y -r $VER --do-it

# modules
uvx pypi-cleanup -u flet -p flet-ads -y -r $VER --do-it
uvx pypi-cleanup -u flet -p flet-audio -y -r $VER --do-it
uvx pypi-cleanup -u flet -p flet-audio-recorder -y -r $VER --do-it
uvx pypi-cleanup -u flet -p flet-charts -y -r $VER --do-it
uvx pypi-cleanup -u flet -p flet-datatable2 -y -r $VER --do-it
uvx pypi-cleanup -u flet -p flet-flashlight -y -r $VER --do-it
uvx pypi-cleanup -u flet -p flet-geolocator -y -r $VER --do-it
uvx pypi-cleanup -u flet -p flet-lottie -y -r $VER --do-it
uvx pypi-cleanup -u flet -p flet-map -y -r $VER --do-it
uvx pypi-cleanup -u flet -p flet-permission-handler -y -r $VER --do-it
uvx pypi-cleanup -u flet -p flet-rive -y -r $VER --do-it
uvx pypi-cleanup -u flet -p flet-video -y -r $VER --do-it
uvx pypi-cleanup -u flet -p flet-webview -y -r $VER --do-it
8 changes: 8 additions & 0 deletions client/macos/Flutter/GeneratedPluginRegistrant.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import FlutterMacOS
import Foundation

import audioplayers_darwin
import battery_plus
import connectivity_plus
import device_info_plus
import file_picker
import geolocator_apple
Expand All @@ -15,7 +17,9 @@ import package_info_plus
import path_provider_foundation
import record_macos
import rive_common
import screen_brightness_macos
import screen_retriever_macos
import share_plus
import shared_preferences_foundation
import url_launcher_macos
import volume_controller
Expand All @@ -26,6 +30,8 @@ import window_to_front

func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
AudioplayersDarwinPlugin.register(with: registry.registrar(forPlugin: "AudioplayersDarwinPlugin"))
BatteryPlusMacosPlugin.register(with: registry.registrar(forPlugin: "BatteryPlusMacosPlugin"))
ConnectivityPlusPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlusPlugin"))
DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
FilePickerPlugin.register(with: registry.registrar(forPlugin: "FilePickerPlugin"))
GeolocatorPlugin.register(with: registry.registrar(forPlugin: "GeolocatorPlugin"))
Expand All @@ -35,7 +41,9 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
RecordMacOsPlugin.register(with: registry.registrar(forPlugin: "RecordMacOsPlugin"))
RivePlugin.register(with: registry.registrar(forPlugin: "RivePlugin"))
ScreenBrightnessMacosPlugin.register(with: registry.registrar(forPlugin: "ScreenBrightnessMacosPlugin"))
ScreenRetrieverMacosPlugin.register(with: registry.registrar(forPlugin: "ScreenRetrieverMacosPlugin"))
SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
VolumeControllerPlugin.register(with: registry.registrar(forPlugin: "VolumeControllerPlugin"))
Expand Down
128 changes: 120 additions & 8 deletions client/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.2.1"
battery_plus:
dependency: transitive
description:
name: battery_plus
sha256: ad16fcb55b7384be6b4bbc763d5e2031ac7ea62b2d9b6b661490c7b9741155bf
url: "https://pub.dev"
source: hosted
version: "7.0.0"
battery_plus_platform_interface:
dependency: transitive
description:
name: battery_plus_platform_interface
sha256: e8342c0f32de4b1dfd0223114b6785e48e579bfc398da9471c9179b907fa4910
url: "https://pub.dev"
source: hosted
version: "2.0.1"
boolean_selector:
dependency: transitive
description:
Expand Down Expand Up @@ -129,6 +145,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.19.1"
connectivity_plus:
dependency: transitive
description:
name: connectivity_plus
sha256: "33bae12a398f841c6cda09d1064212957265869104c478e5ad51e2fb26c3973c"
url: "https://pub.dev"
source: hosted
version: "7.0.0"
connectivity_plus_platform_interface:
dependency: transitive
description:
name: connectivity_plus_platform_interface
sha256: "42657c1715d48b167930d5f34d00222ac100475f73d10162ddf43e714932f204"
url: "https://pub.dev"
source: hosted
version: "2.0.1"
cross_file:
dependency: transitive
description:
Expand Down Expand Up @@ -766,6 +798,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.0.0"
mime:
dependency: transitive
description:
name: mime
sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6"
url: "https://pub.dev"
source: hosted
version: "2.0.0"
msgpack_dart:
dependency: transitive
description:
Expand All @@ -782,14 +822,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.0"
package_info_plus:
nm:
dependency: transitive
description:
name: nm
sha256: "2c9aae4127bdc8993206464fcc063611e0e36e72018696cd9631023a31b24254"
url: "https://pub.dev"
source: hosted
version: "0.5.0"
package_info_plus:
dependency: "direct main"
description:
name: package_info_plus
sha256: "16eee997588c60225bda0488b6dcfac69280a6b7a3cf02c741895dd370a02968"
sha256: f69da0d3189a4b4ceaeb1a3defb0f329b3b352517f52bed4290f83d4f06bc08d
url: "https://pub.dev"
source: hosted
version: "8.3.1"
version: "9.0.0"
package_info_plus_platform_interface:
dependency: transitive
description:
Expand Down Expand Up @@ -1054,6 +1102,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.0.1"
screen_brightness:
dependency: transitive
description:
name: screen_brightness
sha256: "5f70754028f169f059fdc61112a19dcbee152f8b293c42c848317854d650cba3"
url: "https://pub.dev"
source: hosted
version: "2.1.7"
screen_brightness_android:
dependency: transitive
description:
Expand All @@ -1062,6 +1118,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.3"
screen_brightness_ios:
dependency: transitive
description:
name: screen_brightness_ios
sha256: "2493953340ecfe8f4f13f61db50ce72533a55b0bbd58ba1402893feecf3727f5"
url: "https://pub.dev"
source: hosted
version: "2.1.2"
screen_brightness_macos:
dependency: transitive
description:
name: screen_brightness_macos
sha256: "4edf330ad21078686d8bfaf89413325fbaf571dcebe1e89254d675a3f288b5b9"
url: "https://pub.dev"
source: hosted
version: "2.1.1"
screen_brightness_ohos:
dependency: transitive
description:
name: screen_brightness_ohos
sha256: a93a263dcd39b5c56e589eb495bcd001ce65cdd96ff12ab1350683559d5c5bb7
url: "https://pub.dev"
source: hosted
version: "2.1.2"
screen_brightness_platform_interface:
dependency: transitive
description:
Expand All @@ -1070,6 +1150,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.0"
screen_brightness_windows:
dependency: transitive
description:
name: screen_brightness_windows
sha256: d3518bf0f5d7a884cee2c14449ae0b36803802866de09f7ef74077874b6b2448
url: "https://pub.dev"
source: hosted
version: "2.1.0"
screen_retriever:
dependency: transitive
description:
Expand Down Expand Up @@ -1122,10 +1210,10 @@ packages:
dependency: transitive
description:
name: sensors_plus
sha256: "89e2bfc3d883743539ce5774a2b93df61effde40ff958ecad78cd66b1a8b8d52"
sha256: "56e8cd4260d9ed8e00ecd8da5d9fdc8a1b2ec12345a750dfa51ff83fcf12e3fa"
url: "https://pub.dev"
source: hosted
version: "6.1.2"
version: "7.0.0"
sensors_plus_platform_interface:
dependency: transitive
description:
Expand All @@ -1134,6 +1222,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.0.1"
share_plus:
dependency: transitive
description:
name: share_plus
sha256: "14c8860d4de93d3a7e53af51bff479598c4e999605290756bbbe45cf65b37840"
url: "https://pub.dev"
source: hosted
version: "12.0.1"
share_plus_platform_interface:
dependency: transitive
description:
name: share_plus_platform_interface
sha256: "88023e53a13429bd65d8e85e11a9b484f49d4c190abbd96c7932b74d6927cc9a"
url: "https://pub.dev"
source: hosted
version: "6.1.0"
shared_preferences:
dependency: transitive
description:
Expand Down Expand Up @@ -1299,6 +1403,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.1.0"
upower:
dependency: transitive
description:
name: upower
sha256: cf042403154751180affa1d15614db7fa50234bc2373cd21c3db666c38543ebf
url: "https://pub.dev"
source: hosted
version: "0.7.0"
uri_parser:
dependency: transitive
description:
Expand Down Expand Up @@ -1428,13 +1540,13 @@ packages:
source: hosted
version: "3.4.0"
wakelock_plus:
dependency: transitive
dependency: "direct main"
description:
name: wakelock_plus
sha256: "61713aa82b7f85c21c9f4cd0a148abd75f38a74ec645fcb1e446f882c82fd09b"
sha256: "9296d40c9adbedaba95d1e704f4e0b434be446e2792948d0e4aa977048104228"
url: "https://pub.dev"
source: hosted
version: "1.3.3"
version: "1.4.0"
wakelock_plus_platform_interface:
dependency: transitive
description:
Expand Down
4 changes: 3 additions & 1 deletion client/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,14 +74,16 @@ dependencies:
path: ../sdk/python/packages/flet-charts/src/flutter/flet_charts

cupertino_icons: ^1.0.6
wakelock_plus: ^1.4.0
package_info_plus: ^9.0.0

integration_test:
sdk: flutter

dependency_overrides:
flet:
path: ../packages/flet
# webview_flutter_android: ^4.0.0
package_info_plus: ^9.0.0

dev_dependencies:
flutter_test:
Expand Down
12 changes: 12 additions & 0 deletions client/windows/flutter/generated_plugin_registrant.cc
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,17 @@
#include "generated_plugin_registrant.h"

#include <audioplayers_windows/audioplayers_windows_plugin.h>
#include <battery_plus/battery_plus_windows_plugin.h>
#include <connectivity_plus/connectivity_plus_windows_plugin.h>
#include <geolocator_windows/geolocator_windows.h>
#include <media_kit_libs_windows_video/media_kit_libs_windows_video_plugin_c_api.h>
#include <media_kit_video/media_kit_video_plugin_c_api.h>
#include <permission_handler_windows/permission_handler_windows_plugin.h>
#include <record_windows/record_windows_plugin_c_api.h>
#include <rive_common/rive_plugin.h>
#include <screen_brightness_windows/screen_brightness_windows_plugin.h>
#include <screen_retriever_windows/screen_retriever_windows_plugin_c_api.h>
#include <share_plus/share_plus_windows_plugin_c_api.h>
#include <url_launcher_windows/url_launcher_windows.h>
#include <volume_controller/volume_controller_plugin_c_api.h>
#include <window_manager/window_manager_plugin.h>
Expand All @@ -22,6 +26,10 @@
void RegisterPlugins(flutter::PluginRegistry* registry) {
AudioplayersWindowsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("AudioplayersWindowsPlugin"));
BatteryPlusWindowsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("BatteryPlusWindowsPlugin"));
ConnectivityPlusWindowsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin"));
GeolocatorWindowsRegisterWithRegistrar(
registry->GetRegistrarForPlugin("GeolocatorWindows"));
MediaKitLibsWindowsVideoPluginCApiRegisterWithRegistrar(
Expand All @@ -34,8 +42,12 @@ void RegisterPlugins(flutter::PluginRegistry* registry) {
registry->GetRegistrarForPlugin("RecordWindowsPluginCApi"));
RivePluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("RivePlugin"));
ScreenBrightnessWindowsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("ScreenBrightnessWindowsPlugin"));
ScreenRetrieverWindowsPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("ScreenRetrieverWindowsPluginCApi"));
SharePlusWindowsPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("SharePlusWindowsPluginCApi"));
UrlLauncherWindowsRegisterWithRegistrar(
registry->GetRegistrarForPlugin("UrlLauncherWindows"));
VolumeControllerPluginCApiRegisterWithRegistrar(
Expand Down
4 changes: 4 additions & 0 deletions client/windows/flutter/generated_plugins.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,17 @@

list(APPEND FLUTTER_PLUGIN_LIST
audioplayers_windows
battery_plus
connectivity_plus
geolocator_windows
media_kit_libs_windows_video
media_kit_video
permission_handler_windows
record_windows
rive_common
screen_brightness_windows
screen_retriever_windows
share_plus
url_launcher_windows
volume_controller
window_manager
Expand Down
Loading
Loading