Remove ability for user to open wallet directly within shortcuts disabled dialog

Currently the picker only allows launching an activity upon a disabled shortcut scenario.

In the case that this activity isn't resolvable, this leads to a bad user experience, even if we prevent the crash.

For now, remove the encouragement to open the Wallet directly, and replace it with the default "Done" button. This is how Device Controls handles it as well.

Bug: b/280554185
Test: atest QuickAccessWalletKeyguardQuickAffordanceConfigTest.kt
Change-Id: I7adb8783f31fc3c9563fa84d13cfd9cec42d7f5e
This commit is contained in:
Brad Hinegardner
2023-05-26 15:52:27 +00:00
parent fea5c6ee46
commit cec4e04001

View File

@@ -18,7 +18,6 @@
package com.android.systemui.keyguard.data.quickaffordance
import android.content.Context
import android.content.Intent
import android.graphics.drawable.Drawable
import android.service.quickaccesswallet.GetWalletCardsError
import android.service.quickaccesswallet.GetWalletCardsResponse
@@ -33,7 +32,6 @@ import com.android.systemui.common.shared.model.ContentDescription
import com.android.systemui.common.shared.model.Icon
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.keyguard.data.quickaffordance.KeyguardQuickAffordanceConfig.Companion.componentName
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.wallet.controller.QuickAccessWalletController
import javax.inject.Inject
@@ -103,17 +101,6 @@ constructor(
!walletController.walletClient.isWalletServiceAvailable ->
KeyguardQuickAffordanceConfig.PickerScreenState.UnavailableOnDevice
!walletController.isWalletEnabled || queryCards().isEmpty() -> {
val componentName =
walletController.walletClient.createWalletSettingsIntent().toComponentName()
val actionText =
if (componentName != null) {
context.getString(
R.string.keyguard_affordance_enablement_dialog_action_template,
pickerName,
)
} else {
null
}
KeyguardQuickAffordanceConfig.PickerScreenState.Disabled(
instructions =
listOf(
@@ -124,8 +111,6 @@ constructor(
R.string.keyguard_affordance_enablement_dialog_wallet_instruction_2
),
),
actionText = actionText,
actionComponentName = componentName,
)
}
else -> KeyguardQuickAffordanceConfig.PickerScreenState.Default()
@@ -182,14 +167,6 @@ constructor(
}
}
private fun Intent?.toComponentName(): String? {
if (this == null) {
return null
}
return componentName(packageName = `package`, action = action)
}
companion object {
private const val TAG = "QuickAccessWalletKeyguardQuickAffordanceConfig"
}