private void processSearchHint(SearchHint hint) {
    if (hint == null) return;

    Intent intent;

    if (hint.getType().equalsIgnoreCase("series")) {
      intent = new Intent(SearchResultsActivity.this, SeriesViewActivity.class);
    } else if (hint.getType().equalsIgnoreCase("musicartist")
        || hint.getType().equalsIgnoreCase("musicalbum")
        || hint.getType().equalsIgnoreCase("audio")) {
      MainApplication.getInstance()
          .API
          .GetItemAsync(
              hint.getItemId(),
              MainApplication.getInstance().API.getCurrentUserId(),
              getItemResponse);
      return;
    } else if (hint.getType().equalsIgnoreCase("photo")) {
      intent = new Intent(SearchResultsActivity.this, PhotoDetailsActivity.class);
    } else if (hint.getType().equalsIgnoreCase("book")) {
      intent = new Intent(SearchResultsActivity.this, BookDetailsActivity.class);
    } else if (hint.getType().equalsIgnoreCase("folder")
        || hint.getType().equalsIgnoreCase("boxset")) {
      intent = new Intent(SearchResultsActivity.this, LibraryPresentationActivity.class);
    } else if (hint.getType().equalsIgnoreCase("movie")
        || hint.getType().equalsIgnoreCase("episode")) {
      intent = new Intent(SearchResultsActivity.this, MediaDetailsActivity.class);
    } else if (hint.getType().equalsIgnoreCase("person")) {
      intent = new Intent(SearchResultsActivity.this, ActorBioActivity.class);
      intent.putExtra("ActorName", hint.getName());
      intent.putExtra("ActorId", hint.getItemId());
    } else {
      Toast.makeText(SearchResultsActivity.this, "Type is: " + hint.getType(), Toast.LENGTH_LONG)
          .show();
      intent = null;
    }

    if (intent != null) {
      BaseItemDto item = new BaseItemDto();
      item.setId(hint.getItemId());
      item.setName(hint.getName());
      item.setType(hint.getType());

      String jsonData = MainApplication.getInstance().getJsonSerializer().SerializeToString(item);
      intent.putExtra("Item", jsonData);

      startActivity(intent);
      this.finish();
    } else {
      AppLogger.getLogger().Info("intent is null");
    }
  }
示例#2
0
  public String getFullName() {
    switch (type) {
      case BaseItem:
      case LiveTvProgram:
      case LiveTvRecording:
        return Utils.GetFullName(baseItem);
      case Person:
        return person.getName();
      case Chapter:
        return chapterInfo.getName();
      case Server:
        return serverInfo.getName();
      case User:
        return user.getName();
      case LiveTvChannel:
        return channelInfo.getName();
      case GridButton:
        return gridButton.getText();
      case SearchHint:
        return (searchHint.getSeries() != null ? searchHint.getSeries() + " - " : "")
            + searchHint.getName();
    }

    return TvApp.getApplication().getString(R.string.lbl_bracket_unknown);
  }