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
This commit is contained in:
Chloris Kuo
2022-08-09 13:30:55 -07:00
parent e530a17247
commit 26ce9a98f0
2 changed files with 6 additions and 1 deletions

View File

@@ -107,7 +107,6 @@ public class ConfigureNotificationSettings extends DashboardFragment implements
mNotificationAssistantPreferenceController = mNotificationAssistantPreferenceController =
use(NotificationAssistantPreferenceController.class); use(NotificationAssistantPreferenceController.class);
mNotificationAssistantPreferenceController.setFragment(this); mNotificationAssistantPreferenceController.setFragment(this);
mNotificationAssistantPreferenceController.setBackend(new NotificationBackend());
} }
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context, private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,

View File

@@ -43,6 +43,7 @@ public class NotificationAssistantPreferenceController extends TogglePreferenceC
public NotificationAssistantPreferenceController(Context context) { public NotificationAssistantPreferenceController(Context context) {
super(context, KEY_NAS); super(context, KEY_NAS);
mUserManager = UserManager.get(context); mUserManager = UserManager.get(context);
mNotificationBackend = new NotificationBackend();
} }
@Override @Override
@@ -100,4 +101,9 @@ public class NotificationAssistantPreferenceController extends TogglePreferenceC
void setBackend(NotificationBackend backend) { void setBackend(NotificationBackend backend) {
mNotificationBackend = backend; mNotificationBackend = backend;
} }
@Override
public boolean isSliceable() {
return (mFragment != null && mFragment instanceof ConfigureNotificationSettings);
}
} }