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

Commit 74d2ec5c authored by Alex Johnston's avatar Alex Johnston Committed by Android (Google) Code Review
Browse files

Merge "Settings: Disable USB preferences if USB signaling is off" into sc-dev

parents 00222cb4 46c72f3c
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -54,4 +54,11 @@ public class DefaultUsbConfigurationPreferenceController extends
        mPreference.setDisabledByAdmin(
                checkIfUsbDataSignalingIsDisabled(mContext, UserHandle.myUserId()));
    }

    @Override
    protected void onDeveloperOptionsSwitchEnabled() {
        super.onDeveloperOptionsSwitchEnabled();
        mPreference.setDisabledByAdmin(
                checkIfUsbDataSignalingIsDisabled(mContext, UserHandle.myUserId()));
    }
}
+7 −0
Original line number Diff line number Diff line
@@ -83,4 +83,11 @@ public class UsbAudioRoutingPreferenceController extends DeveloperOptionsPrefere
                Settings.Secure.USB_AUDIO_AUTOMATIC_ROUTING_DISABLED, SETTING_VALUE_OFF);
        ((SwitchPreference) mPreference).setChecked(false);
    }

    @Override
    protected void onDeveloperOptionsSwitchEnabled() {
        super.onDeveloperOptionsSwitchEnabled();
        mPreference.setDisabledByAdmin(
                checkIfUsbDataSignalingIsDisabled(mContext, UserHandle.myUserId()));
    }
}
+23 −0
Original line number Diff line number Diff line
@@ -91,4 +91,27 @@ public class DefaultUsbConfigurationPreferenceControllerTest {
        verify(mPreference).setDisabledByAdmin(eq(new RestrictedLockUtils.EnforcedAdmin(
                TEST_COMPONENT_NAME, null, UserHandle.SYSTEM)));
    }

    @Test
    public void onDeveloperOptionsSwitchEnabled_usbEnabled_shouldNotDisablePreference() {
        when(mDevicePolicyManager.isUsbDataSignalingEnabledForUser(
                UserHandle.myUserId())).thenReturn(true);
        when(mDevicePolicyManager.getProfileOwner()).thenReturn(TEST_COMPONENT_NAME);

        mController.onDeveloperOptionsSwitchEnabled();

        verify(mPreference).setDisabledByAdmin(null);
    }

    @Test
    public void onDeveloperOptionsSwitchEnabled_usbDisabled_shouldDisablePreference() {
        when(mDevicePolicyManager.isUsbDataSignalingEnabledForUser(
                UserHandle.myUserId())).thenReturn(false);
        when(mDevicePolicyManager.getProfileOwner()).thenReturn(TEST_COMPONENT_NAME);

        mController.onDeveloperOptionsSwitchEnabled();

        verify(mPreference).setDisabledByAdmin(eq(new RestrictedLockUtils.EnforcedAdmin(
                TEST_COMPONENT_NAME, null, UserHandle.SYSTEM)));
    }
}
+23 −0
Original line number Diff line number Diff line
@@ -147,4 +147,27 @@ public class UsbAudioRoutingPreferenceControllerTest {
        verify(mPreference).setEnabled(false);
        verify(mPreference).setChecked(false);
    }

    @Test
    public void onDeveloperOptionsSwitchEnabled_usbEnabled_shouldNotDisablePreference() {
        when(mDevicePolicyManager.isUsbDataSignalingEnabledForUser(
                UserHandle.myUserId())).thenReturn(true);
        when(mDevicePolicyManager.getProfileOwner()).thenReturn(TEST_COMPONENT_NAME);

        mController.onDeveloperOptionsSwitchEnabled();

        verify(mPreference).setDisabledByAdmin(null);
    }

    @Test
    public void onDeveloperOptionsSwitchEnabled_usbDisabled_shouldDisablePreference() {
        when(mDevicePolicyManager.isUsbDataSignalingEnabledForUser(
                UserHandle.myUserId())).thenReturn(false);
        when(mDevicePolicyManager.getProfileOwner()).thenReturn(TEST_COMPONENT_NAME);

        mController.onDeveloperOptionsSwitchEnabled();

        verify(mPreference).setDisabledByAdmin(eq(new RestrictedLockUtils.EnforcedAdmin(
                TEST_COMPONENT_NAME, null, UserHandle.SYSTEM)));
    }
}