Use package name to check for notification listener.
Change-Id: I37fd7586f7a85895f78a4ec6036a3de4b759175a
Merged-In: I37fd7586f7a85895f78a4ec6036a3de4b759175a
Fix: 123702407
Test: manual, verified with logs
# Conflicts:
# car-assist-client-lib/src/com/android/car/assist/client/CarAssistUtils.java
diff --git a/car-assist-client-lib/src/com/android/car/assist/client/CarAssistUtils.java b/car-assist-client-lib/src/com/android/car/assist/client/CarAssistUtils.java
index 97ce35f..39b66a3 100644
--- a/car-assist-client-lib/src/com/android/car/assist/client/CarAssistUtils.java
+++ b/car-assist-client-lib/src/com/android/car/assist/client/CarAssistUtils.java
@@ -103,11 +103,21 @@
public boolean assistantIsNotificationListener() {
final String activeComponent = mAssistUtils.getActiveServiceComponentName()
.flattenToString();
+ int slashIndex = activeComponent.indexOf("/");
+ final String activePackage = activeComponent.substring(0, slashIndex);
+
final String listeners = Settings.Secure.getString(mContext.getContentResolver(),
Settings.Secure.ENABLED_NOTIFICATION_LISTENERS);
- return listeners != null
- && Arrays.asList(listeners.split(":")).contains(activeComponent);
+ if (listeners != null) {
+ for (String listener : Arrays.asList(listeners.split(":"))) {
+ if (listener.contains(activePackage)) {
+ return true;
+ }
+ }
+ }
+
+ return false;
}
/**