private Cursor getGenresCursor() {
    String[] cols =
        new String[] {
          MediaStore.Audio.Genres._ID, MediaStore.Audio.Genres._COUNT, MediaStore.Audio.Genres.NAME
        };
    Uri uri = MediaStore.Audio.Genres.EXTERNAL_CONTENT_URI;

    return DMPlayerUtility.query(getActivity(), uri, cols, null, null, null);
  }
  private Cursor getGenresCursor(AsyncQueryHandler async, String filter) {
    String[] cols = new String[] {MediaStore.Audio.Genres._ID, MediaStore.Audio.Genres.NAME};

    Uri uri = MediaStore.Audio.Genres.EXTERNAL_CONTENT_URI;
    if (!TextUtils.isEmpty(filter)) {
      uri = uri.buildUpon().appendQueryParameter("filter", Uri.encode(filter)).build();
    }

    Cursor ret = null;
    if (async != null) {
      async.startQuery(0, null, uri, cols, null, null, null);
    } else {
      ret = DMPlayerUtility.query(getActivity(), uri, cols, null, null, null);
    }

    return ret;
  }