summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/widget/WidgetUpdateService.java14
1 files changed, 14 insertions, 0 deletions
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);