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;
|
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 android.provider.Settings.Secure.NFC_PAYMENT_DEFAULT_COMPONENT;
|
||||||
|
|
||||||
import static com.android.systemui.wallet.controller.QuickAccessWalletController.WalletChangeEvent.DEFAULT_PAYMENT_APP_CHANGE;
|
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;
|
return;
|
||||||
}
|
}
|
||||||
mSelectedCard = cards.get(selectedIndex);
|
mSelectedCard = cards.get(selectedIndex);
|
||||||
|
android.graphics.drawable.Icon cardImageIcon = mSelectedCard.getCardImage();
|
||||||
|
if (cardImageIcon.getType() == TYPE_URI) {
|
||||||
|
mCardViewDrawable = null;
|
||||||
|
} else {
|
||||||
mCardViewDrawable = mSelectedCard.getCardImage().loadDrawable(mContext);
|
mCardViewDrawable = mSelectedCard.getCardImage().loadDrawable(mContext);
|
||||||
|
}
|
||||||
refreshState();
|
refreshState();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -319,7 +319,12 @@ public class WalletScreenController implements
|
|||||||
*/
|
*/
|
||||||
QAWalletCardViewInfo(Context context, WalletCard walletCard) {
|
QAWalletCardViewInfo(Context context, WalletCard walletCard) {
|
||||||
mWalletCard = walletCard;
|
mWalletCard = walletCard;
|
||||||
|
Icon cardImageIcon = mWalletCard.getCardImage();
|
||||||
|
if (cardImageIcon.getType() == Icon.TYPE_URI) {
|
||||||
|
mCardDrawable = null;
|
||||||
|
} else {
|
||||||
mCardDrawable = mWalletCard.getCardImage().loadDrawable(context);
|
mCardDrawable = mWalletCard.getCardImage().loadDrawable(context);
|
||||||
|
}
|
||||||
Icon icon = mWalletCard.getCardIcon();
|
Icon icon = mWalletCard.getCardIcon();
|
||||||
mIconDrawable = icon == null ? null : icon.loadDrawable(context);
|
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 CARD_ID = "card_id";
|
||||||
private static final String LABEL = "QAW";
|
private static final String LABEL = "QAW";
|
||||||
|
private static final String CARD_DESCRIPTION = "•••• 1234";
|
||||||
private static final Icon CARD_IMAGE =
|
private static final Icon CARD_IMAGE =
|
||||||
Icon.createWithBitmap(Bitmap.createBitmap(70, 50, Bitmap.Config.ARGB_8888));
|
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 Drawable mTileIcon = mContext.getDrawable(R.drawable.ic_qs_wallet);
|
||||||
private final Intent mWalletIntent = new Intent(QuickAccessWalletService.ACTION_VIEW_WALLET)
|
private final Intent mWalletIntent = new Intent(QuickAccessWalletService.ACTION_VIEW_WALLET)
|
||||||
@@ -119,6 +122,8 @@ public class QuickAccessWalletTileTest extends SysuiTestCase {
|
|||||||
private SecureSettings mSecureSettings;
|
private SecureSettings mSecureSettings;
|
||||||
@Mock
|
@Mock
|
||||||
private QuickAccessWalletController mController;
|
private QuickAccessWalletController mController;
|
||||||
|
@Mock
|
||||||
|
private Icon mCardImage;
|
||||||
@Captor
|
@Captor
|
||||||
ArgumentCaptor<Intent> mIntentCaptor;
|
ArgumentCaptor<Intent> mIntentCaptor;
|
||||||
@Captor
|
@Captor
|
||||||
@@ -144,6 +149,8 @@ public class QuickAccessWalletTileTest extends SysuiTestCase {
|
|||||||
when(mQuickAccessWalletClient.isWalletServiceAvailable()).thenReturn(true);
|
when(mQuickAccessWalletClient.isWalletServiceAvailable()).thenReturn(true);
|
||||||
when(mQuickAccessWalletClient.isWalletFeatureAvailableWhenDeviceLocked()).thenReturn(true);
|
when(mQuickAccessWalletClient.isWalletFeatureAvailableWhenDeviceLocked()).thenReturn(true);
|
||||||
when(mController.getWalletClient()).thenReturn(mQuickAccessWalletClient);
|
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(
|
mTile = new QuickAccessWalletTile(
|
||||||
mHost,
|
mHost,
|
||||||
@@ -415,6 +422,28 @@ public class QuickAccessWalletTileTest extends SysuiTestCase {
|
|||||||
assertNotNull(mTile.getState().sideViewCustomDrawable);
|
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
|
@Test
|
||||||
public void testQueryCards_noCards_notUpdateSideViewDrawable() {
|
public void testQueryCards_noCards_notUpdateSideViewDrawable() {
|
||||||
setUpWalletCard(/* hasCard= */ false);
|
setUpWalletCard(/* hasCard= */ false);
|
||||||
@@ -462,6 +491,6 @@ public class QuickAccessWalletTileTest extends SysuiTestCase {
|
|||||||
private WalletCard createWalletCard(Context context) {
|
private WalletCard createWalletCard(Context context) {
|
||||||
PendingIntent pendingIntent =
|
PendingIntent pendingIntent =
|
||||||
PendingIntent.getActivity(context, 0, mWalletIntent, PendingIntent.FLAG_IMMUTABLE);
|
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