// Path: app/src/main/java/android/support/v17/leanback/streamingapp/old/oldmodels/OldDetailedCard.java
// public class OldDetailedCard {
// 
//     @SerializedName("title") private String mTitle = "";
//     @SerializedName("description") private String mDescription = "";
//     @SerializedName("text") private String mText = "";
//     @SerializedName("localImageResource") private String mLocalImageResource = null;
//     @SerializedName("price") private String mPrice = null;
//     @SerializedName("characters") private OldCard[] mCharacters = null;
//     @SerializedName("recommended") private OldCard[] mRecommended = null;
//     @SerializedName("year") private int mYear = 0;
// 
// 
//     public String getPrice() {
//         return mPrice;
//     }
// 
//     public int getYear() {
//         return mYear;
//     }
// 
//     public String getLocalImageResource() {
//         return mLocalImageResource;
//     }
// 
//     public String getText() {
//         return mText;
//     }
// 
//     public String getDescription() {
//         return mDescription;
//     }
// 
//     public String getTitle() {
//         return mTitle;
//     }
// 
//     public OldCard[] getCharacters() {
//         return mCharacters;
//     }
// 
//     public OldCard[] getRecommended() {
//         return mRecommended;
//     }
// 
//     public int getLocalImageResourceId(Context context) {
//         return context.getResources()
//                       .getIdentifier(getLocalImageResource(), "drawable", context.getPackageName());
//     }
// }
// 
// Path: app/src/main/java/android/support/v17/leanback/streamingapp/utils/ResourceCache.java
// public class ResourceCache {
// 
//     private final SparseArray<View> mCachedViews = new SparseArray<View>();
// 
//     public <ViewType extends View> ViewType getViewById(View view, int resId) {
//         View child = mCachedViews.get(resId, null);
//         if (child == null) {
//             child = view.findViewById(resId);
//             mCachedViews.put(resId, child);
//         }
//         return (ViewType) child;
//     }
// }


import android.content.Context;
import android.support.v17.leanback.streamingapp.R;
import android.support.v17.leanback.streamingapp.old.oldmodels.OldDetailedCard;
import android.support.v17.leanback.streamingapp.utils.ResourceCache;
import android.support.v17.leanback.widget.Presenter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
/*
 * 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.oldapp.olddetails;


/**
 * This presenter is used to render a {@link OldDetailedCard} in the {@link
 * OldDetailViewExampleFragment}.
 */
public class OldDetailsDescriptionPresenter extends Presenter {

    private ResourceCache mResourceCache = new ResourceCache();
    private Context mContext;

    public OldDetailsDescriptionPresenter(Context context) {
        mContext = context;
    }

    @Override public ViewHolder onCreateViewHolder(ViewGroup parent) {
        View view = LayoutInflater.from(mContext).inflate(R.layout.detail_view_content, null);
        return new ViewHolder(view);
    }

    @Override public void onBindViewHolder(ViewHolder viewHolder, Object item) {
        TextView primaryText = mResourceCache.getViewById(viewHolder.view, R.id.primary_text);
        TextView sndText1 = mResourceCache.getViewById(viewHolder.view, R.id.secondary_text_first);
        TextView sndText2 = mResourceCache.getViewById(viewHolder.view, R.id.secondary_text_second);
        TextView extraText = mResourceCache.getViewById(viewHolder.view, R.id.extra_text);

// Path: app/src/main/java/android/support/v17/leanback/streamingapp/old/oldmodels/OldDetailedCard.java
// public class OldDetailedCard {
// 
//     @SerializedName("title") private String mTitle = "";
//     @SerializedName("description") private String mDescription = "";
//     @SerializedName("text") private String mText = "";
//     @SerializedName("localImageResource") private String mLocalImageResource = null;
//     @SerializedName("price") private String mPrice = null;
//     @SerializedName("characters") private OldCard[] mCharacters = null;
//     @SerializedName("recommended") private OldCard[] mRecommended = null;
//     @SerializedName("year") private int mYear = 0;
// 
// 
//     public String getPrice() {
//         return mPrice;
//     }
// 
//     public int getYear() {
//         return mYear;
//     }
// 
//     public String getLocalImageResource() {
//         return mLocalImageResource;
//     }
// 
//     public String getText() {
//         return mText;
//     }
// 
//     public String getDescription() {
//         return mDescription;
//     }
// 
//     public String getTitle() {
//         return mTitle;
//     }
// 
//     public OldCard[] getCharacters() {
//         return mCharacters;
//     }
// 
//     public OldCard[] getRecommended() {
//         return mRecommended;
//     }
// 
//     public int getLocalImageResourceId(Context context) {
//         return context.getResources()
//                       .getIdentifier(getLocalImageResource(), "drawable", context.getPackageName());
//     }
// }
// 
// Path: app/src/main/java/android/support/v17/leanback/streamingapp/utils/ResourceCache.java
// public class ResourceCache {
// 
//     private final SparseArray<View> mCachedViews = new SparseArray<View>();
// 
//     public <ViewType extends View> ViewType getViewById(View view, int resId) {
//         View child = mCachedViews.get(resId, null);
//         if (child == null) {
//             child = view.findViewById(resId);
//             mCachedViews.put(resId, child);
//         }
//         return (ViewType) child;
//     }
// }


// Path: app/src/main/java/android/support/v17/leanback/streamingapp/old/oldapp/olddetails/OldDetailsDescriptionPresenter.java
import android.content.Context;
import android.support.v17.leanback.streamingapp.R;
import android.support.v17.leanback.streamingapp.old.oldmodels.OldDetailedCard;
import android.support.v17.leanback.streamingapp.utils.ResourceCache;
import android.support.v17.leanback.widget.Presenter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

/*
 * 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.oldapp.olddetails;


/**
 * This presenter is used to render a {@link OldDetailedCard} in the {@link
 * OldDetailViewExampleFragment}.
 */
public class OldDetailsDescriptionPresenter extends Presenter {

    private ResourceCache mResourceCache = new ResourceCache();
    private Context mContext;

    public OldDetailsDescriptionPresenter(Context context) {
        mContext = context;
    }

    @Override public ViewHolder onCreateViewHolder(ViewGroup parent) {
        View view = LayoutInflater.from(mContext).inflate(R.layout.detail_view_content, null);
        return new ViewHolder(view);
    }

    @Override public void onBindViewHolder(ViewHolder viewHolder, Object item) {
        TextView primaryText = mResourceCache.getViewById(viewHolder.view, R.id.primary_text);
        TextView sndText1 = mResourceCache.getViewById(viewHolder.view, R.id.secondary_text_first);
        TextView sndText2 = mResourceCache.getViewById(viewHolder.view, R.id.secondary_text_second);
        TextView extraText = mResourceCache.getViewById(viewHolder.view, R.id.extra_text);

        OldDetailedCard card = (OldDetailedCard) item;