From 381ddfe9b1db30378a6569e5f0634ddc53c746b1 Mon Sep 17 00:00:00 2001 From: danijoo Date: Thu, 29 Oct 2015 23:46:26 +0100 Subject: [PATCH] changed callback --- .../udacityproject1/MovieListAdapter.java | 5 +- .../udacityproject1/MovieListFragment.java | 47 +++++++++---------- .../tmdbapi/MovieListCallback.java | 4 +- .../res/layout/fragment_movie_details.xml | 3 +- 4 files changed, 30 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/net/headlezz/udacityproject1/MovieListAdapter.java b/app/src/main/java/net/headlezz/udacityproject1/MovieListAdapter.java index 8c64c7c..e0bd2e7 100644 --- a/app/src/main/java/net/headlezz/udacityproject1/MovieListAdapter.java +++ b/app/src/main/java/net/headlezz/udacityproject1/MovieListAdapter.java @@ -7,6 +7,7 @@ import android.view.ViewGroup; import android.widget.ImageView; import net.headlezz.udacityproject1.tmdbapi.Movie; +import net.headlezz.udacityproject1.tmdbapi.MovieList; import net.headlezz.udacityproject1.tmdbapi.TMDBApi; import java.util.List; @@ -16,9 +17,9 @@ public class MovieListAdapter extends RecyclerView.Adapter mMovies; - public MovieListAdapter(MovieNavigation mn, List movies) { + public MovieListAdapter(MovieNavigation mn, MovieList movieList) { mMovieNavigation = mn; - mMovies = movies; + mMovies = movieList.getList(); } @Override diff --git a/app/src/main/java/net/headlezz/udacityproject1/MovieListFragment.java b/app/src/main/java/net/headlezz/udacityproject1/MovieListFragment.java index 449792b..e71dd00 100644 --- a/app/src/main/java/net/headlezz/udacityproject1/MovieListFragment.java +++ b/app/src/main/java/net/headlezz/udacityproject1/MovieListFragment.java @@ -16,19 +16,18 @@ import android.view.ViewGroup; import android.widget.ProgressBar; import android.widget.Toast; -import net.headlezz.udacityproject1.tmdbapi.Movie; import net.headlezz.udacityproject1.tmdbapi.MovieList; -import net.headlezz.udacityproject1.tmdbapi.MovieListCallback; import net.headlezz.udacityproject1.tmdbapi.TMDBApi; -import java.util.List; - import retrofit.Call; +import retrofit.Callback; +import retrofit.Response; +import retrofit.Retrofit; /** * A fragment showing a list of movies */ -public class MovieListFragment extends Fragment { +public class MovieListFragment extends Fragment implements Callback { public static final String TAG = MovieListFragment.class.getSimpleName(); @@ -121,29 +120,29 @@ public class MovieListFragment extends Fragment { * mSortingOrder will be used to determine the sorting */ private void loadMovieList() { - mProgressBar.setVisibility(View.VISIBLE); stopLoadingMovies(); // stop any running query before starting a new one - MovieListCallback cb = new MovieListCallback() { - @Override - protected void onResponse(MovieList movies) { - setListToGrid(movies.getList()); - mProgressBar.setVisibility(View.GONE); - } - - @Override - public void onFailure(Throwable t) { - Log.d(TAG, t.getClass().getSimpleName() + " " + t.getMessage()); - mProgressBar.setVisibility(View.GONE); - if(!t.getMessage().equals("Canceled") && getActivity() != null) - Toast.makeText(getActivity(), t.getMessage(), Toast.LENGTH_SHORT).show(); - } - }; + mProgressBar.setVisibility(View.VISIBLE); mMovieListCall = TMDBApi.discoverMovies(mSortingOrder, getString(R.string.api_key)); - mMovieListCall.enqueue(cb); + mMovieListCall.enqueue(this); } - private void setListToGrid(List movies) { - mMovieGridView.setAdapter(new MovieListAdapter((MovieNavigation) getActivity(), movies)); + @Override + public void onResponse(Response response, Retrofit retrofit) { + if(response.isSuccess()) + setListToGrid(response.body()); + mProgressBar.setVisibility(View.GONE); + } + + @Override + public void onFailure(Throwable t) { + Log.d(TAG, t.getClass().getSimpleName() + " " + t.getMessage()); + mProgressBar.setVisibility(View.GONE); + if(!t.getMessage().equals("Canceled") && getActivity() != null) + Toast.makeText(getActivity(), t.getMessage(), Toast.LENGTH_SHORT).show(); + } + + private void setListToGrid(MovieList movieList) { + mMovieGridView.setAdapter(new MovieListAdapter((MovieNavigation) getActivity(), movieList)); } /** diff --git a/app/src/main/java/net/headlezz/udacityproject1/tmdbapi/MovieListCallback.java b/app/src/main/java/net/headlezz/udacityproject1/tmdbapi/MovieListCallback.java index a36c0cf..f9a45a9 100644 --- a/app/src/main/java/net/headlezz/udacityproject1/tmdbapi/MovieListCallback.java +++ b/app/src/main/java/net/headlezz/udacityproject1/tmdbapi/MovieListCallback.java @@ -10,8 +10,8 @@ public abstract class MovieListCallback implements Callback { public void onResponse(Response response, Retrofit retrofit) { if(response.isSuccess()) onResponse(response.body()); - else - onFailure(new MovieDownloadException("Something went wrong" + response.code())); // TODO make this better + else // we dont want want res + onFailure(new MovieDownloadException("Something went wrong" + response.code())); } protected abstract void onResponse(MovieList movies); diff --git a/app/src/main/res/layout/fragment_movie_details.xml b/app/src/main/res/layout/fragment_movie_details.xml index 3a8b00d..18e53fc 100644 --- a/app/src/main/res/layout/fragment_movie_details.xml +++ b/app/src/main/res/layout/fragment_movie_details.xml @@ -14,6 +14,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" + android:textStyle="bold" tools:text="Chappie" />