New UX for the NFC default payment settings
Re-design the UX. Bug: 202367033 Test: maunal make RunSettingsRoboTests ROBOTEST_FILTER=NfcForegroundPreferenceControllerTest make RunSettingsRoboTests ROBOTEST_FILTER=PaymentSettingsTest Change-Id: I4c05ac4a1974645c76a37900d64aa8e1a491bca1
This commit is contained in:
@@ -26,7 +26,7 @@ import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
|
||||
import androidx.preference.DropDownPreference;
|
||||
import androidx.preference.ListPreference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.R;
|
||||
@@ -39,7 +39,6 @@ import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.util.ReflectionHelpers;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -56,7 +55,7 @@ public class NfcForegroundPreferenceControllerTest {
|
||||
private PackageManager mManager;
|
||||
|
||||
private Context mContext;
|
||||
private DropDownPreference mPreference;
|
||||
private ListPreference mPreference;
|
||||
private NfcForegroundPreferenceController mController;
|
||||
private FakeFeatureFactory mFakeFeatureFactory;
|
||||
|
||||
@@ -67,7 +66,9 @@ public class NfcForegroundPreferenceControllerTest {
|
||||
when(mContext.getPackageManager()).thenReturn(mManager);
|
||||
mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
|
||||
mController = new NfcForegroundPreferenceController(mContext, PREF_KEY);
|
||||
mPreference = new DropDownPreference(mContext);
|
||||
mPreference = new ListPreference(mContext);
|
||||
mPreference.setEntries(R.array.nfc_payment_favor);
|
||||
mPreference.setEntryValues(R.array.nfc_payment_favor_values);
|
||||
when(mScreen.findPreference(PREF_KEY)).thenReturn(mPreference);
|
||||
}
|
||||
|
||||
@@ -146,17 +147,14 @@ public class NfcForegroundPreferenceControllerTest {
|
||||
final CharSequence favorDefault = mContext.getText(R.string.nfc_payment_favor_default);
|
||||
final CharSequence favorOpen = mContext.getText(R.string.nfc_payment_favor_open);
|
||||
|
||||
assertThat(mPreference.getEntry()).isEqualTo(favorDefault);
|
||||
assertThat(mPreference.getSummary()).isEqualTo(favorDefault);
|
||||
|
||||
mPreference.setValueIndex(0);
|
||||
mPreference.callChangeListener(mPreference.getEntryValues()[0]);
|
||||
mPreference.setValueIndex(1);
|
||||
mPreference.callChangeListener(mPreference.getEntryValues()[1]);
|
||||
verify(mPaymentBackend).setForegroundMode(true);
|
||||
assertThat(mPreference.getEntry()).isEqualTo(favorOpen);
|
||||
assertThat(mPreference.getSummary()).isEqualTo(favorOpen);
|
||||
|
||||
mPreference.setValueIndex(1);
|
||||
mPreference.callChangeListener(mPreference.getEntryValues()[1]);
|
||||
mPreference.setValueIndex(0);
|
||||
mPreference.callChangeListener(mPreference.getEntryValues()[0]);
|
||||
verify(mPaymentBackend).setForegroundMode(false);
|
||||
assertThat(mPreference.getEntry()).isEqualTo(favorDefault);
|
||||
assertThat(mPreference.getSummary()).isEqualTo(favorDefault);
|
||||
@@ -168,16 +166,16 @@ public class NfcForegroundPreferenceControllerTest {
|
||||
mController.displayPreference(mScreen);
|
||||
mController.onPaymentAppsChanged();
|
||||
|
||||
mPreference.setValueIndex(0);
|
||||
mPreference.callChangeListener(mPreference.getEntryValues()[0]);
|
||||
mPreference.setValueIndex(1);
|
||||
mPreference.callChangeListener(mPreference.getEntryValues()[1]);
|
||||
verify(mPaymentBackend).setForegroundMode(true);
|
||||
verify(mFakeFeatureFactory.metricsFeatureProvider).action(mContext,
|
||||
SettingsEnums.ACTION_NFC_PAYMENT_FOREGROUND_SETTING);
|
||||
|
||||
mPreference.setValueIndex(1);
|
||||
mPreference.callChangeListener(mPreference.getEntryValues()[1]);
|
||||
mPreference.setValueIndex(0);
|
||||
mPreference.callChangeListener(mPreference.getEntryValues()[0]);
|
||||
verify(mPaymentBackend).setForegroundMode(false);
|
||||
verify(mFakeFeatureFactory.metricsFeatureProvider).action(mContext,
|
||||
SettingsEnums.ACTION_NFC_PAYMENT_ALWAYS_SETTING);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -53,7 +53,7 @@ import java.util.List;
|
||||
@Config(shadows = {PaymentSettingsTest.ShadowPaymentBackend.class, ShadowNfcAdapter.class})
|
||||
public class PaymentSettingsTest {
|
||||
|
||||
static final String PAYMENT_KEY = "nfc_payment";
|
||||
static final String PAYMENT_KEY = "nfc_payment_app";
|
||||
static final String FOREGROUND_KEY = "nfc_foreground";
|
||||
|
||||
private Context mContext;
|
||||
@@ -160,4 +160,4 @@ public class PaymentSettingsTest {
|
||||
return mAppInfos;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user