summaryrefslogtreecommitdiff
path: root/Settings/src/com/android/tv/settings/device/apps/specialaccess/NotificationAccess.java
diff options
context:
space:
mode:
Diffstat (limited to 'Settings/src/com/android/tv/settings/device/apps/specialaccess/NotificationAccess.java')
-rw-r--r--Settings/src/com/android/tv/settings/device/apps/specialaccess/NotificationAccess.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/Settings/src/com/android/tv/settings/device/apps/specialaccess/NotificationAccess.java b/Settings/src/com/android/tv/settings/device/apps/specialaccess/NotificationAccess.java
index 2caef3d1d..df13211d6 100644
--- a/Settings/src/com/android/tv/settings/device/apps/specialaccess/NotificationAccess.java
+++ b/Settings/src/com/android/tv/settings/device/apps/specialaccess/NotificationAccess.java
@@ -49,6 +49,8 @@ import java.util.List;
public class NotificationAccess extends SettingsPreferenceFragment {
private static final String TAG = "NotificationAccess";
+ private static final int MAX_CN_LENGTH = 500;
+
private static final String HEADER_KEY = "header";
private static final String DEFAULT_PACKAGES_SEPARATOR = ":";
@@ -76,6 +78,12 @@ public class NotificationAccess extends SettingsPreferenceFragment {
.setIntentAction(NotificationListenerService.SERVICE_INTERFACE)
.setPermission(android.Manifest.permission.BIND_NOTIFICATION_LISTENER_SERVICE)
.setNoun("notification listener")
+ .setValidator(info -> {
+ if (info.getComponentName().flattenToString().length() > MAX_CN_LENGTH) {
+ return false;
+ }
+ return true;
+ })
.build();
mServiceListing.addCallback(this::updateList);
}