Merge "Handle NFC settings page routing for the default wallet role." into main
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 27a87f3..02205c1 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;
@@ -56,6 +57,7 @@
import com.android.settings.Settings.WifiSettingsActivity;
import com.android.settings.activityembedding.ActivityEmbeddingUtils;
import com.android.settings.applications.manageapplications.ManageApplications;
+import com.android.settings.connecteddevice.NfcAndPaymentFragment;
import com.android.settings.core.OnActivityResultListener;
import com.android.settings.core.SettingsBaseActivity;
import com.android.settings.core.SubSettingLauncher;
@@ -63,6 +65,7 @@
import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.homepage.SettingsHomepageActivity;
import com.android.settings.homepage.TopLevelSettings;
+import com.android.settings.nfc.PaymentSettings;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.password.PasswordUtils;
import com.android.settings.wfd.WifiDisplaySettings;
@@ -828,12 +831,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()
+ && TextUtils.equals(PaymentSettings.class.getName(), mFragmentClass);
+ }
+
+ private void overrideContactlessPaymentRouting() {
+ mFragmentClass = NfcAndPaymentFragment.class.getName();
+ }
+
// give subclasses access to the Next button
public boolean hasNextButton() {
return mNextButton != null;