Loading packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/QuickAccessWalletTileTest.java +33 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,9 @@ import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; import android.os.Handler; import android.os.UserHandle; import android.platform.test.annotations.DisableFlags; import android.platform.test.annotations.EnableFlags; import android.service.quickaccesswallet.Flags; import android.service.quickaccesswallet.GetWalletCardsError; import android.service.quickaccesswallet.GetWalletCardsResponse; import android.service.quickaccesswallet.QuickAccessWalletClient; Loading Loading @@ -221,6 +224,7 @@ public class QuickAccessWalletTileTest extends SysuiTestCase { } @Test @DisableFlags({Flags.FLAG_LAUNCH_SELECTED_CARD_FROM_QS_TILE}) public void testHandleClick_startQuickAccessUiIntent_noCard() { setUpWalletCard(/* hasCard= */ false); Loading @@ -234,6 +238,7 @@ public class QuickAccessWalletTileTest extends SysuiTestCase { } @Test @DisableFlags({Flags.FLAG_LAUNCH_SELECTED_CARD_FROM_QS_TILE}) public void testHandleClick_startQuickAccessUiIntent_hasCard() { setUpWalletCard(/* hasCard= */ true); Loading @@ -246,6 +251,34 @@ public class QuickAccessWalletTileTest extends SysuiTestCase { /* hasCard= */ eq(true)); } @Test @EnableFlags({Flags.FLAG_LAUNCH_SELECTED_CARD_FROM_QS_TILE}) public void testHandleClick_startCardIntent_noCard() { setUpWalletCard(/* hasCard= */ false); mTile.handleClick(/* view= */ null); mTestableLooper.processAllMessages(); verify(mController).startQuickAccessUiIntent( eq(mActivityStarter), eq(null), /* hasCard= */ eq(false)); } @Test @EnableFlags({Flags.FLAG_LAUNCH_SELECTED_CARD_FROM_QS_TILE}) public void testHandleClick_startCardIntent_hasCard() { setUpWalletCard(/* hasCard= */ true); mTile.handleClick(null /* view */); mTestableLooper.processAllMessages(); verify(mController).startWalletCardPendingIntent( any(), eq(mActivityStarter), eq(null)); } @Test public void testHandleUpdateState_updateLabelAndIcon() { QSTile.State state = new QSTile.State(); Loading packages/SystemUI/src/com/android/systemui/qs/tiles/QuickAccessWalletTile.java +10 −2 Original line number Diff line number Diff line Loading @@ -142,8 +142,16 @@ public class QuickAccessWalletTile extends QSTileImpl<QSTile.State> { InteractionJankMonitor.CUJ_SHADE_APP_LAUNCH_FROM_QS_TILE); mUiHandler.post( () -> mController.startQuickAccessUiIntent( mActivityStarter, animationController, mSelectedCard != null)); () -> { if (android.service.quickaccesswallet.Flags.launchSelectedCardFromQsTile() && mSelectedCard != null) { mController.startWalletCardPendingIntent( mSelectedCard, mActivityStarter, animationController); } else { mController.startQuickAccessUiIntent( mActivityStarter, animationController, mSelectedCard != null); } }); } @Override Loading packages/SystemUI/src/com/android/systemui/wallet/controller/QuickAccessWalletController.java +18 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.provider.Settings; import android.service.quickaccesswallet.GetWalletCardsRequest; import android.service.quickaccesswallet.QuickAccessWalletClient; import android.service.quickaccesswallet.QuickAccessWalletClientImpl; import android.service.quickaccesswallet.WalletCard; import android.util.Log; import com.android.systemui.animation.ActivityTransitionAnimator; Loading Loading @@ -268,6 +269,23 @@ public class QuickAccessWalletController { }); } /** * Starts the {@link android.app.PendingIntent} for a {@link WalletCard}. * * This should be used to open a selected card from the QuickAccessWallet UI or * the settings tile. * * @param activityStarter an {@link ActivityStarter} to launch the Intent or PendingIntent. * @param animationController an {@link ActivityTransitionAnimator.Controller} to provide a * smooth animation for the activity launch. */ public void startWalletCardPendingIntent(WalletCard card, ActivityStarter activityStarter, ActivityTransitionAnimator.Controller animationController) { activityStarter.postStartActivityDismissingKeyguard( card.getPendingIntent(), animationController); } private Intent getSysUiWalletIntent() { return new Intent(mContext, WalletActivity.class) .setAction(Intent.ACTION_VIEW); Loading packages/SystemUI/tests/utils/src/com/android/systemui/SysuiTestCase.java +1 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,7 @@ public abstract class SysuiTestCase { android.net.platform.flags.Flags.class, android.os.Flags.class, android.service.controls.flags.Flags.class, android.service.quickaccesswallet.Flags.class, com.android.internal.telephony.flags.Flags.class, com.android.server.notification.Flags.class, com.android.systemui.Flags.class); Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/QuickAccessWalletTileTest.java +33 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,9 @@ import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; import android.os.Handler; import android.os.UserHandle; import android.platform.test.annotations.DisableFlags; import android.platform.test.annotations.EnableFlags; import android.service.quickaccesswallet.Flags; import android.service.quickaccesswallet.GetWalletCardsError; import android.service.quickaccesswallet.GetWalletCardsResponse; import android.service.quickaccesswallet.QuickAccessWalletClient; Loading Loading @@ -221,6 +224,7 @@ public class QuickAccessWalletTileTest extends SysuiTestCase { } @Test @DisableFlags({Flags.FLAG_LAUNCH_SELECTED_CARD_FROM_QS_TILE}) public void testHandleClick_startQuickAccessUiIntent_noCard() { setUpWalletCard(/* hasCard= */ false); Loading @@ -234,6 +238,7 @@ public class QuickAccessWalletTileTest extends SysuiTestCase { } @Test @DisableFlags({Flags.FLAG_LAUNCH_SELECTED_CARD_FROM_QS_TILE}) public void testHandleClick_startQuickAccessUiIntent_hasCard() { setUpWalletCard(/* hasCard= */ true); Loading @@ -246,6 +251,34 @@ public class QuickAccessWalletTileTest extends SysuiTestCase { /* hasCard= */ eq(true)); } @Test @EnableFlags({Flags.FLAG_LAUNCH_SELECTED_CARD_FROM_QS_TILE}) public void testHandleClick_startCardIntent_noCard() { setUpWalletCard(/* hasCard= */ false); mTile.handleClick(/* view= */ null); mTestableLooper.processAllMessages(); verify(mController).startQuickAccessUiIntent( eq(mActivityStarter), eq(null), /* hasCard= */ eq(false)); } @Test @EnableFlags({Flags.FLAG_LAUNCH_SELECTED_CARD_FROM_QS_TILE}) public void testHandleClick_startCardIntent_hasCard() { setUpWalletCard(/* hasCard= */ true); mTile.handleClick(null /* view */); mTestableLooper.processAllMessages(); verify(mController).startWalletCardPendingIntent( any(), eq(mActivityStarter), eq(null)); } @Test public void testHandleUpdateState_updateLabelAndIcon() { QSTile.State state = new QSTile.State(); Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/QuickAccessWalletTile.java +10 −2 Original line number Diff line number Diff line Loading @@ -142,8 +142,16 @@ public class QuickAccessWalletTile extends QSTileImpl<QSTile.State> { InteractionJankMonitor.CUJ_SHADE_APP_LAUNCH_FROM_QS_TILE); mUiHandler.post( () -> mController.startQuickAccessUiIntent( mActivityStarter, animationController, mSelectedCard != null)); () -> { if (android.service.quickaccesswallet.Flags.launchSelectedCardFromQsTile() && mSelectedCard != null) { mController.startWalletCardPendingIntent( mSelectedCard, mActivityStarter, animationController); } else { mController.startQuickAccessUiIntent( mActivityStarter, animationController, mSelectedCard != null); } }); } @Override Loading
packages/SystemUI/src/com/android/systemui/wallet/controller/QuickAccessWalletController.java +18 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.provider.Settings; import android.service.quickaccesswallet.GetWalletCardsRequest; import android.service.quickaccesswallet.QuickAccessWalletClient; import android.service.quickaccesswallet.QuickAccessWalletClientImpl; import android.service.quickaccesswallet.WalletCard; import android.util.Log; import com.android.systemui.animation.ActivityTransitionAnimator; Loading Loading @@ -268,6 +269,23 @@ public class QuickAccessWalletController { }); } /** * Starts the {@link android.app.PendingIntent} for a {@link WalletCard}. * * This should be used to open a selected card from the QuickAccessWallet UI or * the settings tile. * * @param activityStarter an {@link ActivityStarter} to launch the Intent or PendingIntent. * @param animationController an {@link ActivityTransitionAnimator.Controller} to provide a * smooth animation for the activity launch. */ public void startWalletCardPendingIntent(WalletCard card, ActivityStarter activityStarter, ActivityTransitionAnimator.Controller animationController) { activityStarter.postStartActivityDismissingKeyguard( card.getPendingIntent(), animationController); } private Intent getSysUiWalletIntent() { return new Intent(mContext, WalletActivity.class) .setAction(Intent.ACTION_VIEW); Loading
packages/SystemUI/tests/utils/src/com/android/systemui/SysuiTestCase.java +1 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,7 @@ public abstract class SysuiTestCase { android.net.platform.flags.Flags.class, android.os.Flags.class, android.service.controls.flags.Flags.class, android.service.quickaccesswallet.Flags.class, com.android.internal.telephony.flags.Flags.class, com.android.server.notification.Flags.class, com.android.systemui.Flags.class); Loading