Filter available notification assts

Test: manual
Bug: 127146476
Change-Id: I338e2154e6aced8a60b360c6f618c3f1b3afa338
diff --git a/src/com/android/settings/notification/NotificationAssistantPicker.java b/src/com/android/settings/notification/NotificationAssistantPicker.java
index 7720e6f..868e0a9 100644
--- a/src/com/android/settings/notification/NotificationAssistantPicker.java
+++ b/src/com/android/settings/notification/NotificationAssistantPicker.java
@@ -20,12 +20,15 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.pm.PackageItemInfo;
+import android.content.pm.PackageManager;
 import android.content.pm.ServiceInfo;
 import android.graphics.drawable.Drawable;
+import android.os.RemoteException;
 import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 import android.service.notification.NotificationAssistantService;
 import android.text.TextUtils;
+import android.util.Log;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
@@ -114,8 +117,12 @@
         List<CandidateInfo> list = new ArrayList<>();
         services.sort(new PackageItemInfo.DisplayNameComparator(mPm));
         for (ServiceInfo service : services) {
-            final ComponentName cn = new ComponentName(service.packageName, service.name);
-            list.add(new DefaultAppInfo(mContext, mPm, mUserId, cn));
+            if (mContext.getPackageManager().checkPermission(
+                    android.Manifest.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE,
+                    service.packageName) == PackageManager.PERMISSION_GRANTED) {
+                final ComponentName cn = new ComponentName(service.packageName, service.name);
+                list.add(new DefaultAppInfo(mContext, mPm, mUserId, cn));
+            }
         }
         list.add(new CandidateNone(mContext));
         mCandidateInfos = list;