Notification listeners can be enabled in Settings>Security.
Also known as android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS. Bug: 8454150 Change-Id: I0c2433bf58ba4c78cd461326bd014535c7f67578
This commit is contained in:
committed by
Android (Google) Code Review
parent
e44f5e2bd6
commit
79b9bfe56e
@@ -79,6 +79,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
||||
private static final String KEY_TOGGLE_VERIFY_APPLICATIONS = "toggle_verify_applications";
|
||||
private static final String KEY_POWER_INSTANTLY_LOCKS = "power_button_instantly_locks";
|
||||
private static final String KEY_CREDENTIALS_MANAGER = "credentials_management";
|
||||
private static final String KEY_NOTIFICATION_ACCESS = "manage_notification_access";
|
||||
private static final String PACKAGE_MIME_TYPE = "application/vnd.android.package-archive";
|
||||
|
||||
DevicePolicyManager mDPM;
|
||||
@@ -100,6 +101,8 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
||||
private CheckBoxPreference mToggleVerifyApps;
|
||||
private CheckBoxPreference mPowerButtonInstantlyLocks;
|
||||
|
||||
private Preference mNotificationAccess;
|
||||
|
||||
private boolean mIsPrimary;
|
||||
|
||||
@Override
|
||||
@@ -283,9 +286,28 @@ 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)));
|
||||
}
|
||||
|
||||
return root;
|
||||
}
|
||||
|
||||
private int getNumEnabledNotificationListeners() {
|
||||
final String flat = Settings.Secure.getString(getContentResolver(),
|
||||
Settings.Secure.ENABLED_NOTIFICATION_LISTENERS);
|
||||
if (flat == null || "".equals(flat)) return 0;
|
||||
final String[] components = flat.split(":");
|
||||
return components.length;
|
||||
}
|
||||
|
||||
private boolean isNonMarketAppsAllowed() {
|
||||
return Settings.Global.getInt(getContentResolver(),
|
||||
Settings.Global.INSTALL_NON_MARKET_APPS, 0) > 0;
|
||||
|
||||
Reference in New Issue
Block a user