Merge "Fix for EditShortcutsPreferenceFragmentTest to mock the correct AccessibilityTarget fields" into main
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 27a87f3..08155db 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -38,6 +38,7 @@
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.permission.flags.Flags;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
@@ -828,12 +829,29 @@
             if (ai == null || ai.metaData == null) return;
             mFragmentClass = ai.metaData.getString(META_DATA_KEY_FRAGMENT_CLASS);
             mHighlightMenuKey = ai.metaData.getString(META_DATA_KEY_HIGHLIGHT_MENU_KEY);
+            /* TODO(b/327036144) Once the Flags.walletRoleEnabled() is rolled out, we will replace
+            value for the fragment class within the com.android.settings.nfc.PaymentSettings
+            activity with com.android.settings.connecteddevice.NfcAndPaymentFragment so that this
+            code can be removed.
+            */
+            if (shouldOverrideContactlessPaymentRouting()) {
+                overrideContactlessPaymentRouting();
+            }
         } catch (NameNotFoundException nnfe) {
             // No recovery
             Log.d(LOG_TAG, "Cannot get Metadata for: " + getComponentName().toString());
         }
     }
 
+    private boolean shouldOverrideContactlessPaymentRouting() {
+        return Flags.walletRoleEnabled()
+                && mFragmentClass.equals("com.android.settings.nfc.PaymentSettings");
+    }
+
+    private void overrideContactlessPaymentRouting() {
+        mFragmentClass = "com.android.settings.connecteddevice.NfcAndPaymentFragment";
+    }
+
     // give subclasses access to the Next button
     public boolean hasNextButton() {
         return mNextButton != null;