From c9e43bcbcb88b754643fd75058e2d3420efb3716 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 10 Jul 2018 15:43:06 +0300 Subject: abort widget service early if there's no widgets to update --- .../java/org/fox/ttrss/widget/WidgetUpdateService.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'org.fox.ttrss') diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/widget/WidgetUpdateService.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/widget/WidgetUpdateService.java index ca0b4090..52785998 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/widget/WidgetUpdateService.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/widget/WidgetUpdateService.java @@ -41,6 +41,13 @@ public class WidgetUpdateService extends JobIntentService { Log.d(TAG, "onHandleWork: " + intent); + if (getWidgetCount(getApplicationContext()) == 0) { + Log.d(TAG, "no widgets to work on, bailing out"); + + stopSelf(); + return; + } + try { updateWidgets(-1, UPDATE_IN_PROGRESS); @@ -157,6 +164,13 @@ public class WidgetUpdateService extends JobIntentService { } + private int getWidgetCount(Context context) { + AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); + ComponentName thisAppWidget = new ComponentName(context.getPackageName(), SmallWidgetProvider.class.getName()); + + return appWidgetManager.getAppWidgetIds(thisAppWidget).length; + } + protected boolean isNetworkAvailable() { ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); -- cgit v1.2.3