Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 408232b4 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Handle NFC settings page routing for the default wallet role." into main

parents b13637ce eb0672b3
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import android.os.AsyncTask;
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.internal.util.ArrayUtils;
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.core.gateway.SettingsGateway;
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 @@ public class SettingsActivity extends SettingsBaseActivity
            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;