From 5abd85c64e918aa20b84ac3217178ea27ead190e Mon Sep 17 00:00:00 2001 From: Keyvan Amiri Date: Wed, 3 Feb 2016 13:48:54 -0800 Subject: [PATCH] SupportLeanbackShowcase: Changed styles into new theme APIs The card styles are converted into themes, and in the ImageCardViewPresenter, each ImageCardView is generated through the use of the resource ID of each specific theme. This is to conform to the latest widget API change which moved a set of attributes to theme for customizing widgets. Bug: 26249596 Change-Id: Id64aeebb96bee13c6cb68f8ab69cacdfb9a98531 --- .../app/cards/CardExampleActivity.java | 2 +- .../presenters/CardPresenterSelector.java | 14 +-- .../cards/presenters/IconCardPresenter.java | 2 +- .../presenters/ImageCardViewPresenter.java | 14 ++- .../presenters/SingleLineCardPresenter.java | 2 +- .../app/src/main/res/values/styles.xml | 85 ++++++++++++++----- 6 files changed, 80 insertions(+), 39 deletions(-) diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/cards/CardExampleActivity.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/cards/CardExampleActivity.java index 7b8225fe7..ecb0c7a28 100644 --- a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/cards/CardExampleActivity.java +++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/cards/CardExampleActivity.java @@ -19,8 +19,8 @@ import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.support.v17.leanback.app.GuidedStepFragment; -import android.support.v17.leanback.supportleanbackshowcase.R; import android.support.v17.leanback.supportleanbackshowcase.app.dialog.DialogExampleFragment; +import android.support.v17.leanback.supportleanbackshowcase.R; /** * TODO: Javadoc diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/cards/presenters/CardPresenterSelector.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/cards/presenters/CardPresenterSelector.java index 1228b14a9..d4e82833b 100644 --- a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/cards/presenters/CardPresenterSelector.java +++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/cards/presenters/CardPresenterSelector.java @@ -53,19 +53,19 @@ public class CardPresenterSelector extends PresenterSelector { case SQUARE_BIG: case GRID_SQUARE: case GAME: { - int style = R.style.MovieCardSimpleStyle; + int themeResId = R.style.MovieCardSimpleTheme; if (card.getType() == Card.Type.MOVIE_BASE) { - style = R.style.MovieCardBasicStyle; + themeResId = R.style.MovieCardBasicTheme; } else if (card.getType() == Card.Type.MOVIE_COMPLETE) { - style = R.style.MovieCardCompleteStyle; + themeResId = R.style.MovieCardCompleteTheme; } else if (card.getType() == Card.Type.SQUARE_BIG) { - style = R.style.SquareBigCard; + themeResId = R.style.SquareBigCardTheme; } else if (card.getType() == Card.Type.GRID_SQUARE) { - style = R.style.GridCardStyle; + themeResId = R.style.GridCardTheme; } else if (card.getType() == Card.Type.GAME) { - style = R.style.GameCardStyle; + themeResId = R.style.GameCardTheme; } - presenter = new ImageCardViewPresenter(mContext, style); + presenter = new ImageCardViewPresenter(mContext, themeResId); break; } case SIDE_INFO: diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/cards/presenters/IconCardPresenter.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/cards/presenters/IconCardPresenter.java index bf5be70f4..9e7a69f14 100644 --- a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/cards/presenters/IconCardPresenter.java +++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/cards/presenters/IconCardPresenter.java @@ -28,7 +28,7 @@ import android.widget.ImageView; public class IconCardPresenter extends ImageCardViewPresenter { public IconCardPresenter(Context context) { - super(context, R.style.IconCardStyle); + super(context, R.style.IconCardTheme); } @Override diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/cards/presenters/ImageCardViewPresenter.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/cards/presenters/ImageCardViewPresenter.java index 813c1e78d..1bb1703d6 100644 --- a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/cards/presenters/ImageCardViewPresenter.java +++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/cards/presenters/ImageCardViewPresenter.java @@ -18,6 +18,8 @@ import android.content.Context; import android.support.v17.leanback.supportleanbackshowcase.R; import android.support.v17.leanback.supportleanbackshowcase.models.Card; import android.support.v17.leanback.widget.ImageCardView; +import android.view.ContextThemeWrapper; + import com.squareup.picasso.Picasso; /** @@ -27,21 +29,17 @@ import com.squareup.picasso.Picasso; */ public class ImageCardViewPresenter extends AbstractCardPresenter { - private final int mCardStyleResId; - - public ImageCardViewPresenter(Context context, int cardStyleResId) { - super(context); - mCardStyleResId = cardStyleResId; + public ImageCardViewPresenter(Context context, int cardThemeResId) { + super(new ContextThemeWrapper(context, cardThemeResId)); } public ImageCardViewPresenter(Context context) { - super(context); - mCardStyleResId = R.style.DefaultCardStyle; + this(context, R.style.DefaultCardTheme); } @Override protected ImageCardView onCreateView() { - return new ImageCardView(getContext(), mCardStyleResId); + return new ImageCardView(getContext()); } @Override diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/cards/presenters/SingleLineCardPresenter.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/cards/presenters/SingleLineCardPresenter.java index 24dedd5c6..a82399315 100644 --- a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/cards/presenters/SingleLineCardPresenter.java +++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/cards/presenters/SingleLineCardPresenter.java @@ -27,7 +27,7 @@ import android.support.v17.leanback.widget.ImageCardView; public class SingleLineCardPresenter extends ImageCardViewPresenter { public SingleLineCardPresenter(Context context) { - super(context, R.style.SingleLineCardStyle); + super(context, R.style.SingleLineCardTheme); } @Override public void onBindViewHolder(Card card, ImageCardView cardView) { diff --git a/samples/SupportLeanbackShowcase/app/src/main/res/values/styles.xml b/samples/SupportLeanbackShowcase/app/src/main/res/values/styles.xml index c9b047676..4e866de61 100644 --- a/samples/SupportLeanbackShowcase/app/src/main/res/values/styles.xml +++ b/samples/SupportLeanbackShowcase/app/src/main/res/values/styles.xml @@ -51,21 +51,35 @@ @dimen/movie_image_card_height + + + + - + + + @@ -75,10 +89,15 @@ + + + + + + + + @@ -127,9 +155,15 @@ + + + @@ -149,13 +183,23 @@ + + + + + + -