From f43cf08634013fbc132b18d8be1e145bed276d5d Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Thu, 16 Apr 2020 09:47:57 -0400 Subject: [PATCH] Update configure notifications screen Test: atest Bug: 153150072 Change-Id: I99ebe2cad5036a154c40bce54dbd6ddbd23c2323 --- res/xml/configure_notification_settings.xml | 62 ++++---- ...tificationHistoryPreferenceController.java | 128 ---------------- ...centNotifyingAppsPreferenceController.java | 8 +- ...cationHistoryPreferenceControllerTest.java | 139 ------------------ ...NotifyingAppsPreferenceControllerTest.java | 16 -- 5 files changed, 33 insertions(+), 320 deletions(-) delete mode 100644 src/com/android/settings/notification/NotificationHistoryPreferenceController.java delete mode 100644 tests/robotests/src/com/android/settings/notification/NotificationHistoryPreferenceControllerTest.java diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml index cb8357bdb0e..0123ee5ed80 100644 --- a/res/xml/configure_notification_settings.xml +++ b/res/xml/configure_notification_settings.xml @@ -25,16 +25,41 @@ settings:controller="com.android.settings.widget.VideoPreferenceController" android:persistent="false" /> - - + + + + + + + + settings:allowDividerAbove="true" + android:order="5"> @@ -42,7 +67,7 @@ android:key="all_notifications" android:title="@string/notifications_title" android:fragment="com.android.settings.applications.manageapplications.ManageApplications" - android:order="4" + android:order="6" settings:searchable="false"> - - - - - mUserIds; public RecentNotifyingAppsPreferenceController(Context context, NotificationBackend backend, @@ -130,14 +128,12 @@ public class RecentNotifyingAppsPreferenceController extends AbstractPreferenceC PreferenceControllerMixin.super.updateNonIndexableKeys(keys); // Don't index category name into search. It's not actionable. keys.add(KEY_PREF_CATEGORY); - keys.add(KEY_DIVIDER); } @Override public void displayPreference(PreferenceScreen screen) { mCategory = screen.findPreference(getPreferenceKey()); mSeeAllPref = screen.findPreference(KEY_SEE_ALL); - mDivider = screen.findPreference(KEY_DIVIDER); super.displayPreference(screen); refreshUi(mCategory.getContext()); } @@ -208,7 +204,6 @@ public class RecentNotifyingAppsPreferenceController extends AbstractPreferenceC private void displayOnlyAllAppsLink() { mCategory.setTitle(null); - mDivider.setVisible(false); mSeeAllPref.setTitle(R.string.notifications_title); mSeeAllPref.setIcon(null); int prefCount = mCategory.getPreferenceCount(); @@ -222,7 +217,6 @@ public class RecentNotifyingAppsPreferenceController extends AbstractPreferenceC private void displayRecentApps(Context prefContext, List recentApps) { mCategory.setTitle(R.string.recent_notifications); - mDivider.setVisible(true); mSeeAllPref.setSummary(null); mSeeAllPref.setIcon(R.drawable.ic_chevron_right_24dp); diff --git a/tests/robotests/src/com/android/settings/notification/NotificationHistoryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/NotificationHistoryPreferenceControllerTest.java deleted file mode 100644 index 249fa17d2f7..00000000000 --- a/tests/robotests/src/com/android/settings/notification/NotificationHistoryPreferenceControllerTest.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Copyright (C) 2020 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.notification; - -import static android.provider.Settings.Secure.NOTIFICATION_HISTORY_ENABLED; - -import static com.android.settings.notification.NotificationHistoryPreferenceController.OFF; -import static com.android.settings.notification.NotificationHistoryPreferenceController.ON; - -import static com.google.common.truth.Truth.assertThat; - -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.content.Context; -import android.provider.Settings; - -import androidx.preference.Preference; -import androidx.preference.PreferenceScreen; -import androidx.preference.TwoStatePreference; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Answers; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import org.robolectric.RobolectricTestRunner; -import org.robolectric.RuntimeEnvironment; - -@RunWith(RobolectricTestRunner.class) -public class NotificationHistoryPreferenceControllerTest { - - @Mock(answer = Answers.RETURNS_DEEP_STUBS) - private Context mContext; - @Mock(answer = Answers.RETURNS_DEEP_STUBS) - private PreferenceScreen mScreen; - - private NotificationHistoryPreferenceController mController; - private Preference mPreference; - - private static final String KEY = "notification_history"; - - @Before - public void setUp() { - MockitoAnnotations.initMocks(this); - mController = new NotificationHistoryPreferenceController(mContext, KEY); - mPreference = new Preference(RuntimeEnvironment.application); - mPreference.setKey(mController.getPreferenceKey()); - when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference); - } - - @Test - public void testIsVisible() { - mController.displayPreference(mScreen); - - assertThat(mPreference.isVisible()).isTrue(); - } - - @Test - public void updateState_preferenceSetCheckedWhenSettingIsOn() { - final TwoStatePreference preference = mock(TwoStatePreference.class); - final Context context = RuntimeEnvironment.application; - Settings.Secure.putInt(context.getContentResolver(), NOTIFICATION_HISTORY_ENABLED, ON); - - mController = new NotificationHistoryPreferenceController(context, KEY); - mController.updateState(preference); - - verify(preference).setChecked(true); - } - - @Test - public void updateState_preferenceSetUncheckedWhenSettingIsOff() { - final TwoStatePreference preference = mock(TwoStatePreference.class); - final Context context = RuntimeEnvironment.application; - Settings.Secure.putInt(context.getContentResolver(), NOTIFICATION_HISTORY_ENABLED, OFF); - - mController = new NotificationHistoryPreferenceController(context, KEY); - mController.updateState(preference); - - verify(preference).setChecked(false); - } - - @Test - public void isChecked_settingIsOff_shouldReturnFalse() { - Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_HISTORY_ENABLED, OFF); - - assertThat(mController.isChecked()).isFalse(); - } - - @Test - public void isChecked_settingIsOn_shouldReturnTrue() { - Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_HISTORY_ENABLED, ON); - - assertThat(mController.isChecked()).isTrue(); - } - - @Test - public void setChecked_setFalse_disablesSetting() { - Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_HISTORY_ENABLED, ON); - - mController.setChecked(false); - int updatedValue = Settings.Secure.getInt(mContext.getContentResolver(), - NOTIFICATION_HISTORY_ENABLED, -1); - - assertThat(updatedValue).isEqualTo(OFF); - } - - @Test - public void setChecked_setTrue_enablesSetting() { - Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_HISTORY_ENABLED, OFF); - - mController.setChecked(true); - int updatedValue = Settings.Secure.getInt(mContext.getContentResolver(), - NOTIFICATION_HISTORY_ENABLED, -1); - - assertThat(updatedValue).isEqualTo(ON); - } - - @Test - public void isSliceable_returnsFalse() { - assertThat(mController.isSliceable()).isFalse(); - } -} diff --git a/tests/robotests/src/com/android/settings/notification/RecentNotifyingAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/RecentNotifyingAppsPreferenceControllerTest.java index 93bd8dca7bc..6226b9a318b 100644 --- a/tests/robotests/src/com/android/settings/notification/RecentNotifyingAppsPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/RecentNotifyingAppsPreferenceControllerTest.java @@ -83,8 +83,6 @@ public class RecentNotifyingAppsPreferenceControllerTest { @Mock private Preference mSeeAllPref; @Mock - private PreferenceCategory mDivider; - @Mock private UserManager mUserManager; @Mock private ApplicationsState mAppState; @@ -120,8 +118,6 @@ public class RecentNotifyingAppsPreferenceControllerTest { when(mScreen.findPreference(RecentNotifyingAppsPreferenceController.KEY_SEE_ALL)) .thenReturn(mSeeAllPref); - when(mScreen.findPreference(RecentNotifyingAppsPreferenceController.KEY_DIVIDER)) - .thenReturn(mDivider); when(mCategory.getContext()).thenReturn(mContext); when(mHost.getActivity()).thenReturn(mActivity); } @@ -131,16 +127,6 @@ public class RecentNotifyingAppsPreferenceControllerTest { assertThat(mController.isAvailable()).isTrue(); } - @Test - public void doNotIndexCategory() { - final List nonIndexable = new ArrayList<>(); - - mController.updateNonIndexableKeys(nonIndexable); - - assertThat(nonIndexable).containsAllOf(mController.getPreferenceKey(), - RecentNotifyingAppsPreferenceController.KEY_DIVIDER); - } - @Test public void onDisplayAndUpdateState_shouldRefreshUi() { mController = spy(new RecentNotifyingAppsPreferenceController( @@ -163,7 +149,6 @@ public class RecentNotifyingAppsPreferenceControllerTest { verify(mCategory).setTitle(null); verify(mSeeAllPref).setTitle(R.string.notifications_title); verify(mSeeAllPref).setIcon(null); - verify(mDivider).setVisible(false); } @Test @@ -211,7 +196,6 @@ public class RecentNotifyingAppsPreferenceControllerTest { verify(mSeeAllPref).setSummary(null); verify(mSeeAllPref).setIcon(R.drawable.ic_chevron_right_24dp); - verify(mDivider).setVisible(true); } @Test