Disable Enhanced notifications setting when default NAS is not available am: 236eaed326

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20188999

Change-Id: I68d337b4d5b947a7e0af817cb0c76039df18dbf8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/src/com/android/settings/notification/NotificationAssistantPreferenceController.java b/src/com/android/settings/notification/NotificationAssistantPreferenceController.java
index 2c02db9..ee36273 100644
--- a/src/com/android/settings/notification/NotificationAssistantPreferenceController.java
+++ b/src/com/android/settings/notification/NotificationAssistantPreferenceController.java
@@ -141,7 +141,10 @@
     @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
-        if (isNASSettingActivityAvailable()) {
+        if (mDefaultNASComponent == null) {
+            preference.setEnabled(false);
+            ((PrimarySwitchPreference) preference).setSwitchEnabled(false);
+        } else if (isNASSettingActivityAvailable()) {
             preference.setIntent(mNASSettingIntent);
         } else {
             // Cannot find settings activity from the default NAS app
diff --git a/tests/robotests/src/com/android/settings/notification/NotificationAssistantPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/NotificationAssistantPreferenceControllerTest.java
index b594667..1dac399 100644
--- a/tests/robotests/src/com/android/settings/notification/NotificationAssistantPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/NotificationAssistantPreferenceControllerTest.java
@@ -226,4 +226,14 @@
                 .setNASMigrationDoneAndResetDefault(eq(10), anyBoolean());
     }
 
+    @Test
+    public void testNASUnavailable_settingDisabled() throws Exception {
+        when(mBackend.getDefaultNotificationAssistant()).thenReturn(null);
+        mPreferenceController.getDefaultNASIntent();
+        mPreferenceController.updateState(mPreference);
+
+        verify(mPreference, times(1)).setSwitchEnabled(eq(false));
+        assertFalse(mPreference.isEnabled());
+    }
+
 }