From 8992b465f562612e3cbd97ead63243ab498b08e2 Mon Sep 17 00:00:00 2001 From: Nataniel Borges Date: Thu, 2 Feb 2023 11:01:48 +0000 Subject: [PATCH] Use regex for winscope filters Bug: 265666404 Test: run winscope and test the filters Change-Id: I7db71e880a196203e5c7592704fa777781d20d28 --- tools/winscope/src/common/tree_utils.ts | 18 ++---------------- tools/winscope/src/viewers/common/ime_utils.ts | 2 +- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/tools/winscope/src/common/tree_utils.ts b/tools/winscope/src/common/tree_utils.ts index 7f3fdbe6a..e31047d5b 100644 --- a/tools/winscope/src/common/tree_utils.ts +++ b/tools/winscope/src/common/tree_utils.ts @@ -53,25 +53,11 @@ class TreeUtils { } static makeNodeFilter(filterString: string): FilterType { - const filterStrings = filterString.split(','); - const positive: any[] = []; - const negative: any[] = []; - filterStrings.forEach((f) => { - f = f.trim(); - if (f.startsWith('!')) { - const regex = new RegExp(f.substring(1), 'i'); - negative.push((s: any) => !regex.test(s)); - } else { - const regex = new RegExp(f, 'i'); - positive.push((s: any) => regex.test(s)); - } - }); const filter = (item: TreeNode | undefined | null) => { if (item) { - const apply = (f: any) => f(`${item.name}`); + const regex = new RegExp(filterString, 'i'); return ( - (positive.length === 0 || positive.some(apply)) && - (negative.length === 0 || negative.every(apply)) + (filterString.length === 0 || regex.test(`${item.name}`)) ); } return false; diff --git a/tools/winscope/src/viewers/common/ime_utils.ts b/tools/winscope/src/viewers/common/ime_utils.ts index b63e72dae..027da4d4a 100644 --- a/tools/winscope/src/viewers/common/ime_utils.ts +++ b/tools/winscope/src/viewers/common/ime_utils.ts @@ -129,7 +129,7 @@ class ImeUtils { return undefined; } - const isTaskLayer = TreeUtils.makeNodeFilter('Task, ImePlaceholder'); + const isTaskLayer = TreeUtils.makeNodeFilter('Task|ImePlaceholder'); const taskLayer = TreeUtils.findAncestorNode(imeLayer, isTaskLayer) as Layer; if (!taskLayer) { return undefined;