diff options
Diffstat (limited to 'samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/models/Card.java')
-rw-r--r-- | samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/models/Card.java | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/models/Card.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/models/Card.java new file mode 100644 index 000000000..ccaaf72df --- /dev/null +++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/models/Card.java @@ -0,0 +1,129 @@ +/* + * Copyright (C) 2014 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.supportleanbackshowcase.models; + +import android.content.Context; +import android.graphics.Color; +import android.util.Log; + +import com.google.gson.annotations.SerializedName; + +import java.net.URI; +import java.net.URISyntaxException; + +/** + * This is a generic example of a custom data object, containing info we might want to keep with + * each card on the home screen + */ +public class Card { + + @SerializedName("title") private String mTitle = ""; + @SerializedName("description") private String mDescription = ""; + @SerializedName("extraText") private String mExtraText = ""; + @SerializedName("imageUrl") private String mImageUrl; + @SerializedName("footerColor") private String mFooterColor = null; + @SerializedName("selectedColor") private String mSelectedColor = null; + @SerializedName("localImageResource") private String mLocalImageResource = null; + @SerializedName("footerIconLocalImageResource") private String mFooterResource = null; + @SerializedName("type") private Card.Type mType; + @SerializedName("id") private int mId; + @SerializedName("width") private int mWidth; + @SerializedName("height") private int mHeight; + + public String getTitle() { + return mTitle; + } + + public int getWidth() { + return mWidth; + } + + public int getHeight() { + return mHeight; + } + + public int getId() { + return mId; + } + + public Card.Type getType() { + return mType; + } + + public String getDescription() { + return mDescription; + } + + public String getExtraText() { + return mExtraText; + } + + public int getFooterColor() { + if (mFooterColor == null) return -1; + return Color.parseColor(mFooterColor); + } + + public int getSelectedColor() { + if (mSelectedColor == null) return -1; + return Color.parseColor(mSelectedColor); + } + + public String getImageUrl() { + return mImageUrl; + } + + 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 + + } + +} |