fix: generated selector code is wrong for exists and waitFor
This commit is contained in:
@@ -126,7 +126,7 @@ public class CodeGenerateDialog extends ThemeColorMaterialDialogBuilder {
|
|||||||
if (selectMode.getOption(R.string.text_wait_for).checked) {
|
if (selectMode.getOption(R.string.text_wait_for).checked) {
|
||||||
return CodeGenerator.WAIT_FOR;
|
return CodeGenerator.WAIT_FOR;
|
||||||
}
|
}
|
||||||
if (selectMode.getOption(R.string.text_wait_for).checked) {
|
if (selectMode.getOption(R.string.text_selector_exists).checked) {
|
||||||
return CodeGenerator.EXISTS;
|
return CodeGenerator.EXISTS;
|
||||||
}
|
}
|
||||||
return CodeGenerator.FIND_ONE;
|
return CodeGenerator.FIND_ONE;
|
||||||
|
|||||||
@@ -66,15 +66,12 @@ public class CodeGenerator {
|
|||||||
generator.setUsingDesc(mUsingDesc);
|
generator.setUsingDesc(mUsingDesc);
|
||||||
generator.setUsingId(mUsingId);
|
generator.setUsingId(mUsingId);
|
||||||
generator.setUsingText(mUsingText);
|
generator.setUsingText(mUsingText);
|
||||||
String selector = generateCode(generator, mRoot, mTarget, 2, 2);
|
String selector = generateCode(generator, mRoot, mTarget, 2, 2, true);
|
||||||
if (selector == null)
|
if (selector == null)
|
||||||
return null;
|
return null;
|
||||||
return generateAction(selector);
|
return generateAction(selector);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String generateCode(UiSelectorGenerator generator, UiObject root, UiObject target, int maxParentLevel, int maxChildrenLevel) {
|
|
||||||
return generateCode(generator, root, target, maxParentLevel, maxChildrenLevel, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected String generateCode(UiSelectorGenerator generator, UiObject root, UiObject target, int maxParentLevel, int maxChildrenLevel, boolean withFind) {
|
protected String generateCode(UiSelectorGenerator generator, UiObject root, UiObject target, int maxParentLevel, int maxChildrenLevel, boolean withFind) {
|
||||||
String selector;
|
String selector;
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import com.stardust.util.Consumer;
|
|||||||
|
|
||||||
import static com.stardust.autojs.codegeneration.CodeGenerator.FIND_ONE;
|
import static com.stardust.autojs.codegeneration.CodeGenerator.FIND_ONE;
|
||||||
import static com.stardust.autojs.codegeneration.CodeGenerator.UNTIL_FIND;
|
import static com.stardust.autojs.codegeneration.CodeGenerator.UNTIL_FIND;
|
||||||
|
import static com.stardust.autojs.codegeneration.CodeGenerator.WAIT_FOR;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Stardust on 2017/12/7.
|
* Created by Stardust on 2017/12/7.
|
||||||
@@ -72,7 +73,13 @@ public class UiSelectorGenerator {
|
|||||||
if (selector == null) {
|
if (selector == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return selector + (mSearchMode == FIND_ONE ? ".findOne()" : ".untilFind()");
|
if (mSearchMode == FIND_ONE) {
|
||||||
|
return selector + ".findOne()";
|
||||||
|
} else if (mSearchMode == UNTIL_FIND) {
|
||||||
|
return selector + ".untilFind()";
|
||||||
|
} else {
|
||||||
|
return selector.toString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user