diff --git a/res/values/strings.xml b/res/values/strings.xml index 66b3b8ca057..28562ffc8b7 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -13446,7 +13446,7 @@ Violet - Done + Save Cancel diff --git a/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceController.java b/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceController.java index ae1adfa85a7..fe69b2b4675 100644 --- a/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceController.java +++ b/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceController.java @@ -110,7 +110,7 @@ public class FlashNotificationsPreviewPreferenceController extends if (preference == null) { return; } - preference.setEnabled(FlashNotificationsUtil.getFlashNotificationsState(mContext) + preference.setVisible(FlashNotificationsUtil.getFlashNotificationsState(mContext) != FlashNotificationsUtil.State.OFF); } } diff --git a/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragment.java b/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragment.java index ca77f16f104..5094154eb9b 100644 --- a/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragment.java +++ b/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragment.java @@ -65,8 +65,7 @@ public class ScreenFlashNotificationColorDialogFragment extends DialogFragment i final ScreenFlashNotificationColorDialogFragment result = new ScreenFlashNotificationColorDialogFragment(); result.mCurrentColor = initialColor; - result.mConsumer = colorConsumer != null ? colorConsumer : i -> { - }; + result.mConsumer = colorConsumer != null ? colorConsumer : i -> {}; return result; } @@ -89,7 +88,7 @@ public class ScreenFlashNotificationColorDialogFragment extends DialogFragment i .setNeutralButton(R.string.flash_notifications_preview, null) .setNegativeButton(R.string.color_selector_dialog_cancel, (dialog, which) -> { }) - .setPositiveButton(R.string.color_selector_dialog_done, (dialog, which) -> { + .setPositiveButton(R.string.color_selector_dialog_save, (dialog, which) -> { mCurrentColor = colorSelectorLayout.getCheckedColor(DEFAULT_SCREEN_FLASH_COLOR); mConsumer.accept(mCurrentColor); }) diff --git a/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceControllerTest.java index 0f32f31ac1b..6432a171434 100644 --- a/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceControllerTest.java @@ -67,22 +67,23 @@ public class FlashNotificationsPreviewPreferenceControllerTest { public MockitoRule mMockitoRule = MockitoJUnit.rule(); @Spy private final Context mContext = ApplicationProvider.getApplicationContext(); - @Mock - private PreferenceScreen mPreferenceScreen; - @Mock - private Preference mPreference; @Spy private ContentResolver mContentResolver = mContext.getContentResolver(); - + @Mock + private PreferenceScreen mPreferenceScreen; + private Preference mPreference; private FlashNotificationsPreviewPreferenceController mController; @Before public void setUp() { MockitoAnnotations.initMocks(this); - when(mPreferenceScreen.findPreference(PREFERENCE_KEY)).thenReturn(mPreference); - when(mPreference.getKey()).thenReturn(PREFERENCE_KEY); when(mContext.getContentResolver()).thenReturn(mContentResolver); + + mPreference = new Preference(mContext); + mPreference.setKey(PREFERENCE_KEY); + when(mPreferenceScreen.findPreference(PREFERENCE_KEY)).thenReturn(mPreference); + mController = new FlashNotificationsPreviewPreferenceController(mContext, PREFERENCE_KEY); } @@ -97,40 +98,45 @@ public class FlashNotificationsPreviewPreferenceControllerTest { } @Test - public void testDisplayPreference_torchPresent_cameraOff_screenOff_verifyDisabled() { + public void testDisplayPreference_torchPresent_cameraOff_screenOff_notVisible() { setFlashNotificationsState(FlashNotificationsUtil.State.OFF); mController.displayPreference(mPreferenceScreen); - verify(mPreference).setEnabled(eq(false)); + + assertThat(mPreference.isVisible()).isFalse(); } @Test - public void testDisplayPreference_torchPresent_cameraOn_screenOff_verifyEnabled() { + public void testDisplayPreference_torchPresent_cameraOn_screenOff_isVisible() { setFlashNotificationsState(FlashNotificationsUtil.State.CAMERA); mController.displayPreference(mPreferenceScreen); - verify(mPreference).setEnabled(eq(true)); + + assertThat(mPreference.isVisible()).isTrue(); } @Test - public void testDisplayPreference_torchPresent_cameraOff_screenOn_verifyEnabled() { + public void testDisplayPreference_torchPresent_cameraOff_screenOn_isVisible() { setFlashNotificationsState(FlashNotificationsUtil.State.SCREEN); mController.displayPreference(mPreferenceScreen); - verify(mPreference).setEnabled(eq(true)); + + assertThat(mPreference.isVisible()).isTrue(); } @Test - public void testDisplayPreference_torchPresent_cameraOn_screenOn_verifyEnabled() { + public void testDisplayPreference_torchPresent_cameraOn_screenOn_isVisible() { setFlashNotificationsState(FlashNotificationsUtil.State.CAMERA_SCREEN); mController.displayPreference(mPreferenceScreen); - verify(mPreference).setEnabled(eq(true)); + + assertThat(mPreference.isVisible()).isTrue(); } @Test public void testHandlePreferenceTreeClick_invalidPreference() { mController.handlePreferenceTreeClick(mock(Preference.class)); + verify(mContext, never()).sendBroadcastAsUser(any(), any()); } @@ -160,6 +166,7 @@ public class FlashNotificationsPreviewPreferenceControllerTest { @Test public void onStateChanged_onResume_cameraUri_verifyRegister() { mController.onStateChanged(mock(LifecycleOwner.class), Lifecycle.Event.ON_RESUME); + verify(mContentResolver).registerContentObserver( eq(Settings.System.getUriFor(Settings.System.CAMERA_FLASH_NOTIFICATION)), anyBoolean(), eq(mController.mContentObserver)); @@ -168,6 +175,7 @@ public class FlashNotificationsPreviewPreferenceControllerTest { @Test public void onStateChanged_onResume_screenUri_verifyRegister() { mController.onStateChanged(mock(LifecycleOwner.class), Lifecycle.Event.ON_RESUME); + verify(mContentResolver).registerContentObserver( eq(Settings.System.getUriFor(Settings.System.SCREEN_FLASH_NOTIFICATION)), anyBoolean(), eq(mController.mContentObserver)); @@ -176,6 +184,7 @@ public class FlashNotificationsPreviewPreferenceControllerTest { @Test public void onStateChanged_onPause_verifyUnregister() { mController.onStateChanged(mock(LifecycleOwner.class), Lifecycle.Event.ON_PAUSE); + verify(mContentResolver).unregisterContentObserver(eq(mController.mContentObserver)); } }