// Path: app/src/main/java/com/nilhcem/devoxxfr/data/app/model/Speaker.java
// @Value
// public class Speaker implements Parcelable {
// 
//     public static final Parcelable.Creator<Speaker> CREATOR = new Parcelable.Creator<Speaker>() {
//         public Speaker createFromParcel(Parcel source) {
//             return new Speaker(source);
//         }
// 
//         public Speaker[] newArray(int size) {
//             return new Speaker[size];
//         }
//     };
// 
//     int id;
//     String name;
//     String title;
//     String bio;
//     String website;
//     String twitter;
//     String github;
//     String photo;
// 
//     public Speaker(int id, String name, String title, String bio, String website, String twitter, String github, String photo) {
//         this.id = id;
//         this.name = name;
//         this.title = title;
//         this.bio = bio;
//         this.website = website;
//         this.twitter = twitter;
//         this.github = github;
//         this.photo = photo;
//     }
// 
//     protected Speaker(Parcel in) {
//         id = in.readInt();
//         name = in.readString();
//         title = in.readString();
//         bio = in.readString();
//         website = in.readString();
//         twitter = in.readString();
//         github = in.readString();
//         photo = in.readString();
//     }
// 
//     @Override
//     public int describeContents() {
//         return 0;
//     }
// 
//     @Override
//     public void writeToParcel(Parcel dest, int flags) {
//         dest.writeInt(id);
//         dest.writeString(name);
//         dest.writeString(title);
//         dest.writeString(bio);
//         dest.writeString(website);
//         dest.writeString(twitter);
//         dest.writeString(github);
//         dest.writeString(photo);
//     }
// }
// 
// Path: app/src/main/java/com/nilhcem/devoxxfr/ui/core/picasso/CircleTransformation.java
// public class CircleTransformation implements Transformation {
// 
//     @Override
//     public Bitmap transform(Bitmap source) {
//         int size = Math.min(source.getWidth(), source.getHeight());
// 
//         int x = (source.getWidth() - size) / 2;
//         int y = (source.getHeight() - size) / 2;
// 
//         Bitmap squaredBitmap = Bitmap.createBitmap(source, x, y, size, size);
//         if (squaredBitmap != source) {
//             source.recycle();
//         }
// 
//         Bitmap.Config config = source.getConfig() != null ? source.getConfig() : Bitmap.Config.ARGB_8888;
//         Bitmap bitmap = Bitmap.createBitmap(size, size, config);
// 
//         Canvas canvas = new Canvas(bitmap);
//         Paint paint = new Paint();
//         BitmapShader shader = new BitmapShader(squaredBitmap, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP);
//         paint.setShader(shader);
//         paint.setAntiAlias(true);
// 
//         float r = size / 2f;
//         canvas.drawCircle(r, r, r, paint);
// 
//         squaredBitmap.recycle();
//         return bitmap;
//     }
// 
//     @Override
//     public String key() {
//         return "circle";
//     }
// }


import android.content.Context;
import android.text.TextUtils;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.nilhcem.devoxxfr.R;
import com.nilhcem.devoxxfr.data.app.model.Speaker;
import com.nilhcem.devoxxfr.ui.core.picasso.CircleTransformation;
import com.squareup.picasso.Picasso;
import butterknife.Bind;
import butterknife.ButterKnife;
package com.nilhcem.devoxxfr.ui.schedule.day;




public class ScheduleDayEntrySpeaker extends LinearLayout {

    @Bind(R.id.schedule_day_entry_speaker_photo) ImageView photo;
    @Bind(R.id.schedule_day_entry_speaker_name) TextView name;

    public ScheduleDayEntrySpeaker(Context context, Speaker speaker, Picasso picasso) {
        super(context);
        setOrientation(HORIZONTAL);
        int padding = Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 4, context.getResources().getDisplayMetrics()));
        setPadding(0, padding, 0, padding);

        LayoutInflater.from(context).inflate(R.layout.schedule_day_entry_speaker, this);
        ButterKnife.bind(this, this);
        bind(speaker, picasso);
    }

    private void bind(Speaker speaker, Picasso picasso) {
        String photoUrl = speaker.getPhoto();
        if (!TextUtils.isEmpty(photoUrl)) {
// Path: app/src/main/java/com/nilhcem/devoxxfr/data/app/model/Speaker.java
// @Value
// public class Speaker implements Parcelable {
// 
//     public static final Parcelable.Creator<Speaker> CREATOR = new Parcelable.Creator<Speaker>() {
//         public Speaker createFromParcel(Parcel source) {
//             return new Speaker(source);
//         }
// 
//         public Speaker[] newArray(int size) {
//             return new Speaker[size];
//         }
//     };
// 
//     int id;
//     String name;
//     String title;
//     String bio;
//     String website;
//     String twitter;
//     String github;
//     String photo;
// 
//     public Speaker(int id, String name, String title, String bio, String website, String twitter, String github, String photo) {
//         this.id = id;
//         this.name = name;
//         this.title = title;
//         this.bio = bio;
//         this.website = website;
//         this.twitter = twitter;
//         this.github = github;
//         this.photo = photo;
//     }
// 
//     protected Speaker(Parcel in) {
//         id = in.readInt();
//         name = in.readString();
//         title = in.readString();
//         bio = in.readString();
//         website = in.readString();
//         twitter = in.readString();
//         github = in.readString();
//         photo = in.readString();
//     }
// 
//     @Override
//     public int describeContents() {
//         return 0;
//     }
// 
//     @Override
//     public void writeToParcel(Parcel dest, int flags) {
//         dest.writeInt(id);
//         dest.writeString(name);
//         dest.writeString(title);
//         dest.writeString(bio);
//         dest.writeString(website);
//         dest.writeString(twitter);
//         dest.writeString(github);
//         dest.writeString(photo);
//     }
// }
// 
// Path: app/src/main/java/com/nilhcem/devoxxfr/ui/core/picasso/CircleTransformation.java
// public class CircleTransformation implements Transformation {
// 
//     @Override
//     public Bitmap transform(Bitmap source) {
//         int size = Math.min(source.getWidth(), source.getHeight());
// 
//         int x = (source.getWidth() - size) / 2;
//         int y = (source.getHeight() - size) / 2;
// 
//         Bitmap squaredBitmap = Bitmap.createBitmap(source, x, y, size, size);
//         if (squaredBitmap != source) {
//             source.recycle();
//         }
// 
//         Bitmap.Config config = source.getConfig() != null ? source.getConfig() : Bitmap.Config.ARGB_8888;
//         Bitmap bitmap = Bitmap.createBitmap(size, size, config);
// 
//         Canvas canvas = new Canvas(bitmap);
//         Paint paint = new Paint();
//         BitmapShader shader = new BitmapShader(squaredBitmap, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP);
//         paint.setShader(shader);
//         paint.setAntiAlias(true);
// 
//         float r = size / 2f;
//         canvas.drawCircle(r, r, r, paint);
// 
//         squaredBitmap.recycle();
//         return bitmap;
//     }
// 
//     @Override
//     public String key() {
//         return "circle";
//     }
// }


// Path: app/src/main/java/com/nilhcem/devoxxfr/ui/schedule/day/ScheduleDayEntrySpeaker.java
import android.content.Context;
import android.text.TextUtils;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.nilhcem.devoxxfr.R;
import com.nilhcem.devoxxfr.data.app.model.Speaker;
import com.nilhcem.devoxxfr.ui.core.picasso.CircleTransformation;
import com.squareup.picasso.Picasso;
import butterknife.Bind;
import butterknife.ButterKnife;

package com.nilhcem.devoxxfr.ui.schedule.day;




public class ScheduleDayEntrySpeaker extends LinearLayout {

    @Bind(R.id.schedule_day_entry_speaker_photo) ImageView photo;
    @Bind(R.id.schedule_day_entry_speaker_name) TextView name;

    public ScheduleDayEntrySpeaker(Context context, Speaker speaker, Picasso picasso) {
        super(context);
        setOrientation(HORIZONTAL);
        int padding = Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 4, context.getResources().getDisplayMetrics()));
        setPadding(0, padding, 0, padding);

        LayoutInflater.from(context).inflate(R.layout.schedule_day_entry_speaker, this);
        ButterKnife.bind(this, this);
        bind(speaker, picasso);
    }

    private void bind(Speaker speaker, Picasso picasso) {
        String photoUrl = speaker.getPhoto();
        if (!TextUtils.isEmpty(photoUrl)) {
            picasso.load(photoUrl).transform(new CircleTransformation()).into(photo);