Merge "Do not load drawable for wallet card if the card image icon iscreated with content URI." into sc-dev
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.systemui.qs.tiles;
|
||||
|
||||
import static android.graphics.drawable.Icon.TYPE_URI;
|
||||
import static android.provider.Settings.Secure.NFC_PAYMENT_DEFAULT_COMPONENT;
|
||||
|
||||
import static com.android.systemui.wallet.controller.QuickAccessWalletController.WalletChangeEvent.DEFAULT_PAYMENT_APP_CHANGE;
|
||||
@@ -246,7 +247,12 @@ public class QuickAccessWalletTile extends QSTileImpl<QSTile.State> {
|
||||
return;
|
||||
}
|
||||
mSelectedCard = cards.get(selectedIndex);
|
||||
mCardViewDrawable = mSelectedCard.getCardImage().loadDrawable(mContext);
|
||||
android.graphics.drawable.Icon cardImageIcon = mSelectedCard.getCardImage();
|
||||
if (cardImageIcon.getType() == TYPE_URI) {
|
||||
mCardViewDrawable = null;
|
||||
} else {
|
||||
mCardViewDrawable = mSelectedCard.getCardImage().loadDrawable(mContext);
|
||||
}
|
||||
refreshState();
|
||||
}
|
||||
|
||||
|
||||
@@ -319,7 +319,12 @@ public class WalletScreenController implements
|
||||
*/
|
||||
QAWalletCardViewInfo(Context context, WalletCard walletCard) {
|
||||
mWalletCard = walletCard;
|
||||
mCardDrawable = mWalletCard.getCardImage().loadDrawable(context);
|
||||
Icon cardImageIcon = mWalletCard.getCardImage();
|
||||
if (cardImageIcon.getType() == Icon.TYPE_URI) {
|
||||
mCardDrawable = null;
|
||||
} else {
|
||||
mCardDrawable = mWalletCard.getCardImage().loadDrawable(context);
|
||||
}
|
||||
Icon icon = mWalletCard.getCardIcon();
|
||||
mIconDrawable = icon == null ? null : icon.loadDrawable(context);
|
||||
}
|
||||
|
||||
@@ -91,8 +91,11 @@ public class QuickAccessWalletTileTest extends SysuiTestCase {
|
||||
|
||||
private static final String CARD_ID = "card_id";
|
||||
private static final String LABEL = "QAW";
|
||||
private static final String CARD_DESCRIPTION = "•••• 1234";
|
||||
private static final Icon CARD_IMAGE =
|
||||
Icon.createWithBitmap(Bitmap.createBitmap(70, 50, Bitmap.Config.ARGB_8888));
|
||||
private static final int PRIMARY_USER_ID = 0;
|
||||
private static final int SECONDARY_USER_ID = 10;
|
||||
|
||||
private final Drawable mTileIcon = mContext.getDrawable(R.drawable.ic_qs_wallet);
|
||||
private final Intent mWalletIntent = new Intent(QuickAccessWalletService.ACTION_VIEW_WALLET)
|
||||
@@ -119,6 +122,8 @@ public class QuickAccessWalletTileTest extends SysuiTestCase {
|
||||
private SecureSettings mSecureSettings;
|
||||
@Mock
|
||||
private QuickAccessWalletController mController;
|
||||
@Mock
|
||||
private Icon mCardImage;
|
||||
@Captor
|
||||
ArgumentCaptor<Intent> mIntentCaptor;
|
||||
@Captor
|
||||
@@ -144,6 +149,8 @@ public class QuickAccessWalletTileTest extends SysuiTestCase {
|
||||
when(mQuickAccessWalletClient.isWalletServiceAvailable()).thenReturn(true);
|
||||
when(mQuickAccessWalletClient.isWalletFeatureAvailableWhenDeviceLocked()).thenReturn(true);
|
||||
when(mController.getWalletClient()).thenReturn(mQuickAccessWalletClient);
|
||||
when(mCardImage.getType()).thenReturn(Icon.TYPE_URI);
|
||||
when(mCardImage.loadDrawableAsUser(any(), eq(SECONDARY_USER_ID))).thenReturn(null);
|
||||
|
||||
mTile = new QuickAccessWalletTile(
|
||||
mHost,
|
||||
@@ -415,6 +422,28 @@ public class QuickAccessWalletTileTest extends SysuiTestCase {
|
||||
assertNotNull(mTile.getState().sideViewCustomDrawable);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testQueryCards_notCurrentUser_hasCards_noSideViewDrawable() {
|
||||
when(mKeyguardStateController.isUnlocked()).thenReturn(true);
|
||||
|
||||
PendingIntent pendingIntent =
|
||||
PendingIntent.getActivity(mContext, 0, mWalletIntent, PendingIntent.FLAG_IMMUTABLE);
|
||||
WalletCard walletCard =
|
||||
new WalletCard.Builder(
|
||||
CARD_ID, mCardImage, CARD_DESCRIPTION, pendingIntent).build();
|
||||
GetWalletCardsResponse response =
|
||||
new GetWalletCardsResponse(Collections.singletonList(walletCard), 0);
|
||||
|
||||
mTile.handleSetListening(true);
|
||||
|
||||
verify(mController).queryWalletCards(mCallbackCaptor.capture());
|
||||
|
||||
mCallbackCaptor.getValue().onWalletCardsRetrieved(response);
|
||||
mTestableLooper.processAllMessages();
|
||||
|
||||
assertNull(mTile.getState().sideViewCustomDrawable);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testQueryCards_noCards_notUpdateSideViewDrawable() {
|
||||
setUpWalletCard(/* hasCard= */ false);
|
||||
@@ -462,6 +491,6 @@ public class QuickAccessWalletTileTest extends SysuiTestCase {
|
||||
private WalletCard createWalletCard(Context context) {
|
||||
PendingIntent pendingIntent =
|
||||
PendingIntent.getActivity(context, 0, mWalletIntent, PendingIntent.FLAG_IMMUTABLE);
|
||||
return new WalletCard.Builder(CARD_ID, CARD_IMAGE, "•••• 1234", pendingIntent).build();
|
||||
return new WalletCard.Builder(CARD_ID, CARD_IMAGE, CARD_DESCRIPTION, pendingIntent).build();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user