// Path: app/src/main/java/android/support/v17/leanback/streamingapp/old/oldmodels/OldCard.java
// public class OldCard {
// 
//     @SerializedName("title") private String mTitle = "";
//     @SerializedName("description") private String mDescription = "";
//     @SerializedName("extraText") private String mExtraText = "";
//     @SerializedName("card") private String mImageUrl;
//     @SerializedName("footerColor") private String mFooterColor = null;
//     @SerializedName("selectedColor") private String mSelectedColor = null;
//     @SerializedName("localImageResource") private String mLocalImageResource = null;
//     @SerializedName("image") private String image = null;
//     @SerializedName("footerIconLocalImageResource") private String mFooterResource = null;
//     @SerializedName("type") private OldCard.Type mType;
//     @SerializedName("id") private int mId;
//     @SerializedName("width") private int mWidth;
//     @SerializedName("height") private int mHeight;
//     @SerializedName("imdbId") private String imdbId;
// 
//     public String getImage() {
//         return image;
//     }
// 
//     public void setImage(String image) {
//         this.image = image;
//     }
// 
//     public String getImdbId() {
//         return imdbId.substring(2);
//     }
// 
//     public void setImdbId(String imdbId) {
//         this.imdbId = imdbId;
//     }
// 
//     public String getTitle() {
//         return mTitle;
//     }
// 
//     public void setTitle(String title) {
//         mTitle = title;
//     }
// 
//     public String getLocalImageResource() {
//         return mLocalImageResource;
//     }
// 
//     public void setLocalImageResource(String localImageResource) {
//         mLocalImageResource = localImageResource;
//     }
// 
//     public String getFooterResource() {
//         return mFooterResource;
//     }
// 
//     public void setFooterResource(String footerResource) {
//         mFooterResource = footerResource;
//     }
// 
//     public void setType(Type type) {
//         mType = type;
//     }
// 
//     public void setId(int id) {
//         mId = id;
//     }
// 
//     public void setWidth(int width) {
//         mWidth = width;
//     }
// 
//     public void setHeight(int height) {
//         mHeight = height;
//     }
// 
//     public int getWidth() {
//         return mWidth;
//     }
// 
//     public int getHeight() {
//         return mHeight;
//     }
// 
//     public int getId() {
//         return mId;
//     }
// 
//     public OldCard.Type getType() {
//         return mType;
//     }
// 
//     public String getDescription() {
//         return mDescription;
//     }
// 
//     public void setDescription(String description) {
//         mDescription = description;
//     }
// 
// 
//     public String getExtraText() {
//         return mExtraText;
//     }
// 
//     public void setExtraText(String extraText) {
//         mExtraText = extraText;
//     }
// 
//     public int getFooterColor() {
//         if (mFooterColor == null) return -1;
//         return Color.parseColor(mFooterColor);
//     }
// 
//     public void setFooterColor(String footerColor) {
//         mFooterColor = footerColor;
//     }
// 
//     public int getSelectedColor() {
//         if (mSelectedColor == null) return -1;
//         return Color.parseColor(mSelectedColor);
//     }
// 
//     public String getImageUrl() {
//         return mImageUrl;
//     }
// 
//     public void setSelectedColor(String selectedColor) {
//         mSelectedColor = selectedColor;
//     }
// 
//     public void setImageUrl(String imageUrl) {
//         mImageUrl = imageUrl;
//     }
// 
//     public URI getImageURI() {
//         if (getImageUrl() == null) return null;
//         try {
//             return new URI(getImageUrl());
//         } catch (URISyntaxException e) {
//             Log.d("URI exception: ", getImageUrl());
//             return null;
//         }
//     }
// 
//     public int getLocalImageResourceId(Context context) {
//         return context.getResources().getIdentifier(getLocalImageResourceName(), "drawable",
//                                                     context.getPackageName());
//     }
// 
//     public String getLocalImageResourceName() {
//         return mLocalImageResource;
//     }
// 
//     public String getFooterLocalImageResourceName() {
//         return mFooterResource;
//     }
// 
//     public enum Type {
// 
//         MOVIE_COMPLETE,
//         MOVIE,
//         MOVIE_BASE,
//         ICON,
//         SQUARE_BIG,
//         SINGLE_LINE,
//         GAME,
//         SQUARE_SMALL,
//         DEFAULT,
//         SIDE_INFO,
//         SIDE_INFO_TEST_1,
//         TEXT,
//         CHARACTER,
//         GRID_SQUARE,
//         VIDEO_GRID
// 
//     }
// 
// }


import android.content.Context;
import android.support.v17.leanback.streamingapp.R;
import android.support.v17.leanback.streamingapp.old.oldmodels.OldCard;
import android.support.v17.leanback.widget.Presenter;
import android.support.v17.leanback.widget.PresenterSelector;
import java.util.HashMap;
/*
 * Copyright (C) 2015 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 *
 */

package android.support.v17.leanback.streamingapp.old.oldcards.presenters;



/**
 * This PresenterSelector will decide what Presenter to use depending on a given card's type.
 */
public class OldCardPresenterSelector extends PresenterSelector {

    private final Context mContext;
// Path: app/src/main/java/android/support/v17/leanback/streamingapp/old/oldmodels/OldCard.java
// public class OldCard {
// 
//     @SerializedName("title") private String mTitle = "";
//     @SerializedName("description") private String mDescription = "";
//     @SerializedName("extraText") private String mExtraText = "";
//     @SerializedName("card") private String mImageUrl;
//     @SerializedName("footerColor") private String mFooterColor = null;
//     @SerializedName("selectedColor") private String mSelectedColor = null;
//     @SerializedName("localImageResource") private String mLocalImageResource = null;
//     @SerializedName("image") private String image = null;
//     @SerializedName("footerIconLocalImageResource") private String mFooterResource = null;
//     @SerializedName("type") private OldCard.Type mType;
//     @SerializedName("id") private int mId;
//     @SerializedName("width") private int mWidth;
//     @SerializedName("height") private int mHeight;
//     @SerializedName("imdbId") private String imdbId;
// 
//     public String getImage() {
//         return image;
//     }
// 
//     public void setImage(String image) {
//         this.image = image;
//     }
// 
//     public String getImdbId() {
//         return imdbId.substring(2);
//     }
// 
//     public void setImdbId(String imdbId) {
//         this.imdbId = imdbId;
//     }
// 
//     public String getTitle() {
//         return mTitle;
//     }
// 
//     public void setTitle(String title) {
//         mTitle = title;
//     }
// 
//     public String getLocalImageResource() {
//         return mLocalImageResource;
//     }
// 
//     public void setLocalImageResource(String localImageResource) {
//         mLocalImageResource = localImageResource;
//     }
// 
//     public String getFooterResource() {
//         return mFooterResource;
//     }
// 
//     public void setFooterResource(String footerResource) {
//         mFooterResource = footerResource;
//     }
// 
//     public void setType(Type type) {
//         mType = type;
//     }
// 
//     public void setId(int id) {
//         mId = id;
//     }
// 
//     public void setWidth(int width) {
//         mWidth = width;
//     }
// 
//     public void setHeight(int height) {
//         mHeight = height;
//     }
// 
//     public int getWidth() {
//         return mWidth;
//     }
// 
//     public int getHeight() {
//         return mHeight;
//     }
// 
//     public int getId() {
//         return mId;
//     }
// 
//     public OldCard.Type getType() {
//         return mType;
//     }
// 
//     public String getDescription() {
//         return mDescription;
//     }
// 
//     public void setDescription(String description) {
//         mDescription = description;
//     }
// 
// 
//     public String getExtraText() {
//         return mExtraText;
//     }
// 
//     public void setExtraText(String extraText) {
//         mExtraText = extraText;
//     }
// 
//     public int getFooterColor() {
//         if (mFooterColor == null) return -1;
//         return Color.parseColor(mFooterColor);
//     }
// 
//     public void setFooterColor(String footerColor) {
//         mFooterColor = footerColor;
//     }
// 
//     public int getSelectedColor() {
//         if (mSelectedColor == null) return -1;
//         return Color.parseColor(mSelectedColor);
//     }
// 
//     public String getImageUrl() {
//         return mImageUrl;
//     }
// 
//     public void setSelectedColor(String selectedColor) {
//         mSelectedColor = selectedColor;
//     }
// 
//     public void setImageUrl(String imageUrl) {
//         mImageUrl = imageUrl;
//     }
// 
//     public URI getImageURI() {
//         if (getImageUrl() == null) return null;
//         try {
//             return new URI(getImageUrl());
//         } catch (URISyntaxException e) {
//             Log.d("URI exception: ", getImageUrl());
//             return null;
//         }
//     }
// 
//     public int getLocalImageResourceId(Context context) {
//         return context.getResources().getIdentifier(getLocalImageResourceName(), "drawable",
//                                                     context.getPackageName());
//     }
// 
//     public String getLocalImageResourceName() {
//         return mLocalImageResource;
//     }
// 
//     public String getFooterLocalImageResourceName() {
//         return mFooterResource;
//     }
// 
//     public enum Type {
// 
//         MOVIE_COMPLETE,
//         MOVIE,
//         MOVIE_BASE,
//         ICON,
//         SQUARE_BIG,
//         SINGLE_LINE,
//         GAME,
//         SQUARE_SMALL,
//         DEFAULT,
//         SIDE_INFO,
//         SIDE_INFO_TEST_1,
//         TEXT,
//         CHARACTER,
//         GRID_SQUARE,
//         VIDEO_GRID
// 
//     }
// 
// }


// Path: app/src/main/java/android/support/v17/leanback/streamingapp/old/oldcards/presenters/OldCardPresenterSelector.java
import android.content.Context;
import android.support.v17.leanback.streamingapp.R;
import android.support.v17.leanback.streamingapp.old.oldmodels.OldCard;
import android.support.v17.leanback.widget.Presenter;
import android.support.v17.leanback.widget.PresenterSelector;
import java.util.HashMap;

/*
 * Copyright (C) 2015 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 *
 */

package android.support.v17.leanback.streamingapp.old.oldcards.presenters;



/**
 * This PresenterSelector will decide what Presenter to use depending on a given card's type.
 */
public class OldCardPresenterSelector extends PresenterSelector {

    private final Context mContext;
    private final HashMap<OldCard.Type, Presenter> presenters = new HashMap<OldCard.Type, Presenter>();