diff --git a/samples/flickr/src/main/AndroidManifest.xml b/samples/flickr/src/main/AndroidManifest.xml
index aed789656d438e9de7748f8af0ae4d18064d38b0..242d2cd15efdbe7ca788881af2281a5347cfcc6f 100644
--- a/samples/flickr/src/main/AndroidManifest.xml
+++ b/samples/flickr/src/main/AndroidManifest.xml
@@ -21,6 +21,8 @@
+
+
diff --git a/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FlickrPhotoGrid.java b/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FlickrPhotoGrid.java
index 12a676f028ddd9a609cb1646a8f633fe31032157..b6393a7a09fbd648d1a81889d35aefa1fba05ca1 100644
--- a/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FlickrPhotoGrid.java
+++ b/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FlickrPhotoGrid.java
@@ -1,5 +1,6 @@
package com.bumptech.glide.samples.flickr;
+import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
@@ -173,6 +174,14 @@ public class FlickrPhotoGrid extends Fragment implements PhotoViewer {
.thumbnail(thumbnail ? thumbnailRequest.load(current) : null)
.into(imageView);
+ imageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent intent = FullscreenActivity.getIntent(getActivity(), current);
+ startActivity(intent);
+ }
+ });
+
return imageView;
}
}
diff --git a/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FlickrPhotoList.java b/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FlickrPhotoList.java
index 2627f6602fac64c6ec715903e0b0dd3cfdcb36c9..90a03b4cce61531f1cb2d3d97546d37c04e78d05 100644
--- a/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FlickrPhotoList.java
+++ b/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FlickrPhotoList.java
@@ -1,5 +1,6 @@
package com.bumptech.glide.samples.flickr;
+import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
@@ -190,6 +191,14 @@ public class FlickrPhotoList extends Fragment implements PhotoViewer {
.load(current)
.into(viewHolder.imageView);
+ viewHolder.imageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent intent = FullscreenActivity.getIntent(getActivity(), current);
+ startActivity(intent);
+ }
+ });
+
viewHolder.titleText.setText(current.getTitle());
return view;
}
diff --git a/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FullscreenActivity.java b/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FullscreenActivity.java
new file mode 100644
index 0000000000000000000000000000000000000000..cd78f10923d4f5e801ac38a39c8cff4a7f5bef5e
--- /dev/null
+++ b/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FullscreenActivity.java
@@ -0,0 +1,34 @@
+package com.bumptech.glide.samples.flickr;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.v4.app.FragmentActivity;
+import android.widget.ImageView;
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.samples.flickr.api.Photo;
+
+/**
+ * A simple activity for viewing a single photo.
+ */
+public class FullscreenActivity extends FragmentActivity {
+ private static final String ARG_PHOTO = "photo";
+
+ public static Intent getIntent(Context context, Photo photo) {
+ Intent intent = new Intent(context, FullscreenActivity.class);
+ intent.putExtra(ARG_PHOTO, photo);
+ return intent;
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.fullscreen_activity);
+ ImageView fullscreenView = (ImageView) findViewById(R.id.fullscreen_view);
+ Photo photo = getIntent().getParcelableExtra(ARG_PHOTO);
+ Glide.with(this)
+ .load(photo)
+ .fitCenter()
+ .into(fullscreenView);
+ }
+}
diff --git a/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/api/Photo.java b/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/api/Photo.java
index a74a075b8d8bbf23e61c0690b6308051efb4d1ee..9e73ae18b703f2c893c483e1a16f1804835b3bdb 100644
--- a/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/api/Photo.java
+++ b/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/api/Photo.java
@@ -1,12 +1,26 @@
package com.bumptech.glide.samples.flickr.api;
+import android.os.Parcel;
+import android.os.Parcelable;
import org.json.JSONException;
import org.json.JSONObject;
/**
* A POJO representing a JSON object returned from Flickr's api representing a single image.
*/
-public class Photo {
+public class Photo implements Parcelable {
+ public static final Creator CREATOR = new Creator() {
+ @Override
+ public Photo createFromParcel(Parcel parcel) {
+ return new Photo(parcel);
+ }
+
+ @Override
+ public Photo[] newArray(int i) {
+ return new Photo[i];
+ }
+ };
+
private final String id;
private final String owner;
private final String title;
@@ -15,6 +29,7 @@ public class Photo {
private final String secret;
private String partialUrl = null;
+
public Photo(JSONObject jsonPhoto) throws JSONException {
this.id = jsonPhoto.getString("id");
this.owner = jsonPhoto.getString("owner");
@@ -24,6 +39,25 @@ public class Photo {
this.secret = jsonPhoto.getString("secret");
}
+ private Photo(Parcel in) {
+ id = in.readString();
+ owner = in.readString();
+ title = in.readString();
+ server = in.readString();
+ farm = in.readString();
+ secret = in.readString();
+ }
+
+ @Override
+ public void writeToParcel(Parcel parcel, int i) {
+ parcel.writeString(id);
+ parcel.writeString(owner);
+ parcel.writeString(title);
+ parcel.writeString(server);
+ parcel.writeString(farm);
+ parcel.writeString(secret);
+ }
+
public String getPartialUrl() {
if (partialUrl == null) {
partialUrl = Api.getCacheableUrl(this);
@@ -99,4 +133,9 @@ public class Photo {
result = 31 * result + secret.hashCode();
return result;
}
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
}
diff --git a/samples/flickr/src/main/res/layout/fullscreen_activity.xml b/samples/flickr/src/main/res/layout/fullscreen_activity.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d4523c18a9ad1cf42b13667518d517b354d7a952
--- /dev/null
+++ b/samples/flickr/src/main/res/layout/fullscreen_activity.xml
@@ -0,0 +1,5 @@
+
+