From 359929732d18d37fcebb50f176197c499fe9ae8f Mon Sep 17 00:00:00 2001 From: Chloris Kuo Date: Tue, 9 Aug 2022 13:30:55 -0700 Subject: [PATCH] Fix settings crash when enhanced notification shown in search results init NotificationBackend in constructor and set isSliceable to false in search result since the NAS enabling logic is required and is in the parent fragment ConfigureNotificationSettings. Bug: 237251075 Test: test manually on device Change-Id: I9082d6eda27784cf378a0d06304b5fc1e2ae6d7f (cherry picked from commit 26ce9a98f0b4d8bff96e9225abe49466473cf4fc) --- .../notification/ConfigureNotificationSettings.java | 1 - .../NotificationAssistantPreferenceController.java | 8 +++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/notification/ConfigureNotificationSettings.java b/src/com/android/settings/notification/ConfigureNotificationSettings.java index f888ea7c8e0..19222612f3a 100644 --- a/src/com/android/settings/notification/ConfigureNotificationSettings.java +++ b/src/com/android/settings/notification/ConfigureNotificationSettings.java @@ -107,7 +107,6 @@ public class ConfigureNotificationSettings extends DashboardFragment implements mNotificationAssistantPreferenceController = use(NotificationAssistantPreferenceController.class); mNotificationAssistantPreferenceController.setFragment(this); - mNotificationAssistantPreferenceController.setBackend(new NotificationBackend()); } private static List buildPreferenceControllers(Context context, diff --git a/src/com/android/settings/notification/NotificationAssistantPreferenceController.java b/src/com/android/settings/notification/NotificationAssistantPreferenceController.java index 91031c8e4de..a6179e5306f 100644 --- a/src/com/android/settings/notification/NotificationAssistantPreferenceController.java +++ b/src/com/android/settings/notification/NotificationAssistantPreferenceController.java @@ -44,6 +44,7 @@ public class NotificationAssistantPreferenceController extends TogglePreferenceC public NotificationAssistantPreferenceController(Context context) { super(context, KEY_NAS); mUserManager = UserManager.get(context); + mNotificationBackend = new NotificationBackend(); } @Override @@ -101,4 +102,9 @@ public class NotificationAssistantPreferenceController extends TogglePreferenceC void setBackend(NotificationBackend backend) { mNotificationBackend = backend; } -} \ No newline at end of file + + @Override + public boolean isSliceable() { + return (mFragment != null && mFragment instanceof ConfigureNotificationSettings); + } +}