public void run() {
      final FragmentActivity context = getActivity();
      if (context == null) {
        return;
      }

      if (mSeasonId != null) {
        // update one season
        DBUtils.updateUnwatchedCount(context, mSeasonId);
      } else {
        // update all seasons of this show, start with the most recent
        // one
        final Cursor seasons =
            context
                .getContentResolver()
                .query(
                    Seasons.buildSeasonsOfShowUri(mShowId),
                    new String[] {Seasons._ID},
                    null,
                    null,
                    Seasons.COMBINED + " DESC");
        if (seasons == null) {
          return;
        }
        while (seasons.moveToNext()) {
          String seasonId = seasons.getString(0);
          DBUtils.updateUnwatchedCount(context, seasonId);

          notifyContentProvider(context);
        }
        seasons.close();
      }

      notifyContentProvider(context);
    }
 public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {
   return new CursorLoader(
       getActivity(),
       Seasons.buildSeasonsOfShowUri(String.valueOf(getShowId())),
       SeasonsQuery.PROJECTION,
       SeasonsQuery.SELECTION,
       null,
       mSorting.query());
 }
 private void notifyContentProvider(final FragmentActivity context) {
   context.getContentResolver().notifyChange(Seasons.buildSeasonsOfShowUri(mShowId), null);
 }