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

Commit 61f81ffb authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Update wallet setting availability" into tm-qpr-dev

parents ee56e95f c617ae85
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -64,15 +64,18 @@ public class WalletPrivacyPreferenceController extends TogglePreferenceControlle
    public int getAvailabilityStatus() {
        if (CustomizableLockScreenUtils.isFeatureEnabled(mContext)) {
            return UNSUPPORTED_ON_DEVICE;
        } else  if (!isEnabled()) {
            return UNSUPPORTED_ON_DEVICE;
        } else if (!isSecure()) {
            return DISABLED_DEPENDENT_SETTING;
        }

        return isEnabled() && isSecure() ? AVAILABLE : DISABLED_DEPENDENT_SETTING;
        return AVAILABLE;
    }

    @Override
    public void updateState(Preference preference) {
        super.updateState(preference);
        preference.setEnabled(getAvailabilityStatus() != DISABLED_DEPENDENT_SETTING);
        preference.setEnabled(getAvailabilityStatus() == AVAILABLE);
        refreshSummary(preference);
    }

+19 −1
Original line number Diff line number Diff line
@@ -141,11 +141,29 @@ public class WalletPrivacyPreferenceControllerTest {
    }

    @Test
    public void getAvailabilityStatus_noService_returnsDisabled() {
    public void getAvailabilityStatus_noServiceAndIsSecure_returnsUnsupported() {
        when(mClient.isWalletServiceAvailable()).thenReturn(false);
        when(mLockPatternUtils.isSecure(anyInt())).thenReturn(true);

        assertThat(mController.getAvailabilityStatus()).isEqualTo(
                BasePreferenceController.UNSUPPORTED_ON_DEVICE);
    }

    @Test
    public void getAvailabilityStatus_hasServiceButNotSecure_returnsDisabled() {
        when(mClient.isWalletServiceAvailable()).thenReturn(true);
        when(mLockPatternUtils.isSecure(anyInt())).thenReturn(false);

        assertThat(mController.getAvailabilityStatus()).isEqualTo(
                BasePreferenceController.DISABLED_DEPENDENT_SETTING);
    }

    @Test
    public void getAvailabilityStatus_hasServiceAndIsSecure_returnsAvailable() {
        when(mClient.isWalletServiceAvailable()).thenReturn(true);
        when(mLockPatternUtils.isSecure(anyInt())).thenReturn(true);

        assertThat(mController.getAvailabilityStatus()).isEqualTo(
                BasePreferenceController.AVAILABLE);
    }
}