Search in sources :

Example 11 with Show

use of com.battlelancer.seriesguide.dataliberation.model.Show in project SeriesGuide by UweTrottmann.

the class AddShowDialogFragment method populateShowViews.

private void populateShowViews(TvdbShowLoader.Result result) {
    Show show = result.show;
    if (show == null) {
        // failed to load, can't be added
        if (!AndroidUtils.isNetworkConnected(getActivity())) {
            overview.setText(R.string.offline);
        } else if (result.doesNotExist) {
            overview.setText(R.string.tvdb_error_does_not_exist);
        } else {
            overview.setText(getString(R.string.api_error_generic, String.format("%s/%s", getString(R.string.tvdb), getString(R.string.trakt))));
        }
        return;
    }
    if (result.isAdded) {
        // already added, offer to open show instead
        buttonPositive.setText(R.string.action_open);
        buttonPositive.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                startActivity(new Intent(getActivity(), OverviewActivity.class).putExtra(OverviewActivity.EXTRA_INT_SHOW_TVDBID, displayedShow.tvdbid));
                dismiss();
            }
        });
    } else {
        // not added, offer to add
        buttonPositive.setText(R.string.action_shows_add);
        buttonPositive.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                EventBus.getDefault().post(new AddFragment.OnAddingShowEvent(displayedShow.tvdbid));
                addShowListener.onAddShow(displayedShow);
                dismiss();
            }
        });
    }
    buttonPositive.setVisibility(View.VISIBLE);
    // store title for add task
    displayedShow.title = show.title;
    // title, overview
    title.setText(show.title);
    overview.setText(show.overview);
    // release year
    SpannableStringBuilder statusText = new SpannableStringBuilder();
    String releaseYear = TimeTools.getShowReleaseYear(show.first_aired);
    if (releaseYear != null) {
        statusText.append(releaseYear);
    }
    // continuing/ended status
    int encodedStatus = DataLiberationTools.encodeShowStatus(show.status);
    if (encodedStatus != ShowTools.Status.UNKNOWN) {
        String decodedStatus = ShowTools.getStatus(getActivity(), encodedStatus);
        if (decodedStatus != null) {
            if (statusText.length() > 0) {
                // like "2016 / Continuing"
                statusText.append(" / ");
            }
            int currentTextLength = statusText.length();
            statusText.append(decodedStatus);
            // if continuing, paint status green
            statusText.setSpan(new TextAppearanceSpan(getActivity(), encodedStatus == ShowTools.Status.CONTINUING ? R.style.TextAppearance_Body_Green : R.style.TextAppearance_Body_Dim), currentTextLength, statusText.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }
    }
    releasedTextView.setText(statusText);
    // next release day and time
    SpannableStringBuilder timeAndNetworkText = new SpannableStringBuilder();
    if (show.release_time != -1) {
        Date release = TimeTools.getShowReleaseDateTime(getActivity(), TimeTools.getShowReleaseTime(show.release_time), show.release_weekday, show.release_timezone, show.country, show.network);
        String day = TimeTools.formatToLocalDayOrDaily(getActivity(), release, show.release_weekday);
        String time = TimeTools.formatToLocalTime(getActivity(), release);
        timeAndNetworkText.append(day).append(" ").append(time);
        timeAndNetworkText.append("\n");
    }
    // network, runtime
    timeAndNetworkText.append(show.network);
    timeAndNetworkText.append("\n");
    timeAndNetworkText.append(getString(R.string.runtime_minutes, String.valueOf(show.runtime)));
    showmeta.setText(timeAndNetworkText);
    // rating
    rating.setText(TraktTools.buildRatingString(show.rating));
    // genres
    Utils.setValueOrPlaceholder(genres, TextTools.splitAndKitTVDBStrings(show.genres));
    // poster
    TvdbImageTools.loadShowPosterFitCrop(getActivity(), poster, show.poster);
    // enable adding of show, display views
    buttonPositive.setEnabled(true);
    ButterKnife.apply(labelViews, VISIBLE, true);
}
Also used : TextAppearanceSpan(android.text.style.TextAppearanceSpan) OverviewActivity(com.battlelancer.seriesguide.ui.OverviewActivity) OnClickListener(android.view.View.OnClickListener) Show(com.battlelancer.seriesguide.dataliberation.model.Show) Intent(android.content.Intent) ImageView(android.widget.ImageView) BindView(butterknife.BindView) View(android.view.View) TextView(android.widget.TextView) SpannableStringBuilder(android.text.SpannableStringBuilder) Date(java.util.Date)

Aggregations

Show (com.battlelancer.seriesguide.dataliberation.model.Show)11 BaseShow (com.uwetrottmann.trakt5.entities.BaseShow)5 Intent (android.content.Intent)3 NonNull (android.support.annotation.NonNull)3 ArrayList (java.util.ArrayList)3 ContentProviderOperation (android.content.ContentProviderOperation)2 Cursor (android.database.Cursor)2 Gson (com.google.gson.Gson)2 SuppressLint (android.annotation.SuppressLint)1 ContentValues (android.content.ContentValues)1 Bundle (android.os.Bundle)1 Nullable (android.support.annotation.Nullable)1 SpannableStringBuilder (android.text.SpannableStringBuilder)1 TextAppearanceSpan (android.text.style.TextAppearanceSpan)1 View (android.view.View)1 OnClickListener (android.view.View.OnClickListener)1 ImageView (android.widget.ImageView)1 TextView (android.widget.TextView)1 BindView (butterknife.BindView)1 List (com.battlelancer.seriesguide.dataliberation.model.List)1