fix(autojs): screen request activity memory leak

fix(autojs): idStartsWith not working
This commit is contained in:
hyb1996
2018-04-25 15:53:04 +08:00
parent c488e9ccbb
commit 55f2e7b20a
15 changed files with 129 additions and 103 deletions

View File

@@ -8,7 +8,11 @@ import java.util.List;
* Created by Stardust on 2017/3/9.
*/
public class IdFilter extends ListFilter.Default {
public class IdFilter {
public interface FullIdGetter {
String getFullId(String id);
}
private static final KeyGetter ID_GETTER = new KeyGetter() {
@@ -26,7 +30,6 @@ public class IdFilter extends ListFilter.Default {
public static StringEqualsFilter equals(String id) {
return new StringEqualsFilter(id, ID_GETTER);
}
public static StringStartsWithFilter startsWith(String prefix) {
return new StringStartsWithFilter(prefix, ID_GETTER);
}
@@ -43,16 +46,4 @@ public class IdFilter extends ListFilter.Default {
return new StringMatchesFilter(regex, ID_GETTER);
}
private String mId;
private IdFilter(String id) {
mId = id;
}
@Override
public List<UiObject> filter(UiObject node) {
return node.findByViewId(mId);
}
}

View File

@@ -8,11 +8,11 @@ import com.stardust.automator.UiObject;
public class StringEqualsFilter extends DfsFilter {
private String mText;
private String mValue;
private KeyGetter mKeyGetter;
public StringEqualsFilter(String text, KeyGetter getter) {
mText = text;
public StringEqualsFilter(String value, KeyGetter getter) {
mValue = value;
mKeyGetter = getter;
}
@@ -20,13 +20,13 @@ public class StringEqualsFilter extends DfsFilter {
protected boolean isIncluded(UiObject nodeInfo) {
String key = mKeyGetter.getKey(nodeInfo);
if (key != null) {
return key.equals(mText);
return key.equals(mValue);
}
return false;
}
@Override
public String toString() {
return mKeyGetter.toString() + "(\"" + mText + "\")";
return mKeyGetter.toString() + "(\"" + mValue + "\")";
}
}