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

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

Merge "Add configuration for defaulting notification behavior" into tm-qpr-dev

parents 8a0074e9 a92688d6
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -634,6 +634,9 @@
        <item>android.uid.system:1000</item>
    </string-array>

    <!-- The default value for RedactionInterstitial in SUW -->
    <bool name="default_allow_sensitive_lockscreen_content">true</bool>

    <!-- Whether to enable the app battery usage list page feature. -->
    <bool name="config_app_battery_usage_list_enabled">false</bool>

+4 −1
Original line number Diff line number Diff line
@@ -189,13 +189,16 @@ public class RedactionInterstitial extends SettingsActivity {
        }

        private void loadFromSettings() {
            final boolean showUnRedactedDefault = getContext().getResources().getBoolean(
                    R.bool.default_allow_sensitive_lockscreen_content);
            final boolean managedProfile = UserManager.get(getContext()).isManagedProfile(mUserId);
            // Hiding all notifications is device-wide setting, managed profiles can only set
            // whether their notifications are show in full or redacted.
            final boolean showNotifications = managedProfile || Settings.Secure.getIntForUser(
                    getContentResolver(), LOCK_SCREEN_SHOW_NOTIFICATIONS, 0, mUserId) != 0;
            final boolean showUnredacted = Settings.Secure.getIntForUser(
                    getContentResolver(), LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 1, mUserId) != 0;
                    getContentResolver(), LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS,
                    showUnRedactedDefault ? 1 : 0, mUserId) != 0;

            int checkedButtonId = R.id.hide_all;
            if (showNotifications) {
+29 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.widget.RadioButton;
import com.android.settings.R;
import com.android.settings.RestrictedRadioButton;
import com.android.settings.notification.RedactionInterstitial.RedactionInterstitialFragment;
import com.android.settings.testutils.shadow.SettingsShadowResources;
import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
import com.android.settings.testutils.shadow.ShadowUtils;

@@ -38,6 +39,7 @@ import org.robolectric.shadows.ShadowUserManager;
@Config(shadows = {
        ShadowUtils.class,
        ShadowRestrictedLockUtilsInternal.class,
        SettingsShadowResources.class,
})
public class RedactionInterstitialTest {
    private RedactionInterstitial mActivity;
@@ -134,6 +136,28 @@ public class RedactionInterstitialTest {
        assertSelectedButton(R.id.redact_sensitive);
    }

    @Test
    public void defaultShowSensitiveContent_configDeny() {
        final ContentResolver resolver = RuntimeEnvironment.application.getContentResolver();
        Settings.Secure.putIntForUser(resolver,
                LOCK_SCREEN_SHOW_NOTIFICATIONS, 1, UserHandle.myUserId());
        setupConfig(false);
        setupActivity();

        assertSelectedButton(R.id.redact_sensitive);
    }

    @Test
    public void defaultShowSensitiveContent_configAllow() {
        final ContentResolver resolver = RuntimeEnvironment.application.getContentResolver();
        Settings.Secure.putIntForUser(resolver,
                LOCK_SCREEN_SHOW_NOTIFICATIONS, 1, UserHandle.myUserId());
        setupConfig(true);
        setupActivity();

        assertSelectedButton(R.id.show_all);
    }

    private void setupActivity() {
        mActivity = buildActivity(RedactionInterstitial.class, new Intent()).setup().get();
        mFragment = (RedactionInterstitialFragment)
@@ -142,6 +166,11 @@ public class RedactionInterstitialTest {
        assertThat(mFragment).isNotNull();
    }

    private void setupConfig(boolean allowSensitiveContent) {
        SettingsShadowResources.overrideResource(
                R.bool.default_allow_sensitive_lockscreen_content, allowSensitiveContent);
    }

    private void setupSettings(int show, int showUnredacted) {
        final ContentResolver resolver = RuntimeEnvironment.application.getContentResolver();
        Settings.Secure.putIntForUser(resolver,