feat: count home widgets and then run cron

This commit is contained in:
Prateek Sunal
2024-02-29 18:44:51 +05:30
parent aafc7aa175
commit 063559e795
4 changed files with 23 additions and 7 deletions

View File

@@ -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);

View File

@@ -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<int> countHomeWidgets() async {
return await hw.HomeWidget.getWidgetCount(
name: 'SlideshowWidgetProvider',
androidName: 'SlideshowWidgetProvider',
qualifiedAndroidName: 'io.ente.photos.SlideshowWidgetProvider',
iOSName: 'SlideshowWidget',
) ??
0;
}
Future<void> initHomeWidget() async {
final Logger logger = Logger("initHomeWidget");
final user = Configuration.instance.getUserID();

View File

@@ -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

View File

@@ -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