Merge "Fix crash on rotation"
This commit is contained in:
committed by
Android (Google) Code Review
commit
ebfa9e31a1
@@ -35,6 +35,7 @@ import com.google.common.annotations.VisibleForTesting;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
public class ShowOnLockScreenNotificationPreferenceController extends AbstractPreferenceController
|
public class ShowOnLockScreenNotificationPreferenceController extends AbstractPreferenceController
|
||||||
implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
|
implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
|
||||||
@@ -66,8 +67,9 @@ public class ShowOnLockScreenNotificationPreferenceController extends AbstractPr
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateState(Preference preference) {
|
public void displayPreference(PreferenceScreen screen) {
|
||||||
RestrictedListPreference pref = (RestrictedListPreference) preference;
|
super.displayPreference(screen);
|
||||||
|
RestrictedListPreference pref = screen.findPreference(mSettingKey);
|
||||||
pref.clearRestrictedItems();
|
pref.clearRestrictedItems();
|
||||||
ArrayList<CharSequence> entries = new ArrayList<>();
|
ArrayList<CharSequence> entries = new ArrayList<>();
|
||||||
ArrayList<CharSequence> values = new ArrayList<>();
|
ArrayList<CharSequence> values = new ArrayList<>();
|
||||||
@@ -104,7 +106,7 @@ public class ShowOnLockScreenNotificationPreferenceController extends AbstractPr
|
|||||||
|
|
||||||
pref.setOnPreferenceChangeListener(this);
|
pref.setOnPreferenceChangeListener(this);
|
||||||
|
|
||||||
refreshSummary(preference);
|
refreshSummary(pref);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -89,7 +89,7 @@ public class ShowOnLockscreenNotificationPreferenceControllerTest {
|
|||||||
LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS,
|
LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS,
|
||||||
1);
|
1);
|
||||||
|
|
||||||
mController.updateState(mPreference);
|
mController.displayPreference(mScreen);
|
||||||
|
|
||||||
assertThat(mPreference.getValue()).isEqualTo(
|
assertThat(mPreference.getValue()).isEqualTo(
|
||||||
String.valueOf(R.string.lock_screen_notifs_show_none));
|
String.valueOf(R.string.lock_screen_notifs_show_none));
|
||||||
@@ -107,7 +107,7 @@ public class ShowOnLockscreenNotificationPreferenceControllerTest {
|
|||||||
LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS,
|
LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS,
|
||||||
0);
|
0);
|
||||||
|
|
||||||
mController.updateState(mPreference);
|
mController.displayPreference(mScreen);
|
||||||
|
|
||||||
assertThat(mPreference.getValue()).isEqualTo(
|
assertThat(mPreference.getValue()).isEqualTo(
|
||||||
String.valueOf(R.string.lock_screen_notifs_show_alerting));
|
String.valueOf(R.string.lock_screen_notifs_show_alerting));
|
||||||
@@ -124,7 +124,7 @@ public class ShowOnLockscreenNotificationPreferenceControllerTest {
|
|||||||
LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS,
|
LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS,
|
||||||
1);
|
1);
|
||||||
|
|
||||||
mController.updateState(mPreference);
|
mController.displayPreference(mScreen);
|
||||||
|
|
||||||
assertThat(mPreference.getValue()).isEqualTo(
|
assertThat(mPreference.getValue()).isEqualTo(
|
||||||
String.valueOf(R.string.lock_screen_notifs_show_all));
|
String.valueOf(R.string.lock_screen_notifs_show_all));
|
||||||
@@ -136,7 +136,7 @@ public class ShowOnLockscreenNotificationPreferenceControllerTest {
|
|||||||
public void updateState_allNotifsOnLockscreen_isDefault() {
|
public void updateState_allNotifsOnLockscreen_isDefault() {
|
||||||
// settings don't exist
|
// settings don't exist
|
||||||
|
|
||||||
mController.updateState(mPreference);
|
mController.displayPreference(mScreen);
|
||||||
|
|
||||||
assertThat(mPreference.getValue()).isEqualTo(
|
assertThat(mPreference.getValue()).isEqualTo(
|
||||||
String.valueOf(R.string.lock_screen_notifs_show_all));
|
String.valueOf(R.string.lock_screen_notifs_show_all));
|
||||||
@@ -158,7 +158,7 @@ public class ShowOnLockscreenNotificationPreferenceControllerTest {
|
|||||||
ShadowRestrictedLockUtilsInternal.setKeyguardDisabledFeatures(
|
ShadowRestrictedLockUtilsInternal.setKeyguardDisabledFeatures(
|
||||||
KEYGUARD_DISABLE_SECURE_NOTIFICATIONS);
|
KEYGUARD_DISABLE_SECURE_NOTIFICATIONS);
|
||||||
|
|
||||||
mController.updateState(mPreference);
|
mController.displayPreference(mScreen);
|
||||||
|
|
||||||
assertThat(mPreference.getValue()).isEqualTo(
|
assertThat(mPreference.getValue()).isEqualTo(
|
||||||
String.valueOf(R.string.lock_screen_notifs_show_none));
|
String.valueOf(R.string.lock_screen_notifs_show_none));
|
||||||
|
Reference in New Issue
Block a user