Handle NFC settings page routing for the default
wallet role. Bug: 326592915 Test: SettingsRoboTestStub Change-Id: I24d9dcfc8cc90f110d4fef036aaabbf8b4f64926
This commit is contained in:
@@ -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;
|
||||
|
Reference in New Issue
Block a user