diff --git a/res/values/strings.xml b/res/values/strings.xml
index 25286ab2148..77874564baf 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8931,17 +8931,17 @@
What to show on lock screen
-
- Seen notifications are removed from the lock screen.
+
+ Show seen notifications
- Hide silent notifications
+ Show silent notifications
- Hide sensitive content
+ Show sensitive content
- Hide sensitive work profile content
+ Show sensitive work profile content
Profile notifications
diff --git a/res/xml/lock_screen_notifications_settings.xml b/res/xml/lock_screen_notifications_settings.xml
index d7bfa064a3e..e870143823d 100644
--- a/res/xml/lock_screen_notifications_settings.xml
+++ b/res/xml/lock_screen_notifications_settings.xml
@@ -49,24 +49,24 @@
android:title="@string/lockscreen_notification_what_to_show_title">
+ android:key="lock_screen_notification_show_seen_toggle"
+ android:title="@string/lock_screen_notification_show_seen_title"
+ settings:controller="com.android.settings.notification.LockScreenNotificationShowSeenController" />
+ android:key="lock_screen_notification_show_silent_toggle"
+ android:title="@string/lock_screen_notification_show_silent_title"
+ settings:controller="com.android.settings.notification.LockScreenNotificationShowSilentController" />
+ android:title="@string/lock_screen_notification_show_sensitive_content_title"
+ settings:controller="com.android.settings.notification.LockScreenNotificationShowSensitiveController" />
+ android:title="@string/lock_screen_notification_show_sensitive_work_content_title"
+ settings:controller="com.android.settings.notification.LockScreenNotificationShowSensitiveController" />
diff --git a/src/com/android/settings/notification/LockScreenNotificationHideSeenToggleController.java b/src/com/android/settings/notification/LockScreenNotificationShowSeenController.java
similarity index 91%
rename from src/com/android/settings/notification/LockScreenNotificationHideSeenToggleController.java
rename to src/com/android/settings/notification/LockScreenNotificationShowSeenController.java
index 3253937de8c..2c5a71ef84a 100644
--- a/src/com/android/settings/notification/LockScreenNotificationHideSeenToggleController.java
+++ b/src/com/android/settings/notification/LockScreenNotificationShowSeenController.java
@@ -39,7 +39,7 @@ import com.android.settings.core.TogglePreferenceController;
* Controls the toggle that determines whether to hide seen notifications from the lock screen.
* Toggle for setting: Settings.Secure.LOCK_SCREEN_SHOW_ONLY_UNSEEN_NOTIFICATIONS
*/
-public class LockScreenNotificationHideSeenToggleController extends TogglePreferenceController
+public class LockScreenNotificationShowSeenController extends TogglePreferenceController
implements LifecycleEventObserver {
private static final int UNSET = 0;
@@ -57,7 +57,7 @@ public class LockScreenNotificationHideSeenToggleController extends TogglePrefer
}
};
- public LockScreenNotificationHideSeenToggleController(@NonNull Context context,
+ public LockScreenNotificationShowSeenController(@NonNull Context context,
@NonNull String preferenceKey) {
super(context, preferenceKey);
mContentResolver = context.getContentResolver();
@@ -90,7 +90,7 @@ public class LockScreenNotificationHideSeenToggleController extends TogglePrefer
@Override
public void updateState(@NonNull Preference preference) {
super.updateState(preference);
- setChecked(lockScreenShowOnlyUnseenNotifications());
+ setChecked(lockScreenShowSeenNotifications());
preference.setVisible(isAvailable());
}
@@ -115,18 +115,18 @@ public class LockScreenNotificationHideSeenToggleController extends TogglePrefer
@Override
public boolean isChecked() {
- return lockScreenShowOnlyUnseenNotifications();
+ return lockScreenShowSeenNotifications();
}
- private boolean lockScreenShowOnlyUnseenNotifications() {
+ private boolean lockScreenShowSeenNotifications() {
return Settings.Secure.getInt(mContext.getContentResolver(),
- Settings.Secure.LOCK_SCREEN_SHOW_ONLY_UNSEEN_NOTIFICATIONS, UNSET) == ON;
+ Settings.Secure.LOCK_SCREEN_SHOW_ONLY_UNSEEN_NOTIFICATIONS, UNSET) == OFF;
}
@Override
public boolean setChecked(boolean isChecked) {
return Settings.Secure.putInt(mContext.getContentResolver(),
- Settings.Secure.LOCK_SCREEN_SHOW_ONLY_UNSEEN_NOTIFICATIONS, (isChecked ? ON : OFF));
+ Settings.Secure.LOCK_SCREEN_SHOW_ONLY_UNSEEN_NOTIFICATIONS, (isChecked ? OFF : ON));
}
@Override
diff --git a/src/com/android/settings/notification/LockScreenNotificationShowSensitiveToggleController.java b/src/com/android/settings/notification/LockScreenNotificationShowSensitiveController.java
similarity index 93%
rename from src/com/android/settings/notification/LockScreenNotificationShowSensitiveToggleController.java
rename to src/com/android/settings/notification/LockScreenNotificationShowSensitiveController.java
index 738714dc162..038ceddd4b5 100644
--- a/src/com/android/settings/notification/LockScreenNotificationShowSensitiveToggleController.java
+++ b/src/com/android/settings/notification/LockScreenNotificationShowSensitiveController.java
@@ -53,7 +53,7 @@ import java.util.List;
* when locked.
* Toggle for: Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS
*/
-public class LockScreenNotificationShowSensitiveToggleController
+public class LockScreenNotificationShowSensitiveController
extends TogglePreferenceController implements LifecycleEventObserver {
private static final int ON = 1;
@@ -78,7 +78,7 @@ public class LockScreenNotificationShowSensitiveToggleController
}
};
- public LockScreenNotificationShowSensitiveToggleController(@NonNull Context context,
+ public LockScreenNotificationShowSensitiveController(@NonNull Context context,
@NonNull String preferenceKey) {
super(context, preferenceKey);
mContentResolver = context.getContentResolver();
@@ -145,7 +145,7 @@ public class LockScreenNotificationShowSensitiveToggleController
@Override
public void updateState(@Nullable Preference preference) {
if (preference == null) return;
- setChecked(showSensitiveContentOnlyWhenUnlocked());
+ setChecked(showSensitiveContentWhenLocked());
preference.setVisible(isAvailable());
}
@@ -187,15 +187,15 @@ public class LockScreenNotificationShowSensitiveToggleController
@Override
public boolean isChecked() {
- return showSensitiveContentOnlyWhenUnlocked();
+ return showSensitiveContentWhenLocked();
}
- private boolean showSensitiveContentOnlyWhenUnlocked() {
+ private boolean showSensitiveContentWhenLocked() {
int userId = getUserId();
- if (!isLockScreenSecure()) return false;
- if (getEnforcedAdmin(userId) != null) return true;
+ if (!isLockScreenSecure()) return true;
+ if (getEnforcedAdmin(userId) != null) return false;
return Settings.Secure.getIntForUser(mContext.getContentResolver(),
- Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, ON, userId) == OFF;
+ Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, ON, userId) == ON;
}
@Override
@@ -203,7 +203,7 @@ public class LockScreenNotificationShowSensitiveToggleController
return Settings.Secure.putIntForUser(
mContext.getContentResolver(),
Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS,
- (isChecked ? OFF : ON), getUserId()
+ (isChecked ? ON : OFF), getUserId()
);
}
diff --git a/src/com/android/settings/notification/LockScreenNotificationHideSilentToggleController.java b/src/com/android/settings/notification/LockScreenNotificationShowSilentController.java
similarity index 91%
rename from src/com/android/settings/notification/LockScreenNotificationHideSilentToggleController.java
rename to src/com/android/settings/notification/LockScreenNotificationShowSilentController.java
index ad33ec35414..2d2bbb765b9 100644
--- a/src/com/android/settings/notification/LockScreenNotificationHideSilentToggleController.java
+++ b/src/com/android/settings/notification/LockScreenNotificationShowSilentController.java
@@ -38,7 +38,7 @@ import com.android.settings.core.TogglePreferenceController;
* Controls the toggle that determines whether to show silent notifications when screen locked.
* Toggle for: Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS
*/
-public class LockScreenNotificationHideSilentToggleController extends TogglePreferenceController
+public class LockScreenNotificationShowSilentController extends TogglePreferenceController
implements LifecycleEventObserver {
private static final int ON = 1;
@@ -56,7 +56,7 @@ public class LockScreenNotificationHideSilentToggleController extends TogglePref
}
};
- public LockScreenNotificationHideSilentToggleController(@NonNull Context context,
+ public LockScreenNotificationShowSilentController(@NonNull Context context,
@NonNull String preferenceKey) {
super(context, preferenceKey);
mContentResolver = context.getContentResolver();
@@ -89,13 +89,13 @@ public class LockScreenNotificationHideSilentToggleController extends TogglePref
@Override
public void updateState(@NonNull Preference preference) {
super.updateState(preference);
- setChecked(hideSilentNotificationsWhenLocked());
+ setChecked(showSilentNotificationsWhenLocked());
preference.setVisible(isAvailable());
}
- private boolean hideSilentNotificationsWhenLocked() {
+ private boolean showSilentNotificationsWhenLocked() {
return Settings.Secure.getInt(mContext.getContentResolver(),
- Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, OFF) == OFF;
+ Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, OFF) == ON;
}
@Override
@@ -116,13 +116,13 @@ public class LockScreenNotificationHideSilentToggleController extends TogglePref
@Override
public boolean isChecked() {
- return hideSilentNotificationsWhenLocked();
+ return showSilentNotificationsWhenLocked();
}
@Override
public boolean setChecked(boolean isChecked) {
return Settings.Secure.putInt(mContext.getContentResolver(),
- Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, (isChecked ? OFF : ON));
+ Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, (isChecked ? ON : OFF));
}
@Override
diff --git a/tests/robotests/src/com/android/settings/notification/LockScreenNotificationShowSensitiveToggleControllerTest.java b/tests/robotests/src/com/android/settings/notification/LockScreenNotificationShowSensitiveControllerTest.java
similarity index 93%
rename from tests/robotests/src/com/android/settings/notification/LockScreenNotificationShowSensitiveToggleControllerTest.java
rename to tests/robotests/src/com/android/settings/notification/LockScreenNotificationShowSensitiveControllerTest.java
index ea556a592d8..9a29de2c926 100644
--- a/tests/robotests/src/com/android/settings/notification/LockScreenNotificationShowSensitiveToggleControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/LockScreenNotificationShowSensitiveControllerTest.java
@@ -63,7 +63,7 @@ import java.util.Arrays;
ShadowUtils.class,
ShadowRestrictedLockUtilsInternal.class,
})
-public class LockScreenNotificationShowSensitiveToggleControllerTest {
+public class LockScreenNotificationShowSensitiveControllerTest {
@Mock
private DevicePolicyManager mDpm;
@@ -79,8 +79,8 @@ public class LockScreenNotificationShowSensitiveToggleControllerTest {
private Context mMockContext;
private Context mContext;
- private LockScreenNotificationShowSensitiveToggleController mController;
- private LockScreenNotificationShowSensitiveToggleController mWorkController;
+ private LockScreenNotificationShowSensitiveController mController;
+ private LockScreenNotificationShowSensitiveController mWorkController;
private RestrictedSwitchPreference mPreference;
private RestrictedSwitchPreference mWorkPreference;
@@ -98,9 +98,9 @@ public class LockScreenNotificationShowSensitiveToggleControllerTest {
when(mMockContext.getSystemService(KeyguardManager.class)).thenReturn(mKm);
when(mUm.getProfiles(anyInt())).thenReturn(Arrays.asList(new UserInfo(0, "", 0)));
- mController = new LockScreenNotificationShowSensitiveToggleController(
+ mController = new LockScreenNotificationShowSensitiveController(
mMockContext,
- LockScreenNotificationShowSensitiveToggleController.KEY_SHOW_SENSITIVE
+ LockScreenNotificationShowSensitiveController.KEY_SHOW_SENSITIVE
);
mPreference = new RestrictedSwitchPreference(mContext);
mPreference.setKey(mController.getPreferenceKey());
@@ -110,9 +110,9 @@ public class LockScreenNotificationShowSensitiveToggleControllerTest {
when(mUm.getProfiles(anyInt())).thenReturn(Arrays.asList(
new UserInfo(5, "", 0),
new UserInfo(10, "", UserInfo.FLAG_MANAGED_PROFILE | UserInfo.FLAG_PROFILE)));
- mWorkController = new LockScreenNotificationShowSensitiveToggleController(
+ mWorkController = new LockScreenNotificationShowSensitiveController(
mMockContext,
- LockScreenNotificationShowSensitiveToggleController.KEY_SHOW_SENSITIVE_WORK_PROFILE
+ LockScreenNotificationShowSensitiveController.KEY_SHOW_SENSITIVE_WORK_PROFILE
);
mWorkPreference = new RestrictedSwitchPreference(mContext);
mWorkPreference.setKey(mWorkController.getPreferenceKey());
@@ -150,12 +150,12 @@ public class LockScreenNotificationShowSensitiveToggleControllerTest {
// reset controllers with no work profile
when(mUm.getProfiles(anyInt())).thenReturn(Arrays.asList(
new UserInfo(UserHandle.myUserId(), "", 0)));
- mWorkController = new LockScreenNotificationShowSensitiveToggleController(
+ mWorkController = new LockScreenNotificationShowSensitiveController(
mMockContext,
- LockScreenNotificationShowSensitiveToggleController.KEY_SHOW_SENSITIVE_WORK_PROFILE
+ LockScreenNotificationShowSensitiveController.KEY_SHOW_SENSITIVE_WORK_PROFILE
);
- mController = new LockScreenNotificationShowSensitiveToggleController(mMockContext,
- LockScreenNotificationShowSensitiveToggleController.KEY_SHOW_SENSITIVE);
+ mController = new LockScreenNotificationShowSensitiveController(mMockContext,
+ LockScreenNotificationShowSensitiveController.KEY_SHOW_SENSITIVE);
// should otherwise show
when(mLockPatternUtils.isSecure(anyInt())).thenReturn(true);
@@ -271,13 +271,13 @@ public class LockScreenNotificationShowSensitiveToggleControllerTest {
LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS,
0, 0);
- assertThat(mController.isChecked()).isTrue();
+ assertThat(mController.isChecked()).isFalse();
Settings.Secure.putIntForUser(mContext.getContentResolver(),
LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS,
1, 0);
- assertThat(mController.isChecked()).isFalse();
+ assertThat(mController.isChecked()).isTrue();
}
@Test
@@ -287,13 +287,13 @@ public class LockScreenNotificationShowSensitiveToggleControllerTest {
LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS,
0, 10);
- assertThat(mWorkController.isChecked()).isTrue();
+ assertThat(mWorkController.isChecked()).isFalse();
Settings.Secure.putIntForUser(mContext.getContentResolver(),
LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS,
1, 10);
- assertThat(mWorkController.isChecked()).isFalse();
+ assertThat(mWorkController.isChecked()).isTrue();
}
@Test
@@ -305,7 +305,7 @@ public class LockScreenNotificationShowSensitiveToggleControllerTest {
ShadowRestrictedLockUtilsInternal.setKeyguardDisabledFeatures(
KEYGUARD_DISABLE_SECURE_NOTIFICATIONS);
- assertThat(mController.isChecked()).isFalse();
+ assertThat(mController.isChecked()).isTrue();
}
@Test
@@ -317,7 +317,7 @@ public class LockScreenNotificationShowSensitiveToggleControllerTest {
mController.setChecked(false);
assertThat(Settings.Secure.getIntForUser(
mContext.getContentResolver(), LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0))
- .isEqualTo(1);
+ .isEqualTo(0);
}
@Test
@@ -329,7 +329,7 @@ public class LockScreenNotificationShowSensitiveToggleControllerTest {
mWorkController.setChecked(true);
assertThat(Settings.Secure.getIntForUser(
mContext.getContentResolver(), LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 10))
- .isEqualTo(0);
+ .isEqualTo(1);
}
@Test
@@ -345,10 +345,10 @@ public class LockScreenNotificationShowSensitiveToggleControllerTest {
mWorkController.setChecked(true);
assertThat(Settings.Secure.getIntForUser(
mContext.getContentResolver(), LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 10))
- .isEqualTo(0);
+ .isEqualTo(1);
assertThat(Settings.Secure.getIntForUser(
mContext.getContentResolver(), LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0))
- .isEqualTo(0);
+ .isEqualTo(1);
}
}