Loading src/com/android/settings/NotificationAccessSettings.java +21 −9 Original line number Diff line number Diff line Loading @@ -195,13 +195,26 @@ public class NotificationAccessSettings extends ListFragment { } void updateList() { mList.clear(); loadEnabledListeners(); getListeners(mList, mPM); mList.sort(new PackageItemInfo.DisplayNameComparator(mPM)); getListView().setAdapter(mList); } static int getListenersCount(PackageManager pm) { return getListeners(null, pm); } private static int getListeners(ArrayAdapter<ServiceInfo> adapter, PackageManager pm) { int listeners = 0; if (adapter != null) { adapter.clear(); } final int user = ActivityManager.getCurrentUser(); List<ResolveInfo> installedServices = mPM.queryIntentServicesAsUser( List<ResolveInfo> installedServices = pm.queryIntentServicesAsUser( new Intent(NotificationListenerService.SERVICE_INTERFACE), PackageManager.GET_SERVICES | PackageManager.GET_META_DATA, user); Loading @@ -218,13 +231,12 @@ public class NotificationAccessSettings extends ListFragment { + android.Manifest.permission.BIND_NOTIFICATION_LISTENER_SERVICE); continue; } mList.add(info); if (adapter != null) { adapter.add(info); } mList.sort(new PackageItemInfo.DisplayNameComparator(mPM)); getListView().setAdapter(mList); listeners++; } return listeners; } boolean isListenerEnabled(ServiceInfo info) { Loading src/com/android/settings/SecuritySettings.java +19 −8 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ public class SecuritySettings extends SettingsPreferenceFragment private static final String KEY_NOTIFICATION_ACCESS = "manage_notification_access"; private static final String PACKAGE_MIME_TYPE = "application/vnd.android.package-archive"; private PackageManager mPM; DevicePolicyManager mDPM; private ChooseLockSettingsHelper mChooseLockSettingsHelper; Loading Loading @@ -111,6 +112,7 @@ public class SecuritySettings extends SettingsPreferenceFragment mLockPatternUtils = new LockPatternUtils(getActivity()); mPM = getActivity().getPackageManager(); mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); mChooseLockSettingsHelper = new ChooseLockSettingsHelper(getActivity()); Loading Loading @@ -281,8 +283,15 @@ public class SecuritySettings extends SettingsPreferenceFragment } } final int n = getNumEnabledNotificationListeners(); mNotificationAccess = findPreference(KEY_NOTIFICATION_ACCESS); if (mNotificationAccess != null) { final int total = NotificationAccessSettings.getListenersCount(mPM); if (total == 0) { if (deviceAdminCategory != null) { deviceAdminCategory.removePreference(mNotificationAccess); } } else { final int n = getNumEnabledNotificationListeners(); if (n == 0) { mNotificationAccess.setSummary(getResources().getString( R.string.manage_notification_access_summary_zero)); Loading @@ -291,6 +300,8 @@ public class SecuritySettings extends SettingsPreferenceFragment R.plurals.manage_notification_access_summary_nonzero, n, n))); } } } return root; } Loading Loading
src/com/android/settings/NotificationAccessSettings.java +21 −9 Original line number Diff line number Diff line Loading @@ -195,13 +195,26 @@ public class NotificationAccessSettings extends ListFragment { } void updateList() { mList.clear(); loadEnabledListeners(); getListeners(mList, mPM); mList.sort(new PackageItemInfo.DisplayNameComparator(mPM)); getListView().setAdapter(mList); } static int getListenersCount(PackageManager pm) { return getListeners(null, pm); } private static int getListeners(ArrayAdapter<ServiceInfo> adapter, PackageManager pm) { int listeners = 0; if (adapter != null) { adapter.clear(); } final int user = ActivityManager.getCurrentUser(); List<ResolveInfo> installedServices = mPM.queryIntentServicesAsUser( List<ResolveInfo> installedServices = pm.queryIntentServicesAsUser( new Intent(NotificationListenerService.SERVICE_INTERFACE), PackageManager.GET_SERVICES | PackageManager.GET_META_DATA, user); Loading @@ -218,13 +231,12 @@ public class NotificationAccessSettings extends ListFragment { + android.Manifest.permission.BIND_NOTIFICATION_LISTENER_SERVICE); continue; } mList.add(info); if (adapter != null) { adapter.add(info); } mList.sort(new PackageItemInfo.DisplayNameComparator(mPM)); getListView().setAdapter(mList); listeners++; } return listeners; } boolean isListenerEnabled(ServiceInfo info) { Loading
src/com/android/settings/SecuritySettings.java +19 −8 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ public class SecuritySettings extends SettingsPreferenceFragment private static final String KEY_NOTIFICATION_ACCESS = "manage_notification_access"; private static final String PACKAGE_MIME_TYPE = "application/vnd.android.package-archive"; private PackageManager mPM; DevicePolicyManager mDPM; private ChooseLockSettingsHelper mChooseLockSettingsHelper; Loading Loading @@ -111,6 +112,7 @@ public class SecuritySettings extends SettingsPreferenceFragment mLockPatternUtils = new LockPatternUtils(getActivity()); mPM = getActivity().getPackageManager(); mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); mChooseLockSettingsHelper = new ChooseLockSettingsHelper(getActivity()); Loading Loading @@ -281,8 +283,15 @@ public class SecuritySettings extends SettingsPreferenceFragment } } final int n = getNumEnabledNotificationListeners(); mNotificationAccess = findPreference(KEY_NOTIFICATION_ACCESS); if (mNotificationAccess != null) { final int total = NotificationAccessSettings.getListenersCount(mPM); if (total == 0) { if (deviceAdminCategory != null) { deviceAdminCategory.removePreference(mNotificationAccess); } } else { final int n = getNumEnabledNotificationListeners(); if (n == 0) { mNotificationAccess.setSummary(getResources().getString( R.string.manage_notification_access_summary_zero)); Loading @@ -291,6 +300,8 @@ public class SecuritySettings extends SettingsPreferenceFragment R.plurals.manage_notification_access_summary_nonzero, n, n))); } } } return root; } Loading