@@ -220,8 +220,13 @@ data class RawSubscription(
220220 val action: String?
221221 val position: Position ?
222222 val matches: List <String >?
223- val excludeMatches: List <String >?
224223 val anyMatches: List <String >?
224+ val excludeMatches: List <String >?
225+ val excludeAllMatches: List <String >?
226+
227+ fun getAllSelectorStrings (): List <String > {
228+ return listOfNotNull(matches, excludeMatches, anyMatches, excludeAllMatches).flatten()
229+ }
225230 }
226231
227232 sealed interface RawGroupProps : RawCommonProps {
@@ -376,6 +381,7 @@ data class RawSubscription(
376381 override val position : Position ? ,
377382 override val matches : List <String >? ,
378383 override val excludeMatches : List <String >? ,
384+ override val excludeAllMatches : List <String >? ,
379385 override val anyMatches : List <String >? ,
380386 override val matchAnyApp : Boolean? ,
381387 override val matchSystemApp : Boolean? ,
@@ -435,6 +441,7 @@ data class RawSubscription(
435441 override val position : Position ? ,
436442 override val matches : List <String >? ,
437443 override val excludeMatches : List <String >? ,
444+ override val excludeAllMatches : List <String >? ,
438445 override val anyMatches : List <String >? ,
439446
440447 override val actionCdKey : Int? ,
@@ -468,7 +475,7 @@ data class RawSubscription(
468475
469476 private fun RawGroupProps.getErrorDesc (): String? {
470477 val allSelectorStrings = rules.map { r ->
471- listOfNotNull(r.matches, r.excludeMatches, r.anyMatches).flatten ()
478+ r.getAllSelectorStrings ()
472479 }.flatten()
473480 allSelectorStrings.forEach { source ->
474481 try {
@@ -650,6 +657,7 @@ data class RawSubscription(
650657 excludeActivityIds = getStringIArray(jsonObject, " excludeActivityIds" ),
651658 matches = getStringIArray(jsonObject, " matches" ),
652659 excludeMatches = getStringIArray(jsonObject, " excludeMatches" ),
660+ excludeAllMatches = getStringIArray(jsonObject, " excludeAllMatches" ),
653661 anyMatches = getStringIArray(jsonObject, " anyMatches" ),
654662 key = getInt(jsonObject, " key" ),
655663 name = getString(jsonObject, " name" ),
@@ -788,6 +796,7 @@ data class RawSubscription(
788796 action = getString(jsonObject, " action" ),
789797 preKeys = getIntIArray(jsonObject, " preKeys" ),
790798 excludeMatches = getStringIArray(jsonObject, " excludeMatches" ),
799+ excludeAllMatches = getStringIArray(jsonObject, " excludeAllMatches" ),
791800 matches = getStringIArray(jsonObject, " matches" ),
792801 anyMatches = getStringIArray(jsonObject, " anyMatches" ),
793802 order = getInt(jsonObject, " order" ),
0 commit comments