Loading res/xml/app_notification_settings.xml +19 −26 Original line number Diff line number Diff line Loading @@ -26,17 +26,15 @@ <com.android.settings.widget.SettingsMainSwitchPreference android:key="block" /> <com.android.settingslib.widget.FooterPreference <Preference android:key="block_desc" /> <!-- Conversations added here --> <PreferenceCategory android:title="@string/conversations_category_title" android:key="conversations" android:visibility="gone" settings:allowDividerAbove="false" settings:allowDividerBelow="false"> android:visibility="gone"> </PreferenceCategory> <com.android.settingslib.RestrictedSwitchPreference android:key="invalid_conversation_switch" Loading @@ -49,25 +47,13 @@ android:key="bubble_pref_link" android:title="@string/notification_bubbles_title" android:icon="@drawable/ic_create_bubble" settings:allowDividerAbove="false" settings:controller="com.android.settings.notification.app.BubbleSummaryPreferenceController"> </Preference> <!-- Channels/Channel groups added here --> <PreferenceCategory android:key="channels" android:layout="@layout/empty_view" settings:allowDividerAbove="true" settings:allowDividerBelow="true" /> <!-- Show badge --> <com.android.settingslib.RestrictedSwitchPreference android:key="badge" android:title="@string/notification_badge_title" settings:useAdditionalSummary="true" android:order="1001" settings:allowDividerAbove="true" settings:restrictedSwitchSummary="@string/enabled_by_admin" /> android:layout="@layout/empty_view" /> <!-- Importance toggle --> <com.android.settingslib.RestrictedSwitchPreference Loading @@ -86,18 +72,25 @@ android:title="@string/app_notification_override_dnd_title" android:summary="@string/app_notification_override_dnd_summary"/> <!-- Show badge --> <com.android.settingslib.RestrictedSwitchPreference android:key="badge" android:title="@string/notification_badge_title" settings:useAdditionalSummary="true" android:order="1001" android:icon="@drawable/ic_notification_dot" settings:allowDividerAbove="true" settings:restrictedSwitchSummary="@string/enabled_by_admin" /> <Preference android:key="app_link" android:order="1003" android:icon="@drawable/ic_settings_24dp" android:title="@string/app_settings_link" /> <com.android.settingslib.widget.FooterPreference android:key="desc" android:order="5000" /> <com.android.settingslib.widget.FooterPreference android:key="deleted" android:icon="@drawable/ic_trash_can" android:order="8000" /> </PreferenceScreen> src/com/android/settings/notification/app/AppNotificationSettings.java +2 −3 Original line number Diff line number Diff line Loading @@ -98,14 +98,13 @@ public class AppNotificationSettings extends NotificationSettings { mBackend)); mControllers.add(new DndPreferenceController(context, mBackend)); mControllers.add(new AppLinkPreferenceController(context)); mControllers.add(new DescriptionPreferenceController(context)); mControllers.add(new NotificationsOffPreferenceController(context)); mControllers.add(new DeletedChannelsPreferenceController(context, mBackend)); mControllers.add(new ChannelListPreferenceController(context, mBackend)); mControllers.add(new AppConversationListPreferenceController(context, mBackend)); mControllers.add(new InvalidConversationInfoPreferenceController(context, mBackend)); mControllers.add(new InvalidConversationPreferenceController(context, mBackend)); mControllers.add(new BubbleSummaryPreferenceController(context, mBackend)); mControllers.add(new NotificationsOffPreferenceController(context)); mControllers.add(new DeletedChannelsPreferenceController(context, mBackend)); return new ArrayList<>(mControllers); } } src/com/android/settings/notification/app/BadgePreferenceController.java +8 −1 Original line number Diff line number Diff line Loading @@ -62,9 +62,16 @@ public class BadgePreferenceController extends NotificationPreferenceController if (isDefaultChannel()) { return true; } else { return mAppRow == null ? false : mAppRow.showBadge; return mAppRow == null ? false : mAppRow.channelCount == 0 ? false : mAppRow.showBadge; } } if (mAppRow.channelCount == 0) { return false; } return true; } Loading src/com/android/settings/notification/app/DescriptionPreferenceController.javadeleted 100644 → 0 +0 −73 Original line number Diff line number Diff line /* * Copyright (C) 2017 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.app; import android.content.Context; import android.text.TextUtils; import androidx.preference.Preference; import com.android.settings.core.PreferenceControllerMixin; public class DescriptionPreferenceController extends NotificationPreferenceController implements PreferenceControllerMixin { private static final String KEY_DESC = "desc"; public DescriptionPreferenceController(Context context) { super(context, null); } @Override public String getPreferenceKey() { return KEY_DESC; } @Override public boolean isAvailable() { if (!super.isAvailable()) { return false; } if (mChannel == null && !hasValidGroup()) { return false; } if (mChannel != null && !TextUtils.isEmpty(mChannel.getDescription())) { return true; } if (hasValidGroup() && !TextUtils.isEmpty(mChannelGroup.getDescription())) { return true; } return false; } @Override boolean isIncludedInFilter() { return false; } public void updateState(Preference preference) { if (mAppRow != null) { if (mChannel != null) { preference.setTitle(mChannel.getDescription()); } else if (hasValidGroup()) { preference.setTitle(mChannelGroup.getDescription()); } } preference.setEnabled(false); preference.setSelectable(false); } } tests/robotests/src/com/android/settings/notification/app/BadgePreferenceControllerTest.java +28 −1 Original line number Diff line number Diff line Loading @@ -97,6 +97,7 @@ public class BadgePreferenceControllerTest { @Test public void testIsAvailable_notIfAppBlocked() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.channelCount = 1; appRow.banned = true; mController.onResume(appRow, mock(NotificationChannel.class), null, null, null, null, null); assertFalse(mController.isAvailable()); Loading @@ -105,6 +106,7 @@ public class BadgePreferenceControllerTest { @Test public void testIsAvailable_notIfChannelBlocked() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.channelCount = 1; NotificationChannel channel = mock(NotificationChannel.class); when(channel.getImportance()).thenReturn(IMPORTANCE_NONE); mController.onResume(appRow, channel, null, null, null, null, null); Loading @@ -114,6 +116,7 @@ public class BadgePreferenceControllerTest { @Test public void testIsAvailable_channel_notIfAppOff() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.channelCount = 1; appRow.showBadge = false; NotificationChannel channel = mock(NotificationChannel.class); when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH); Loading @@ -125,6 +128,7 @@ public class BadgePreferenceControllerTest { @Test public void testIsAvailable_notIfOffGlobally() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.channelCount = 1; NotificationChannel channel = mock(NotificationChannel.class); when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH); mController.onResume(appRow, channel, null, null, null, null, null); Loading @@ -136,16 +140,28 @@ public class BadgePreferenceControllerTest { @Test public void testIsAvailable_app() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.channelCount = 1; mController.onResume(appRow, null, null, null, null, null, null); Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_BADGING, 1); assertTrue(mController.isAvailable()); } @Test public void testIsAvailable_appNoChannels() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.channelCount = 0; mController.onResume(appRow, null, null, null, null, null, null); Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_BADGING, 1); assertFalse(mController.isAvailable()); } @Test public void testIsAvailable_defaultChannel() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = true; appRow.channelCount = 1; NotificationChannel channel = mock(NotificationChannel.class); when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH); when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID); Loading @@ -159,6 +175,7 @@ public class BadgePreferenceControllerTest { public void testIsAvailable_channel() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = true; appRow.channelCount = 1; NotificationChannel channel = mock(NotificationChannel.class); when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH); mController.onResume(appRow, channel, null, null, null, null, null); Loading @@ -183,6 +200,7 @@ public class BadgePreferenceControllerTest { public void testIsAvailable_filteredOut() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = true; appRow.channelCount = 1; NotificationChannel channel = mock(NotificationChannel.class); when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH); mController.onResume(appRow, channel, null, null, null, null, new ArrayList<>()); Loading @@ -195,6 +213,7 @@ public class BadgePreferenceControllerTest { public void testIsAvailable_filteredIn() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = true; appRow.channelCount = 1; NotificationChannel channel = mock(NotificationChannel.class); when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH); mController.onResume(appRow, channel, null, null, null, null, Loading @@ -206,9 +225,11 @@ public class BadgePreferenceControllerTest { @Test public void testUpdateState_disabledByAdmin() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.channelCount = 1; NotificationChannel channel = mock(NotificationChannel.class); when(channel.getId()).thenReturn("something"); mController.onResume(new NotificationBackend.AppRow(), channel, null, mController.onResume(appRow, channel, null, null, null, mock(RestrictedLockUtils.EnforcedAdmin.class), null); Preference pref = new RestrictedSwitchPreference(mContext); Loading @@ -220,6 +241,7 @@ public class BadgePreferenceControllerTest { @Test public void testUpdateState_channel() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.channelCount = 1; NotificationChannel channel = mock(NotificationChannel.class); when(channel.canShowBadge()).thenReturn(true); mController.onResume(appRow, channel, null, null, null, null, null); Loading @@ -240,6 +262,7 @@ public class BadgePreferenceControllerTest { public void testUpdateState_app() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = true; appRow.channelCount = 1; mController.onResume(appRow, null, null, null, null, null, null); RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext); Loading @@ -257,6 +280,7 @@ public class BadgePreferenceControllerTest { public void testOnPreferenceChange_on_channel() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = true; appRow.channelCount = 1; NotificationChannel channel = new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_LOW); channel.setShowBadge(false); Loading @@ -276,6 +300,7 @@ public class BadgePreferenceControllerTest { public void testOnPreferenceChange_off_channel() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = true; appRow.channelCount = 1; NotificationChannel channel = new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH); channel.setShowBadge(true); Loading @@ -295,6 +320,7 @@ public class BadgePreferenceControllerTest { public void testOnPreferenceChange_on_app() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = false; appRow.channelCount = 1; mController.onResume(appRow, null, null, null, null, null, null); RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext); Loading @@ -312,6 +338,7 @@ public class BadgePreferenceControllerTest { public void testOnPreferenceChange_off_app() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = true; appRow.channelCount = 1; mController.onResume(appRow, null, null, null, null, null, null); RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext); Loading Loading
res/xml/app_notification_settings.xml +19 −26 Original line number Diff line number Diff line Loading @@ -26,17 +26,15 @@ <com.android.settings.widget.SettingsMainSwitchPreference android:key="block" /> <com.android.settingslib.widget.FooterPreference <Preference android:key="block_desc" /> <!-- Conversations added here --> <PreferenceCategory android:title="@string/conversations_category_title" android:key="conversations" android:visibility="gone" settings:allowDividerAbove="false" settings:allowDividerBelow="false"> android:visibility="gone"> </PreferenceCategory> <com.android.settingslib.RestrictedSwitchPreference android:key="invalid_conversation_switch" Loading @@ -49,25 +47,13 @@ android:key="bubble_pref_link" android:title="@string/notification_bubbles_title" android:icon="@drawable/ic_create_bubble" settings:allowDividerAbove="false" settings:controller="com.android.settings.notification.app.BubbleSummaryPreferenceController"> </Preference> <!-- Channels/Channel groups added here --> <PreferenceCategory android:key="channels" android:layout="@layout/empty_view" settings:allowDividerAbove="true" settings:allowDividerBelow="true" /> <!-- Show badge --> <com.android.settingslib.RestrictedSwitchPreference android:key="badge" android:title="@string/notification_badge_title" settings:useAdditionalSummary="true" android:order="1001" settings:allowDividerAbove="true" settings:restrictedSwitchSummary="@string/enabled_by_admin" /> android:layout="@layout/empty_view" /> <!-- Importance toggle --> <com.android.settingslib.RestrictedSwitchPreference Loading @@ -86,18 +72,25 @@ android:title="@string/app_notification_override_dnd_title" android:summary="@string/app_notification_override_dnd_summary"/> <!-- Show badge --> <com.android.settingslib.RestrictedSwitchPreference android:key="badge" android:title="@string/notification_badge_title" settings:useAdditionalSummary="true" android:order="1001" android:icon="@drawable/ic_notification_dot" settings:allowDividerAbove="true" settings:restrictedSwitchSummary="@string/enabled_by_admin" /> <Preference android:key="app_link" android:order="1003" android:icon="@drawable/ic_settings_24dp" android:title="@string/app_settings_link" /> <com.android.settingslib.widget.FooterPreference android:key="desc" android:order="5000" /> <com.android.settingslib.widget.FooterPreference android:key="deleted" android:icon="@drawable/ic_trash_can" android:order="8000" /> </PreferenceScreen>
src/com/android/settings/notification/app/AppNotificationSettings.java +2 −3 Original line number Diff line number Diff line Loading @@ -98,14 +98,13 @@ public class AppNotificationSettings extends NotificationSettings { mBackend)); mControllers.add(new DndPreferenceController(context, mBackend)); mControllers.add(new AppLinkPreferenceController(context)); mControllers.add(new DescriptionPreferenceController(context)); mControllers.add(new NotificationsOffPreferenceController(context)); mControllers.add(new DeletedChannelsPreferenceController(context, mBackend)); mControllers.add(new ChannelListPreferenceController(context, mBackend)); mControllers.add(new AppConversationListPreferenceController(context, mBackend)); mControllers.add(new InvalidConversationInfoPreferenceController(context, mBackend)); mControllers.add(new InvalidConversationPreferenceController(context, mBackend)); mControllers.add(new BubbleSummaryPreferenceController(context, mBackend)); mControllers.add(new NotificationsOffPreferenceController(context)); mControllers.add(new DeletedChannelsPreferenceController(context, mBackend)); return new ArrayList<>(mControllers); } }
src/com/android/settings/notification/app/BadgePreferenceController.java +8 −1 Original line number Diff line number Diff line Loading @@ -62,9 +62,16 @@ public class BadgePreferenceController extends NotificationPreferenceController if (isDefaultChannel()) { return true; } else { return mAppRow == null ? false : mAppRow.showBadge; return mAppRow == null ? false : mAppRow.channelCount == 0 ? false : mAppRow.showBadge; } } if (mAppRow.channelCount == 0) { return false; } return true; } Loading
src/com/android/settings/notification/app/DescriptionPreferenceController.javadeleted 100644 → 0 +0 −73 Original line number Diff line number Diff line /* * Copyright (C) 2017 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.app; import android.content.Context; import android.text.TextUtils; import androidx.preference.Preference; import com.android.settings.core.PreferenceControllerMixin; public class DescriptionPreferenceController extends NotificationPreferenceController implements PreferenceControllerMixin { private static final String KEY_DESC = "desc"; public DescriptionPreferenceController(Context context) { super(context, null); } @Override public String getPreferenceKey() { return KEY_DESC; } @Override public boolean isAvailable() { if (!super.isAvailable()) { return false; } if (mChannel == null && !hasValidGroup()) { return false; } if (mChannel != null && !TextUtils.isEmpty(mChannel.getDescription())) { return true; } if (hasValidGroup() && !TextUtils.isEmpty(mChannelGroup.getDescription())) { return true; } return false; } @Override boolean isIncludedInFilter() { return false; } public void updateState(Preference preference) { if (mAppRow != null) { if (mChannel != null) { preference.setTitle(mChannel.getDescription()); } else if (hasValidGroup()) { preference.setTitle(mChannelGroup.getDescription()); } } preference.setEnabled(false); preference.setSelectable(false); } }
tests/robotests/src/com/android/settings/notification/app/BadgePreferenceControllerTest.java +28 −1 Original line number Diff line number Diff line Loading @@ -97,6 +97,7 @@ public class BadgePreferenceControllerTest { @Test public void testIsAvailable_notIfAppBlocked() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.channelCount = 1; appRow.banned = true; mController.onResume(appRow, mock(NotificationChannel.class), null, null, null, null, null); assertFalse(mController.isAvailable()); Loading @@ -105,6 +106,7 @@ public class BadgePreferenceControllerTest { @Test public void testIsAvailable_notIfChannelBlocked() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.channelCount = 1; NotificationChannel channel = mock(NotificationChannel.class); when(channel.getImportance()).thenReturn(IMPORTANCE_NONE); mController.onResume(appRow, channel, null, null, null, null, null); Loading @@ -114,6 +116,7 @@ public class BadgePreferenceControllerTest { @Test public void testIsAvailable_channel_notIfAppOff() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.channelCount = 1; appRow.showBadge = false; NotificationChannel channel = mock(NotificationChannel.class); when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH); Loading @@ -125,6 +128,7 @@ public class BadgePreferenceControllerTest { @Test public void testIsAvailable_notIfOffGlobally() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.channelCount = 1; NotificationChannel channel = mock(NotificationChannel.class); when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH); mController.onResume(appRow, channel, null, null, null, null, null); Loading @@ -136,16 +140,28 @@ public class BadgePreferenceControllerTest { @Test public void testIsAvailable_app() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.channelCount = 1; mController.onResume(appRow, null, null, null, null, null, null); Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_BADGING, 1); assertTrue(mController.isAvailable()); } @Test public void testIsAvailable_appNoChannels() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.channelCount = 0; mController.onResume(appRow, null, null, null, null, null, null); Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_BADGING, 1); assertFalse(mController.isAvailable()); } @Test public void testIsAvailable_defaultChannel() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = true; appRow.channelCount = 1; NotificationChannel channel = mock(NotificationChannel.class); when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH); when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID); Loading @@ -159,6 +175,7 @@ public class BadgePreferenceControllerTest { public void testIsAvailable_channel() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = true; appRow.channelCount = 1; NotificationChannel channel = mock(NotificationChannel.class); when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH); mController.onResume(appRow, channel, null, null, null, null, null); Loading @@ -183,6 +200,7 @@ public class BadgePreferenceControllerTest { public void testIsAvailable_filteredOut() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = true; appRow.channelCount = 1; NotificationChannel channel = mock(NotificationChannel.class); when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH); mController.onResume(appRow, channel, null, null, null, null, new ArrayList<>()); Loading @@ -195,6 +213,7 @@ public class BadgePreferenceControllerTest { public void testIsAvailable_filteredIn() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = true; appRow.channelCount = 1; NotificationChannel channel = mock(NotificationChannel.class); when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH); mController.onResume(appRow, channel, null, null, null, null, Loading @@ -206,9 +225,11 @@ public class BadgePreferenceControllerTest { @Test public void testUpdateState_disabledByAdmin() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.channelCount = 1; NotificationChannel channel = mock(NotificationChannel.class); when(channel.getId()).thenReturn("something"); mController.onResume(new NotificationBackend.AppRow(), channel, null, mController.onResume(appRow, channel, null, null, null, mock(RestrictedLockUtils.EnforcedAdmin.class), null); Preference pref = new RestrictedSwitchPreference(mContext); Loading @@ -220,6 +241,7 @@ public class BadgePreferenceControllerTest { @Test public void testUpdateState_channel() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.channelCount = 1; NotificationChannel channel = mock(NotificationChannel.class); when(channel.canShowBadge()).thenReturn(true); mController.onResume(appRow, channel, null, null, null, null, null); Loading @@ -240,6 +262,7 @@ public class BadgePreferenceControllerTest { public void testUpdateState_app() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = true; appRow.channelCount = 1; mController.onResume(appRow, null, null, null, null, null, null); RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext); Loading @@ -257,6 +280,7 @@ public class BadgePreferenceControllerTest { public void testOnPreferenceChange_on_channel() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = true; appRow.channelCount = 1; NotificationChannel channel = new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_LOW); channel.setShowBadge(false); Loading @@ -276,6 +300,7 @@ public class BadgePreferenceControllerTest { public void testOnPreferenceChange_off_channel() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = true; appRow.channelCount = 1; NotificationChannel channel = new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH); channel.setShowBadge(true); Loading @@ -295,6 +320,7 @@ public class BadgePreferenceControllerTest { public void testOnPreferenceChange_on_app() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = false; appRow.channelCount = 1; mController.onResume(appRow, null, null, null, null, null, null); RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext); Loading @@ -312,6 +338,7 @@ public class BadgePreferenceControllerTest { public void testOnPreferenceChange_off_app() { NotificationBackend.AppRow appRow = new NotificationBackend.AppRow(); appRow.showBadge = true; appRow.channelCount = 1; mController.onResume(appRow, null, null, null, null, null, null); RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext); Loading