@Override public void onLoadFinished(Loader<Cursor> loader, Cursor data) { if (data != null && data.moveToFirst()) { // Read weather condition ID from cursor int movieId = data.getInt(COL_MOVIE_DETAIL_ID); // Use weather art image // mThumbnail.setImageResource(Utility.getArtResourceForWeatherCondition(movieId)); String url = null; url = "http://image.tmdb.org/t/p/w185" + data.getString(COL_MOVIE_DETAIL_POSTER_PATH); Picasso.with(getActivity()).load(url).into(mThumbnail); // // // Read date from cursor and update views for day of week and date long date = data.getLong(COL_MOVIE_DETAIL_RELEASE_DATE); String year = Utility.getYear(getActivity(), date); mYear.setText(year); String title = data.getString(COL_MOVIE_DETAIL_ORIGINAL_TITLE); mTitle.setText(title); // // // Read rating from cursor and update view String rating = data.getString(COL_MOVIE_DETAIL_VOTE_AVERAGE) + "/10"; String length = data.getString(COL_MOVIE_DETAIL_RUNTIME) + "min"; mRating.setText(rating); mRuntime.setText(length); String overview = data.getString(COL_MOVIE_DETAIL_OVERVIEW); mOverview.setText(overview); String trailorsStr = data.getString(COL_MOVIE_DETAIL_VIDEOS); String[] trailors = null; if (trailorsStr != null) { trailors = trailorsStr.split(","); } String reviewsStr = data.getString(COL_MOVIE_DETAIL_REVIEWS); if (reviewsStr != null) { String[] reviews = reviewsStr.split("REVIEW_SEPARATOR"); ReviewsAdapter reviewsAdapter = new ReviewsAdapter(getActivity(), android.R.layout.simple_list_item_1, reviews); mReviews.setAdapter(reviewsAdapter); } if (trailors != null) { TrailorAdapter adapter = new TrailorAdapter(getActivity(), android.R.layout.simple_list_item_1, trailors); mTrailors.setAdapter(adapter); mForecast = "http://www.youtube.com/watch?v=" + trailors[0]; } if (data.getInt(COL_MOVIE_DETAIL_IS_FAVORITE) == 1) { mFav.setChecked(true); } // // // For accessibility, add a content rating to the icon field // mThumbnail.setContentDescription(rating); // // // Read high temperature from cursor and update view // boolean isMetric = Utility.isMetric(getActivity()); // // double high = data.getDouble(COL_WEATHER_MAX_TEMP); // String highString = Utility.formatTemperature(getActivity(), high); // mOverview.setText(highString); // // // Read low temperature from cursor and update view // double low = data.getDouble(COL_WEATHER_MIN_TEMP); // String lowString = Utility.formatTemperature(getActivity(), low); // mLowTempView.setText(lowString); // // // Read humidity from cursor and update view // float humidity = data.getFloat(COL_WEATHER_HUMIDITY); // mHumidityView.setText(getActivity().getString(R.string.format_humidity, // humidity)); // // // Read wind speed and direction from cursor and update view // float windSpeedStr = data.getFloat(COL_WEATHER_WIND_SPEED); // float windDirStr = data.getFloat(COL_WEATHER_DEGREES); // mWindView.setText(Utility.getFormattedWind(getActivity(), windSpeedStr, // windDirStr)); // // // Read pressure from cursor and update view // float pressure = data.getFloat(COL_WEATHER_PRESSURE); // mPressureView.setText(getActivity().getString(R.string.format_pressure, // pressure)); // // // We still need this for the share intent // mForecast = String.format("%s - %s - %s/%s", dateText, rating, high, low); // // // If onCreateOptionsMenu has already happened, we need to update the share // intent now. // if (mShareActionProvider != null) { // mShareActionProvider.setShareIntent(createShareForecastIntent()); // } if (mShareActionProvider != null) { mShareActionProvider.setShareIntent(createShareForecastIntent()); } } }
@Override public void onLoadFinished(Loader<Cursor> loader, Cursor data) { if (data != null && data.moveToFirst()) { long movieId = ContentUris.parseId(mUri); title = data.getString(COL_MOVIE_TITLE); // fetch meta data from async task new TmdbApiTask(getActivity(), textView_runtime).execute(String.valueOf(movieId)); // fetch trailer list new TmdbApiTask( getActivity(), listView_trailers, Constants.FETCH_VIDEOS, new TmdbApiTask.AsyncResponse() { @Override public void processFinish(String result) { listView_trailers.setEmptyView(textView_empty_trailer_list); if (mShareActionProvider != null) { Intent shareIntent = createShareVideoIntent(result); mShareActionProvider.setShareIntent(shareIntent); } } }) .execute(String.valueOf(movieId)); // fetch reviews list new TmdbApiTask( getActivity(), linearListView, Constants.FETCH_REVIEWS, new TmdbApiTask.AsyncResponse() { @Override public void processFinish(String str) { progressBar.setVisibility(View.GONE); linearListView.setEmptyView(textView_empty_list_item); } }) .execute(String.valueOf(movieId)); if (getActivity().findViewById(R.id.gridView_tiles) == null) { // single pane getActivity().setTitle(title); } String year = data.getString(COL_MOVIE_DATE); textView_release_year.setText(title + " \n\n" + Utility.getYear(year)); String overview = data.getString(COL_MOVIE_SYNOPSIS); textView_overview.setText(overview); String rating = data.getString(COL_MOVIE_RATING); textView_vote_average.setText(rating + "/10"); String poster = data.getString(COL_MOVIE_POSTER); imageView_poster_detail.setContentDescription(title); Picasso.with(getContext()) .load(Utility.getPoster_path(Constants.DEFAULT_POSTER_WIDTH, poster)) .into(imageView_poster_detail); Boolean fav = data.getInt(COL_MOVIE_FAV) > 0; if (fav) { myFab.setSelected(true); myFab.setImageResource(R.drawable.ic_favorite_black_24dp); } else { myFab.setSelected(false); myFab.setImageResource(R.drawable.ic_favorite_border_black_24dp); } } }
@Override public void onLoadFinished(Loader<Cursor> loader, Cursor data) { Log.d(TAG, "In onLoadFinished"); if (data != null && data.moveToFirst()) { while (data.moveToNext()) { final int moiveId = data.getInt(data.getColumnIndex(MovieEntry.COLUMN_MOVIE_ID)); // 0:false, 1:true int hasTrailer = data.getInt(data.getColumnIndex(MovieEntry.COLUMN_MOVIE_HAS_VIDEO)); if (mMovieId == moiveId) { String movieTitle = data.getString(data.getColumnIndex(MovieEntry.COLUMN_MOVIE_TITLE)); ((TextView) getView().findViewById(R.id.movie_title)).setText(movieTitle); String movieDesc = data.getString(data.getColumnIndex(MovieEntry.COLUMN_MOVIE_DESC)); ((TextView) getView().findViewById(R.id.movie_overview)).setText(movieDesc); ((TextView) getView().findViewById(R.id.movie_duration)).setText(Utility.getDuration()); double movieVote = data.getDouble(data.getColumnIndex(MovieEntry.COLUMN_MOVIE_VOTE)); ((TextView) getView().findViewById(R.id.movie_vote)).setText(Utility.getVote(movieVote)); String movieYear = data.getString(data.getColumnIndex(MovieEntry.COLUMN_MOVIE_RELEASE_DATE)); ((TextView) getView().findViewById(R.id.movie_release_year)) .setText(Utility.getYear(movieYear)); String icons = data.getString(data.getColumnIndex(MovieEntry.COLUMN_MOVIE_BACKDROP_PATH)); ImageView iconView = (ImageView) getView().findViewById(R.id.movie_imgIcon); Picasso.with(getContext()).load(Utility.sBaseUrl + icons).into(iconView); // Log.d(TAG, "Picasso load() is called :" + Utility.sBaseUrl + icons); Log.d(TAG, "Movie: - " + movieTitle + " - " + movieYear + " - " + hasTrailer); mSaveFavoriteButton = (Button) getView().findViewById(R.id.btn_save_favorite); mSaveFavoriteButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { if (mMovieId != 0) { if (saveFavoriteMovie(mMovieId)) { Toast.makeText(getContext(), R.string.message_ok, Toast.LENGTH_SHORT).show(); } else { Toast.makeText( getContext(), R.string.message_already_saved, Toast.LENGTH_SHORT) .show(); } } else { Toast.makeText(getContext(), R.string.message_not_ok, Toast.LENGTH_SHORT) .show(); } } }); // if the previous request indicating that this movie has video, // then set trailer play is visible. if (hasTrailer == 0) { ((TextView) getView().findViewById(R.id.movie_trailer_txt)).setVisibility(View.VISIBLE); mPlayTrailerButton = ((Button) getView().findViewById(R.id.btn_play_trailer)); mPlayTrailerButton.setVisibility(View.VISIBLE); mPlayTrailerButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { // openBrowserToView(moiveId); // openYourTubeToView(moiveId); FragmentManager fm = getActivity().getSupportFragmentManager(); ChooseToPlayFragment dialog = ChooseToPlayFragment.newInstance(moiveId); dialog.show(fm, TAG); } }); /*try{ }*/ } break; } } } }