// Path: app/src/main/java/discovery/contentful/loaders/TutorialLoader.java
// public class TutorialLoader extends AbsAsyncTaskLoader<TutorialLoader.Tutorial> {
//   @Override protected Tutorial performLoad() {
//     try {
//       Tutorial tmp = new Tutorial();
//       CDAEntry entry = CFDiscoveryClient.getClient().fetch(CDAEntry.class)
//           .one(CFApp.getInstance().getResources().getString(R.string.discovery_space_tutorial_id));
// 
//       CDAAsset bgAsset = entry.getField("backgroundImageIPad");
// 
//       // Background image
//       tmp.backgroundImageUrl = "http:" + bgAsset.url();
// 
//       // Pages
//       tmp.pages = new ArrayList<>();
//       ArrayList<?> pages = entry.getField("pages");
//       for (Object p : pages) {
//         if (p instanceof CDAEntry) {
//           CDAEntry pageEntry = (CDAEntry) p;
//           tmp.pages.add(getPageForEntry(pageEntry));
//         }
//       }
// 
//       return tmp;
//     } catch (RetrofitError e) {
//       e.printStackTrace();
//     }
// 
//     return null;
//   }
// 
//   private static Tutorial.Page getPageForEntry(CDAEntry entry) {
//     Tutorial.Page page = new Tutorial.Page();
//     page.headline = entry.getField("headline");
//     page.content = entry.getField("content");
//     page.asset = entry.getField("asset");
//     return page;
//   }
// 
//   public static class Tutorial {
//     public String backgroundImageUrl;
//     public ArrayList<Page> pages;
// 
//     public static class Page {
//       public String headline;
//       public String content;
//       public CDAAsset asset;
//     }
//   }
// }


import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import butterknife.Bind;
import butterknife.BindDimen;
import butterknife.ButterKnife;
import discovery.contentful.R;
import discovery.contentful.loaders.TutorialLoader;
import com.squareup.picasso.Picasso;
package discovery.contentful.ui;


public class TutorialView extends LinearLayout {
  @Bind(R.id.tv_headline) TextView tvHeadline;
  @Bind(R.id.iv_photo) ImageView ivPhoto;
  @Bind(R.id.tv_content) TextView tvContent;
  @BindDimen(R.dimen.view_tutorial_padding) int padding;

  public TutorialView(Context context) {
    super(context);
    init(context);
  }

  public TutorialView(Context context, AttributeSet attrs) {
    super(context, attrs);
    init(context);
  }

  public TutorialView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    init(context);
  }

  private void init(Context context) {
    setOrientation(VERTICAL);
    View.inflate(context, R.layout.view_tutorial, this);
    ButterKnife.bind(this);
    setPadding(padding, 0, padding, padding);
  }

// Path: app/src/main/java/discovery/contentful/loaders/TutorialLoader.java
// public class TutorialLoader extends AbsAsyncTaskLoader<TutorialLoader.Tutorial> {
//   @Override protected Tutorial performLoad() {
//     try {
//       Tutorial tmp = new Tutorial();
//       CDAEntry entry = CFDiscoveryClient.getClient().fetch(CDAEntry.class)
//           .one(CFApp.getInstance().getResources().getString(R.string.discovery_space_tutorial_id));
// 
//       CDAAsset bgAsset = entry.getField("backgroundImageIPad");
// 
//       // Background image
//       tmp.backgroundImageUrl = "http:" + bgAsset.url();
// 
//       // Pages
//       tmp.pages = new ArrayList<>();
//       ArrayList<?> pages = entry.getField("pages");
//       for (Object p : pages) {
//         if (p instanceof CDAEntry) {
//           CDAEntry pageEntry = (CDAEntry) p;
//           tmp.pages.add(getPageForEntry(pageEntry));
//         }
//       }
// 
//       return tmp;
//     } catch (RetrofitError e) {
//       e.printStackTrace();
//     }
// 
//     return null;
//   }
// 
//   private static Tutorial.Page getPageForEntry(CDAEntry entry) {
//     Tutorial.Page page = new Tutorial.Page();
//     page.headline = entry.getField("headline");
//     page.content = entry.getField("content");
//     page.asset = entry.getField("asset");
//     return page;
//   }
// 
//   public static class Tutorial {
//     public String backgroundImageUrl;
//     public ArrayList<Page> pages;
// 
//     public static class Page {
//       public String headline;
//       public String content;
//       public CDAAsset asset;
//     }
//   }
// }


// Path: app/src/main/java/discovery/contentful/ui/TutorialView.java
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import butterknife.Bind;
import butterknife.BindDimen;
import butterknife.ButterKnife;
import discovery.contentful.R;
import discovery.contentful.loaders.TutorialLoader;
import com.squareup.picasso.Picasso;

package discovery.contentful.ui;


public class TutorialView extends LinearLayout {
  @Bind(R.id.tv_headline) TextView tvHeadline;
  @Bind(R.id.iv_photo) ImageView ivPhoto;
  @Bind(R.id.tv_content) TextView tvContent;
  @BindDimen(R.dimen.view_tutorial_padding) int padding;

  public TutorialView(Context context) {
    super(context);
    init(context);
  }

  public TutorialView(Context context, AttributeSet attrs) {
    super(context, attrs);
    init(context);
  }

  public TutorialView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    init(context);
  }

  private void init(Context context) {
    setOrientation(VERTICAL);
    View.inflate(context, R.layout.view_tutorial, this);
    ButterKnife.bind(this);
    setPadding(padding, 0, padding, padding);
  }

  public void setPage(TutorialLoader.Tutorial.Page page) {