diff --git a/packages/SystemUI/src/com/android/systemui/wallet/ui/WalletCardCarousel.java b/packages/SystemUI/src/com/android/systemui/wallet/ui/WalletCardCarousel.java index 1e1b459382d7e..77fd2e8308736 100644 --- a/packages/SystemUI/src/com/android/systemui/wallet/ui/WalletCardCarousel.java +++ b/packages/SystemUI/src/com/android/systemui/wallet/ui/WalletCardCarousel.java @@ -189,6 +189,15 @@ public class WalletCardCarousel extends RecyclerView { return mCardHeightPx; } + /** + * Sets the adapter again in the RecyclerView, updating the ViewHolders children's layout. + * This is needed when changing the state of the device (eg fold/unfold) so the ViewHolders are + * recreated. + */ + void resetAdapter() { + setAdapter(mWalletCardCarouselAdapter); + } + /** * Returns true if the data set is changed. */ @@ -376,8 +385,8 @@ public class WalletCardCarousel extends RecyclerView { CardView cardView = viewHolder.mCardView; cardView.setRadius(mCornerRadiusPx); ViewGroup.LayoutParams layoutParams = cardView.getLayoutParams(); - layoutParams.width = mCardWidthPx; - layoutParams.height = mCardHeightPx; + layoutParams.width = getCardWidthPx(); + layoutParams.height = getCardHeightPx(); view.setTag(viewHolder); return viewHolder; } diff --git a/packages/SystemUI/src/com/android/systemui/wallet/ui/WalletView.java b/packages/SystemUI/src/com/android/systemui/wallet/ui/WalletView.java index 420f84abe0ddd..9b2702ff7bf27 100644 --- a/packages/SystemUI/src/com/android/systemui/wallet/ui/WalletView.java +++ b/packages/SystemUI/src/com/android/systemui/wallet/ui/WalletView.java @@ -99,17 +99,13 @@ public class WalletView extends FrameLayout implements WalletCardCarousel.OnCard mCardCarousel.setExpectedViewWidth(getWidth()); } - @Override - protected void onConfigurationChanged(Configuration newConfig) { - updateViewForOrientation(newConfig.orientation); - } - private void updateViewForOrientation(@Configuration.Orientation int orientation) { if (orientation == Configuration.ORIENTATION_PORTRAIT) { renderViewPortrait(); } else if (orientation == Configuration.ORIENTATION_LANDSCAPE) { renderViewLandscape(); } + mCardCarousel.resetAdapter(); // necessary to update cards width ViewGroup.LayoutParams params = mCardCarouselContainer.getLayoutParams(); if (params instanceof MarginLayoutParams) { ((MarginLayoutParams) params).topMargin =