summaryrefslogtreecommitdiffstats
path: root/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/models/Card.java
diff options
context:
space:
mode:
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.java129
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
+
+ }
+
+}