diff --git a/res/values/config.xml b/res/values/config.xml
index 50e06ba1e66..302a8d630d2 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -637,6 +637,9 @@
- android.uid.system:1000
+
+ true
+
false
diff --git a/src/com/android/settings/notification/RedactionInterstitial.java b/src/com/android/settings/notification/RedactionInterstitial.java
index f243250a611..d6fdaf81c95 100644
--- a/src/com/android/settings/notification/RedactionInterstitial.java
+++ b/src/com/android/settings/notification/RedactionInterstitial.java
@@ -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) {
diff --git a/tests/robotests/src/com/android/settings/notification/RedactionInterstitialTest.java b/tests/robotests/src/com/android/settings/notification/RedactionInterstitialTest.java
index 5c6da495235..9d475b84524 100644
--- a/tests/robotests/src/com/android/settings/notification/RedactionInterstitialTest.java
+++ b/tests/robotests/src/com/android/settings/notification/RedactionInterstitialTest.java
@@ -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,