--- title: "Replacing the transaction confirmation UI for Android" slug: "dpo-replace-android-app-sdk-ui-transaction-confirmation" updated: 2026-10-27T20:13:12Z published: 2026-10-27T20:13:12Z canonical: "docs.onespan.com/dpo-replace-android-app-sdk-ui-transaction-confirmation" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.onespan.com/llms.txt > Use this file to discover all available pages before exploring further. # Replacing the transaction confirmation UI for Android By default, the App SDK displays the transaction confirmation text when authorizing a transaction. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/Screenshot_20260224-124851_Tutorial App.jpg?sv=2026-02-06&spr=https&st=2026-10-29T02%3A33%3A50Z&se=2026-10-29T03%3A33%3A50Z&sr=c&sp=r&sig=HB0VNao7sN6wPftCNhy0Ry7raJDiBv5Av4X4qN3Wif0%3D) There are two ways to modify this UI, you can either suppress its display or replace it. ## Suppress the display of the transaction confirmation UI There may be circumstances when you want your application to display the transaction confirmation text before starting the transaction. In this case, you want to suppress the display within the SDK. 1. To prevent the display of the default UI, create the extension data: extension.id = "noknok.showTransaction"; extension.data = "false"; ```kotlin extension.fail_if_unknown  = false; ``` 2. Pass the extension data via Extras to the AdaptiveUI.getAuthenticationFragment() method. #### Working Example in Tutorial App - Refer to how the variable inAppTcd is used in TransactionFragment.kt. ## Replace the transaction UI You can control the transaction UI by specifying a callback function that displays the transaction text and records the user’s approval or rejection. You can programmatically change the transaction UI by replacing the default transaction UI factory. TutorialApp contains an example of how to replace the transaction UI factory. This example sets TransactionUIFactory, which overrides the createTransactionUIInstance function. To test this functionality, set the following value to true in the TutorialAppPlus class. ```kotlin const val replaceTransactionUI = true ``` Then the following code replaces the factory class with a custom factory: ```kotlin // Setup the factory to create the TutorialTransactionUI object TransactionUIFactory.setInstance(object : TransactionUIFactory() {    override fun createTransactionUIInstance(): ITransactionUI {        return TutorialPlusTransactionUI()    } }) ``` See the [Client API Docs](/dpoa/docs/s3suite94-android-client-api-docs-1) for more information on ITransactionUI protocol. #### Working example in Tutorial App - Refer to TutorialPlusTransactionUI.kt as a sample of overriding transaction UI.