diff options
-rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/widget/WidgetUpdateService.java | 14 |
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); |