Update Bridged app link when NLS access changes
Test: BridgedAppsLinkPreferenceControllerTest Test: manual; turn an NLS on/off, verify correct disabled state for fields Fixes: 240461761 Change-Id: Ib5a5365f7477c2a8d620ced2af96ace364b292e2
This commit is contained in:
@@ -18,10 +18,11 @@ import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.service.notification.NotificationListenerFilter;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.notification.NotificationBackend;
|
||||
|
||||
|
||||
public class BridgedAppsLinkPreferenceController extends BasePreferenceController {
|
||||
|
||||
private ComponentName mCn;
|
||||
@@ -61,7 +62,6 @@ public class BridgedAppsLinkPreferenceController extends BasePreferenceControlle
|
||||
if (mTargetSdk > Build.VERSION_CODES.S) {
|
||||
return AVAILABLE;
|
||||
}
|
||||
|
||||
mNlf = mNm.getListenerFilter(mCn, mUserId);
|
||||
if (!mNlf.areAllTypesAllowed() || !mNlf.getDisallowedPackages().isEmpty()) {
|
||||
return AVAILABLE;
|
||||
@@ -69,4 +69,10 @@ public class BridgedAppsLinkPreferenceController extends BasePreferenceControlle
|
||||
}
|
||||
return DISABLED_DEPENDENT_SETTING;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateState(Preference pref) {
|
||||
pref.setEnabled(getAvailabilityStatus() == AVAILABLE);
|
||||
super.updateState(pref);
|
||||
}
|
||||
}
|
||||
|
@@ -233,11 +233,7 @@ public class NotificationAccessDetails extends DashboardFragment {
|
||||
apc.updateState(screen.findPreference(apc.getPreferenceKey()));
|
||||
getPreferenceControllers().forEach(controllers -> {
|
||||
controllers.forEach(controller -> {
|
||||
if (controller instanceof TypeFilterPreferenceController) {
|
||||
TypeFilterPreferenceController tfpc =
|
||||
(TypeFilterPreferenceController) controller;
|
||||
tfpc.updateState(screen.findPreference(tfpc.getPreferenceKey()));
|
||||
}
|
||||
controller.updateState(screen.findPreference(controller.getPreferenceKey()));
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -249,11 +245,7 @@ public class NotificationAccessDetails extends DashboardFragment {
|
||||
apc.updateState(screen.findPreference(apc.getPreferenceKey()));
|
||||
getPreferenceControllers().forEach(controllers -> {
|
||||
controllers.forEach(controller -> {
|
||||
if (controller instanceof TypeFilterPreferenceController) {
|
||||
TypeFilterPreferenceController tfpc =
|
||||
(TypeFilterPreferenceController) controller;
|
||||
tfpc.updateState(screen.findPreference(tfpc.getPreferenceKey()));
|
||||
}
|
||||
controller.updateState(screen.findPreference(controller.getPreferenceKey()));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user