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>
This commit is contained in:
Chloris Kuo
2022-10-13 20:42:21 +00:00
committed by Automerger Merge Worker
2 changed files with 14 additions and 1 deletions

View File

@@ -141,7 +141,10 @@ public class NotificationAssistantPreferenceController extends TogglePreferenceC
@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

View File

@@ -226,4 +226,14 @@ public class NotificationAssistantPreferenceControllerTest {
.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());
}
}