Hide notification listeners setting if no listeners.

Hide the new notification listeners management setting when
no listeners using this API are available.

Bug: 8454150
Change-Id: Iae9f975e7b5a3cdf55ff7d0c6aea7e84166d53b3
This commit is contained in:
John Spurlock
2013-05-15 09:38:10 -04:00
parent 00dc15d9da
commit 55dbdf68f9
2 changed files with 40 additions and 17 deletions

View File

@@ -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;
@@ -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());
@@ -281,15 +283,24 @@ public class SecuritySettings extends SettingsPreferenceFragment
}
}
final int n = getNumEnabledNotificationListeners();
mNotificationAccess = findPreference(KEY_NOTIFICATION_ACCESS);
if (n == 0) {
mNotificationAccess.setSummary(getResources().getString(
R.string.manage_notification_access_summary_zero));
} else {
mNotificationAccess.setSummary(String.format(getResources().getQuantityString(
R.plurals.manage_notification_access_summary_nonzero,
n, n)));
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));
} else {
mNotificationAccess.setSummary(String.format(getResources().getQuantityString(
R.plurals.manage_notification_access_summary_nonzero,
n, n)));
}
}
}
return root;