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

Commit 8f345d7f authored by Daniel Nishi's avatar Daniel Nishi
Browse files

Expand ASM activation warning.

If the device had ASM enabled by default but still opted to disable ASM
for policy reasons, we need to start warning the user.

Change-Id: I6a296e95d00413308de3ddc565b42c5f605087e9
Fixes: 62105682
Test: Settings robotest
parent 5d3f6d56
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -88,9 +88,17 @@ public class AutomaticStorageManagementSwitchPreferenceController extends Prefer
                Settings.Secure.AUTOMATIC_STORAGE_MANAGER_ENABLED,
                isChecked ? 1 : 0);

        boolean storageManagerEnabledByDefault = SystemProperties.getBoolean(
                STORAGE_MANAGER_ENABLED_BY_DEFAULT_PROPERTY, false);
        if (isChecked && !storageManagerEnabledByDefault) {
        final boolean storageManagerEnabledByDefault =
                SystemProperties.getBoolean(STORAGE_MANAGER_ENABLED_BY_DEFAULT_PROPERTY, false);
        final boolean storageManagerDisabledByPolicy =
                Settings.Secure.getInt(
                                mContext.getContentResolver(),
                                Settings.Secure.AUTOMATIC_STORAGE_MANAGER_TURNED_OFF_BY_POLICY,
                                0)
                        != 0;
        // Show warning if it is disabled by default and turning it on or if it was disabled by
        // policy and we're turning it on.
        if ((isChecked && (!storageManagerEnabledByDefault || storageManagerDisabledByPolicy))) {
            ActivationWarningFragment fragment = ActivationWarningFragment.newInstance();
            fragment.show(mFragmentManager, ActivationWarningFragment.TAG);
        }
+19 −0
Original line number Diff line number Diff line
@@ -168,4 +168,23 @@ public class AutomaticStorageManagementSwitchPreferenceControllerTest {

        verify(transaction, never()).add(any(), eq(ActivationWarningFragment.TAG));
    }

    @Config(shadows = {SettingsShadowSystemProperties.class})
    @Test
    public void togglingOnShouldTriggerWarningFragmentIfEnabledByDefaultAndDisabledByPolicy() {
        FragmentTransaction transaction = mock(FragmentTransaction.class);
        when(mFragmentManager.beginTransaction()).thenReturn(transaction);
        SettingsShadowSystemProperties.set(
                AutomaticStorageManagementSwitchPreferenceController
                        .STORAGE_MANAGER_ENABLED_BY_DEFAULT_PROPERTY,
                "true");
        Settings.Secure.putInt(
                mContext.getContentResolver(),
                Settings.Secure.AUTOMATIC_STORAGE_MANAGER_TURNED_OFF_BY_POLICY,
                1);

        mController.onSwitchToggled(true);

        verify(transaction).add(any(), eq(ActivationWarningFragment.TAG));
    }
}