From 063559e79555cdb427565a64dd754ccdd5e893aa Mon Sep 17 00:00:00 2001 From: Prateek Sunal Date: Thu, 29 Feb 2024 18:44:51 +0530 Subject: [PATCH] feat: count home widgets and then run cron --- lib/main.dart | 6 ++++-- lib/utils/home_widget_util.dart | 10 ++++++++++ pubspec.lock | 9 +++++---- pubspec.yaml | 5 ++++- 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 931c42015b..7e639891f5 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -68,8 +68,10 @@ void initSlideshowWidget() { Workmanager().executeTask( (taskName, inputData) async { try { - await _init(true, via: 'runViaSlideshowWidget'); - await initHomeWidget(); + if (await countHomeWidgets() != 0) { + await _init(true, via: 'runViaSlideshowWidget'); + await initHomeWidget(); + } return true; } catch (e, s) { _logger.severe("Error in initSlideshowWidget", e, s); diff --git a/lib/utils/home_widget_util.dart b/lib/utils/home_widget_util.dart index a6d07643cb..b5ac412b47 100644 --- a/lib/utils/home_widget_util.dart +++ b/lib/utils/home_widget_util.dart @@ -11,6 +11,16 @@ import "package:photos/services/favorites_service.dart"; import "package:photos/utils/file_util.dart"; import "package:photos/utils/preload_util.dart"; +Future countHomeWidgets() async { + return await hw.HomeWidget.getWidgetCount( + name: 'SlideshowWidgetProvider', + androidName: 'SlideshowWidgetProvider', + qualifiedAndroidName: 'io.ente.photos.SlideshowWidgetProvider', + iOSName: 'SlideshowWidget', + ) ?? + 0; +} + Future initHomeWidget() async { final Logger logger = Logger("initHomeWidget"); final user = Configuration.instance.getUserID(); diff --git a/pubspec.lock b/pubspec.lock index d8e12817ad..c3f75a6ade 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -925,10 +925,11 @@ packages: home_widget: dependency: "direct main" description: - name: home_widget - sha256: c58a9e6d3b94490f1a8d5ddcbeeeeebc79abd0befe5889c26b0713fb09be6857 - url: "https://pub.dev" - source: hosted + path: "." + ref: main + resolved-ref: "49158ce4a517e87817dc84c6b96c00639281229a" + url: "https://github.com/prateekmedia/FlutterHomeWidget" + source: git version: "0.4.1" html: dependency: transitive diff --git a/pubspec.yaml b/pubspec.yaml index 5ad591ffa9..d53f3fa3c1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -90,7 +90,10 @@ dependencies: fluttertoast: ^8.0.6 freezed_annotation: ^2.2.0 google_nav_bar: ^5.0.5 - home_widget: ^0.4.1 + home_widget: + git: + url: https://github.com/prateekmedia/FlutterHomeWidget + ref: main html_unescape: ^2.0.0 http: ^1.1.0 image: ^4.0.17