@Override public void onDataSetChanged() { if (widgetSettingsStorage != null && todoItemsStorage != null && widgetId != AppWidgetManager.INVALID_APPWIDGET_ID) { WidgetSettings widgetSettings = widgetSettingsStorage.load(widgetId); int tagID = widgetSettings.tagID; items = new ArrayList<>(); Cursor cursor = todoItemsStorage.getByTagCursor(tagID, widgetSettings.sortingMode); if (cursor.moveToFirst()) { do { TodoItem item = todoItemsStorage.loadTodoItemFromCursor(cursor); if (showItem(item, widgetSettings)) { items.add(item); } } while (cursor.moveToNext()); } cursor.close(); } }