From 51da9191f6355e77b536e2aacda5424a4a60b011 Mon Sep 17 00:00:00 2001 From: Pierre Nicolas <pierre.nicolas@savoirfairelinux.com> Date: Thu, 11 Jul 2024 14:24:23 -0400 Subject: [PATCH] androidtv: put contact card height in dp Value was expressed in hard coded pixel value. GitLab: #1718 Change-Id: I22e058a5f670e30c3dd423cfd6af419be026b179 --- .../main/java/cx/ring/tv/cards/CardView.java | 30 ++++++++++--------- .../app/src/main/res/values/dimens.xml | 1 + 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/jami-android/app/src/main/java/cx/ring/tv/cards/CardView.java b/jami-android/app/src/main/java/cx/ring/tv/cards/CardView.java index 98bed7413..427b61db3 100644 --- a/jami-android/app/src/main/java/cx/ring/tv/cards/CardView.java +++ b/jami-android/app/src/main/java/cx/ring/tv/cards/CardView.java @@ -22,7 +22,7 @@ import androidx.core.content.res.ResourcesCompat; import androidx.core.view.ViewCompat; import androidx.leanback.widget.BaseCardView; -import androidx.leanback.R; +import cx.ring.R; public class CardView extends BaseCardView { @@ -31,7 +31,6 @@ public class CardView extends BaseCardView { public static final int CARD_TYPE_FLAG_CONTENT = 2; public static final int CARD_TYPE_FLAG_ICON_RIGHT = 3; - private static final int CARD_HEIGHT = 290; private static final String ALPHA = "alpha"; private ImageView mImageView; @@ -52,12 +51,12 @@ public class CardView extends BaseCardView { } public CardView(Context context, AttributeSet attrs) { - this(context, attrs, R.attr.imageCardViewStyle); + this(context, attrs, androidx.leanback.R.attr.imageCardViewStyle); } public CardView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); - buildImageCardView(attrs, defStyleAttr, R.style.Widget_Leanback_ImageCardView); + buildImageCardView(attrs, defStyleAttr, androidx.leanback.R.style.Widget_Leanback_ImageCardView); } @SuppressLint("CustomViewStyleable") @@ -65,20 +64,23 @@ public class CardView extends BaseCardView { // Make sure the ImageCardView is focusable. setFocusable(true); setFocusableInTouchMode(true); - setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, CARD_HEIGHT)); + setLayoutParams(new ViewGroup.LayoutParams( + ViewGroup.LayoutParams.WRAP_CONTENT, + getResources().getDimensionPixelSize(R.dimen.tv_avatar_card) + )); LayoutInflater inflater = LayoutInflater.from(getContext()); - inflater.inflate(R.layout.lb_image_card_view, this); - TypedArray cardAttrs = getContext().obtainStyledAttributes(attrs, R.styleable.lbImageCardView, defStyleAttr, defStyle); - ViewCompat.saveAttributeDataForStyleable(this, getContext(), R.styleable.lbImageCardView, attrs, cardAttrs, defStyleAttr, defStyle); - int cardType = cardAttrs.getInt(R.styleable.lbImageCardView_lbImageCardViewType, CARD_TYPE_FLAG_IMAGE_ONLY); + inflater.inflate(androidx.leanback.R.layout.lb_image_card_view, this); + TypedArray cardAttrs = getContext().obtainStyledAttributes(attrs, androidx.leanback.R.styleable.lbImageCardView, defStyleAttr, defStyle); + ViewCompat.saveAttributeDataForStyleable(this, getContext(), androidx.leanback.R.styleable.lbImageCardView, attrs, cardAttrs, defStyleAttr, defStyle); + int cardType = cardAttrs.getInt(androidx.leanback.R.styleable.lbImageCardView_lbImageCardViewType, CARD_TYPE_FLAG_IMAGE_ONLY); boolean hasImageOnly = cardType == CARD_TYPE_FLAG_IMAGE_ONLY; boolean hasTitle = (cardType & CARD_TYPE_FLAG_TITLE) == CARD_TYPE_FLAG_TITLE; boolean hasContent = (cardType & CARD_TYPE_FLAG_CONTENT) == CARD_TYPE_FLAG_CONTENT; boolean hasIconRight = (cardType & CARD_TYPE_FLAG_ICON_RIGHT) == CARD_TYPE_FLAG_ICON_RIGHT; - mImageView = findViewById(R.id.main_image); + mImageView = findViewById(androidx.leanback.R.id.main_image); if (mImageView.getDrawable() == null) { mImageView.setVisibility(View.INVISIBLE); } @@ -87,7 +89,7 @@ public class CardView extends BaseCardView { mFadeInAnimator = ObjectAnimator.ofFloat(mImageView, ALPHA, 1f); mFadeInAnimator.setDuration(mImageView.getResources().getInteger(android.R.integer.config_shortAnimTime)); - mInfoArea = findViewById(R.id.info_field); + mInfoArea = findViewById(androidx.leanback.R.id.info_field); Typeface mulishBold = ResourcesCompat.getFont(getContext(), cx.ring.R.font.mulish_semibold); Typeface mulishRegular = ResourcesCompat.getFont(getContext(), cx.ring.R.font.mulish_regular); @@ -99,7 +101,7 @@ public class CardView extends BaseCardView { } if (hasTitle) { - mTitleView = (TextView) inflater.inflate(R.layout.lb_image_card_view_themed_title, mInfoArea, false); + mTitleView = (TextView) inflater.inflate(androidx.leanback.R.layout.lb_image_card_view_themed_title, mInfoArea, false); mTitleView.setTextSize(12); mTitleView.setTypeface(mulishBold); mTitleView.setMaxLines(2); @@ -108,7 +110,7 @@ public class CardView extends BaseCardView { } if (hasContent) { - mContentView = (TextView) inflater.inflate(R.layout.lb_image_card_view_themed_content, mInfoArea, false); + mContentView = (TextView) inflater.inflate(androidx.leanback.R.layout.lb_image_card_view_themed_content, mInfoArea, false); mContentView.setTextSize(10); mContentView.setTypeface(mulishRegular); mContentView.setTextColor(getResources().getColor(cx.ring.R.color.white)); @@ -116,7 +118,7 @@ public class CardView extends BaseCardView { } if (hasIconRight) { - int layoutId = R.layout.lb_image_card_view_themed_badge_right; + int layoutId = androidx.leanback.R.layout.lb_image_card_view_themed_badge_right; mBadgeImage = (ImageView) inflater.inflate(layoutId, mInfoArea, false); mInfoArea.addView(mBadgeImage); } diff --git a/jami-android/app/src/main/res/values/dimens.xml b/jami-android/app/src/main/res/values/dimens.xml index f353a8e7e..1e0c3c575 100644 --- a/jami-android/app/src/main/res/values/dimens.xml +++ b/jami-android/app/src/main/res/values/dimens.xml @@ -63,6 +63,7 @@ along with this program; if not, write to the Free Software <dimen name="qr_code_scanner_size">300dp</dimen> <dimen name="tv_avatar_size">320dp</dimen> + <dimen name="tv_avatar_card">150dp</dimen> <dimen name="call_preview_elevation">8dp</dimen> <dimen name="call_preview_elevation_dragged">16dp</dimen> -- GitLab