diff --git a/app/build.gradle b/app/build.gradle
index 350d0ab..d18764d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -24,4 +24,6 @@ dependencies {
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:design:22.2.0'
compile 'com.android.support:recyclerview-v7:22.2.0'
+ compile 'com.squareup.retrofit:retrofit:1.9.0'
+ compile 'com.github.bumptech.glide:glide:3.6.0'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index b52b269..fc2f1fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -18,4 +18,6 @@
+
+
diff --git a/app/src/main/java/android/coding/interview/makeitawesome/adapter/PhotosAdapter.java b/app/src/main/java/android/coding/interview/makeitawesome/adapter/PhotosAdapter.java
index 366168c..6e9237b 100644
--- a/app/src/main/java/android/coding/interview/makeitawesome/adapter/PhotosAdapter.java
+++ b/app/src/main/java/android/coding/interview/makeitawesome/adapter/PhotosAdapter.java
@@ -21,7 +21,7 @@ public class PhotosAdapter extends RecyclerView.Adapter
@@ -18,6 +38,7 @@
*/
public class PicturesFragment extends Fragment {
+ ListView rv;
public static Fragment newInstance() {
return new PicturesFragment();
}
@@ -25,13 +46,70 @@ public static Fragment newInstance() {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- RecyclerView rv = (RecyclerView) inflater.inflate(R.layout.pictures_list_fragment, container, false);
+ /*
+ RecyclerView rv = (RecyclerView) inflater.inflate(R.layout.album_list_fragment, container, false);
setupRecyclerView(rv);
+ */
+ rv = (ListView) inflater.inflate(R.layout.album_list_fragment, container, false);
+ DownloadFilesTask d = new DownloadFilesTask();
+ d.execute();
return rv;
}
+ private void drawList(){
+
+ }
private void setupRecyclerView(RecyclerView recyclerView) {
recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext()));
recyclerView.setAdapter(new PhotosAdapter());
}
+
+ private class DownloadFilesTask extends AsyncTask> {
+ protected List doInBackground(URL... urls) {
+ RestClient restClient = RestClient.getInstance();
+ restClient.getPhotos();
+ List l = restClient.getPhotos();
+ return l;
+ }
+
+ protected void onProgressUpdate(Integer... progress) {
+
+ }
+
+ protected void onPostExecute(List l) {
+ // update the adapter
+ rv.setAdapter(new AlbumAdapter(getActivity(),l));
+
+ }
+ }
+
+ class AlbumAdapter extends ArrayAdapter {
+
+ Activity activity;
+ List data;
+
+ AlbumAdapter(Activity activity, List data) {
+ super(activity.getApplicationContext(), R.layout.album_list_item, data);
+ this.activity = activity;
+ this.data = data;
+ }
+
+ public View getView(int position, View convertView, ViewGroup parent) {
+ LayoutInflater inflater = LayoutInflater.from(activity);
+
+ View item = inflater.inflate(R.layout.album_list_item, null);
+
+ TextView txt = (TextView) item.findViewById(R.id.name);
+ txt.setText(data.get(position).getTitle());
+
+ final ImageView img = (ImageView) item.findViewById(R.id.album);
+ Glide.with(getActivity()).load(data.get(position).getThumbnailUrl()).asBitmap().into(new SimpleTarget(100, 100) {
+ @Override
+ public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) {
+ img.setImageBitmap(resource);
+ }
+ });
+ return (item);
+ }
+ }
}
diff --git a/app/src/main/java/android/coding/interview/makeitawesome/model/Album.java b/app/src/main/java/android/coding/interview/makeitawesome/model/Album.java
new file mode 100644
index 0000000..da3fff0
--- /dev/null
+++ b/app/src/main/java/android/coding/interview/makeitawesome/model/Album.java
@@ -0,0 +1,69 @@
+package android.coding.interview.makeitawesome.model;
+
+/**
+ * Created by antonio on 24/07/15.
+ */
+public class Album {
+
+ private int albumId;
+ private int id;
+ private String title;
+ private String url;
+ private String thumbnailUrl;
+
+ public Album() {
+ this.albumId = -1;
+ this.id = -1;
+ this.title = "";
+ this.url = "";
+ this.thumbnailUrl = "";
+ }
+
+ public Album(int albumId, int id, String title, String url, String thumbnailUrl) {
+ this.albumId = albumId;
+ this.id = id;
+ this.title = title;
+ this.url = url;
+ this.thumbnailUrl = thumbnailUrl;
+ }
+
+ public int getAlbumId() {
+ return albumId;
+ }
+
+ public void setAlbumId(int albumId) {
+ this.albumId = albumId;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getUrl() {
+ return url;
+ }
+
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+ public String getThumbnailUrl() {
+ return thumbnailUrl;
+ }
+
+ public void setThumbnailUrl(String thumbnailUrl) {
+ this.thumbnailUrl = thumbnailUrl;
+ }
+}
diff --git a/app/src/main/java/android/coding/interview/makeitawesome/networking/ApiPhoto.java b/app/src/main/java/android/coding/interview/makeitawesome/networking/ApiPhoto.java
new file mode 100644
index 0000000..4cf6285
--- /dev/null
+++ b/app/src/main/java/android/coding/interview/makeitawesome/networking/ApiPhoto.java
@@ -0,0 +1,16 @@
+package android.coding.interview.makeitawesome.networking;
+
+import android.coding.interview.makeitawesome.model.Album;
+
+import java.util.List;
+
+import retrofit.http.GET;
+
+/**
+ * Created by antonio on 24/07/15.
+ */
+public interface ApiPhoto {
+
+ @GET("/")
+ List listPhotos();
+}
diff --git a/app/src/main/java/android/coding/interview/makeitawesome/networking/RestClient.java b/app/src/main/java/android/coding/interview/makeitawesome/networking/RestClient.java
new file mode 100644
index 0000000..7244c39
--- /dev/null
+++ b/app/src/main/java/android/coding/interview/makeitawesome/networking/RestClient.java
@@ -0,0 +1,44 @@
+package android.coding.interview.makeitawesome.networking;
+
+import android.coding.interview.makeitawesome.model.Album;
+
+import java.util.List;
+
+import retrofit.RestAdapter;
+import retrofit.android.AndroidLog;
+import retrofit.http.GET;
+
+/**
+ * Created by antonio on 24/07/15.
+ */
+public class RestClient {
+
+ private ApiPhoto api;
+
+
+ public static RestClient restClient= null;
+ private static final String URL = "http://jsonplaceholder.typicode.com/photos/";
+
+ protected RestClient(){
+ RestAdapter restAdapter = new RestAdapter.Builder()
+ .setEndpoint(URL)
+ .setLogLevel(RestAdapter.LogLevel.FULL)
+ .setLog(new AndroidLog("RETROFIT"))
+ .build();
+ api = restAdapter.create(ApiPhoto.class);
+ }
+
+ public static synchronized RestClient getInstance(){
+ if(restClient==null){
+ restClient = new RestClient();
+ }
+ return restClient;
+ }
+
+ public List getPhotos(){
+ return api.listPhotos();
+ }
+
+
+
+}
diff --git a/app/src/main/res/layout/album_list_fragment.xml b/app/src/main/res/layout/album_list_fragment.xml
new file mode 100644
index 0000000..3545396
--- /dev/null
+++ b/app/src/main/res/layout/album_list_fragment.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/layout/album_list_item.xml b/app/src/main/res/layout/album_list_item.xml
new file mode 100644
index 0000000..28bafb6
--- /dev/null
+++ b/app/src/main/res/layout/album_list_item.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/picture_list_item.xml b/app/src/main/res/layout/picture_list_item.xml
index 6b5a158..3c766bf 100644
--- a/app/src/main/res/layout/picture_list_item.xml
+++ b/app/src/main/res/layout/picture_list_item.xml
@@ -1,7 +1,9 @@
-