Loading packages/SystemUI/res/values/styles.xml +1 −0 Original line number Diff line number Diff line Loading @@ -883,5 +883,6 @@ <style name="Wallet.Theme" parent="@android:style/Theme.DeviceDefault"> <item name="android:colorBackground">@android:color/system_neutral1_900</item> <item name="android:itemBackground">@android:color/system_neutral1_800</item> </style> </resources> packages/SystemUI/src/com/android/systemui/wallet/ui/WalletView.java +18 −18 Original line number Diff line number Diff line Loading @@ -104,15 +104,14 @@ public class WalletView extends FrameLayout implements WalletCardCarousel.OnCard float percentDistanceFromCenter) { CharSequence centerCardText = getLabelText(centerCard); Drawable centerCardIcon = getHeaderIcon(mContext, centerCard); if (!TextUtils.equals(mCenterCardText, centerCardText)) { mCenterCardText = centerCardText; mCardLabel.setText(centerCardText); mIcon.setImageDrawable(centerCardIcon); } renderActionButton(centerCard, mIsDeviceLocked, mIsUdfpsEnabled); if (TextUtils.equals(centerCardText, getLabelText(nextCard))) { if (centerCard.isUiEquivalent(nextCard)) { mCardLabel.setAlpha(1f); mIcon.setAlpha(1f); mActionButton.setAlpha(1f); } else { mCardLabel.setText(centerCardText); mIcon.setImageDrawable(centerCardIcon); mCardLabel.setAlpha(percentDistanceFromCenter); mIcon.setAlpha(percentDistanceFromCenter); mActionButton.setAlpha(percentDistanceFromCenter); Loading Loading @@ -141,6 +140,7 @@ public class WalletView extends FrameLayout implements WalletCardCarousel.OnCard mErrorView.setVisibility(GONE); mEmptyStateView.setVisibility(GONE); mIcon.setImageDrawable(getHeaderIcon(mContext, data.get(selectedIndex))); mCardLabel.setText(getLabelText(data.get(selectedIndex))); renderActionButton(data.get(selectedIndex), isDeviceLocked, mIsUdfpsEnabled); if (shouldAnimate) { animateViewsShown(mIcon, mCardLabel, mActionButton); Loading Loading @@ -248,20 +248,20 @@ public class WalletView extends FrameLayout implements WalletCardCarousel.OnCard private void renderActionButton( WalletCardViewInfo walletCard, boolean isDeviceLocked, boolean isUdfpsEnabled) { CharSequence actionButtonText = getActionButtonText(walletCard); if (!isUdfpsEnabled && isDeviceLocked) { if (!isUdfpsEnabled && actionButtonText != null) { mActionButton.setVisibility(VISIBLE); mActionButton.setText(R.string.wallet_action_button_label_unlock); mActionButton.setOnClickListener(mDeviceLockedActionOnClickListener); } else if (!isDeviceLocked && actionButtonText != null) { mActionButton.setText(actionButtonText); mActionButton.setVisibility(VISIBLE); mActionButton.setOnClickListener(v -> { mActionButton.setOnClickListener( isDeviceLocked ? mDeviceLockedActionOnClickListener : v -> { try { walletCard.getPendingIntent().send(); } catch (PendingIntent.CanceledException e) { Log.w(TAG, "Error sending pending intent for wallet card"); Log.w(TAG, "Error sending pending intent for wallet card."); } } }); ); } else { mActionButton.setVisibility(GONE); } Loading packages/SystemUI/tests/src/com/android/systemui/wallet/ui/WalletScreenControllerTest.java +10 −2 Original line number Diff line number Diff line Loading @@ -67,7 +67,6 @@ import java.util.Collections; @SmallTest public class WalletScreenControllerTest extends SysuiTestCase { private static final int MAX_CARDS = 10; private static final int CARD_CAROUSEL_WIDTH = 10; private static final String CARD_ID_1 = "card_id_1"; private static final String CARD_ID_2 = "card_id_2"; Loading Loading @@ -158,7 +157,7 @@ public class WalletScreenControllerTest extends SysuiTestCase { when(mKeyguardStateController.isUnlocked()).thenReturn(false); GetWalletCardsResponse response = new GetWalletCardsResponse( Collections.singletonList(createWalletCard(mContext)), 0); Collections.singletonList(createLockedWalletCard(mContext)), 0); mController.queryWalletCards(); mTestableLooper.processAllMessages(); Loading Loading @@ -406,6 +405,15 @@ public class WalletScreenControllerTest extends SysuiTestCase { .build(); } private WalletCard createLockedWalletCard(Context context) { PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, mWalletIntent, PendingIntent.FLAG_IMMUTABLE); return new WalletCard.Builder(CARD_ID_2, createIcon(), "•••• 5679", pendingIntent) .setCardIcon(createIcon()) .setCardLabel("Locked\nUnlock to pay") .build(); } private WalletCard createWalletCard(Context context) { PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, mWalletIntent, PendingIntent.FLAG_IMMUTABLE); Loading Loading
packages/SystemUI/res/values/styles.xml +1 −0 Original line number Diff line number Diff line Loading @@ -883,5 +883,6 @@ <style name="Wallet.Theme" parent="@android:style/Theme.DeviceDefault"> <item name="android:colorBackground">@android:color/system_neutral1_900</item> <item name="android:itemBackground">@android:color/system_neutral1_800</item> </style> </resources>
packages/SystemUI/src/com/android/systemui/wallet/ui/WalletView.java +18 −18 Original line number Diff line number Diff line Loading @@ -104,15 +104,14 @@ public class WalletView extends FrameLayout implements WalletCardCarousel.OnCard float percentDistanceFromCenter) { CharSequence centerCardText = getLabelText(centerCard); Drawable centerCardIcon = getHeaderIcon(mContext, centerCard); if (!TextUtils.equals(mCenterCardText, centerCardText)) { mCenterCardText = centerCardText; mCardLabel.setText(centerCardText); mIcon.setImageDrawable(centerCardIcon); } renderActionButton(centerCard, mIsDeviceLocked, mIsUdfpsEnabled); if (TextUtils.equals(centerCardText, getLabelText(nextCard))) { if (centerCard.isUiEquivalent(nextCard)) { mCardLabel.setAlpha(1f); mIcon.setAlpha(1f); mActionButton.setAlpha(1f); } else { mCardLabel.setText(centerCardText); mIcon.setImageDrawable(centerCardIcon); mCardLabel.setAlpha(percentDistanceFromCenter); mIcon.setAlpha(percentDistanceFromCenter); mActionButton.setAlpha(percentDistanceFromCenter); Loading Loading @@ -141,6 +140,7 @@ public class WalletView extends FrameLayout implements WalletCardCarousel.OnCard mErrorView.setVisibility(GONE); mEmptyStateView.setVisibility(GONE); mIcon.setImageDrawable(getHeaderIcon(mContext, data.get(selectedIndex))); mCardLabel.setText(getLabelText(data.get(selectedIndex))); renderActionButton(data.get(selectedIndex), isDeviceLocked, mIsUdfpsEnabled); if (shouldAnimate) { animateViewsShown(mIcon, mCardLabel, mActionButton); Loading Loading @@ -248,20 +248,20 @@ public class WalletView extends FrameLayout implements WalletCardCarousel.OnCard private void renderActionButton( WalletCardViewInfo walletCard, boolean isDeviceLocked, boolean isUdfpsEnabled) { CharSequence actionButtonText = getActionButtonText(walletCard); if (!isUdfpsEnabled && isDeviceLocked) { if (!isUdfpsEnabled && actionButtonText != null) { mActionButton.setVisibility(VISIBLE); mActionButton.setText(R.string.wallet_action_button_label_unlock); mActionButton.setOnClickListener(mDeviceLockedActionOnClickListener); } else if (!isDeviceLocked && actionButtonText != null) { mActionButton.setText(actionButtonText); mActionButton.setVisibility(VISIBLE); mActionButton.setOnClickListener(v -> { mActionButton.setOnClickListener( isDeviceLocked ? mDeviceLockedActionOnClickListener : v -> { try { walletCard.getPendingIntent().send(); } catch (PendingIntent.CanceledException e) { Log.w(TAG, "Error sending pending intent for wallet card"); Log.w(TAG, "Error sending pending intent for wallet card."); } } }); ); } else { mActionButton.setVisibility(GONE); } Loading
packages/SystemUI/tests/src/com/android/systemui/wallet/ui/WalletScreenControllerTest.java +10 −2 Original line number Diff line number Diff line Loading @@ -67,7 +67,6 @@ import java.util.Collections; @SmallTest public class WalletScreenControllerTest extends SysuiTestCase { private static final int MAX_CARDS = 10; private static final int CARD_CAROUSEL_WIDTH = 10; private static final String CARD_ID_1 = "card_id_1"; private static final String CARD_ID_2 = "card_id_2"; Loading Loading @@ -158,7 +157,7 @@ public class WalletScreenControllerTest extends SysuiTestCase { when(mKeyguardStateController.isUnlocked()).thenReturn(false); GetWalletCardsResponse response = new GetWalletCardsResponse( Collections.singletonList(createWalletCard(mContext)), 0); Collections.singletonList(createLockedWalletCard(mContext)), 0); mController.queryWalletCards(); mTestableLooper.processAllMessages(); Loading Loading @@ -406,6 +405,15 @@ public class WalletScreenControllerTest extends SysuiTestCase { .build(); } private WalletCard createLockedWalletCard(Context context) { PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, mWalletIntent, PendingIntent.FLAG_IMMUTABLE); return new WalletCard.Builder(CARD_ID_2, createIcon(), "•••• 5679", pendingIntent) .setCardIcon(createIcon()) .setCardLabel("Locked\nUnlock to pay") .build(); } private WalletCard createWalletCard(Context context) { PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, mWalletIntent, PendingIntent.FLAG_IMMUTABLE); Loading