Можно ли расширить публичный абстрактный класс UiObject2Condition ?
Делая таким образом
class NoChildCondition: UiObject2Condition<Boolean>() {
override fun apply(obj: UiObject2?): Boolean {
return obj?.childCount == 0
}
}
вызывает ошибку: public open fun apply(obj: UiObject2?): Boolean defined in circlecomplete.ciom.uitests.NoChildCondition' has no access to 'public/*package*/ abstract fun apply(p0: UiObject2!): Boolean! defined in androidx.test.uiautomator.UiObject2Condition', so it cannot override it
.
Обратите внимание, что UiObject2Condition
является пустым подклассом androidx.test.uiautomator.Condition<UiObject2, R>
и Condition
не является общедоступным.
Реализация метода apply
вызывает ошибку компиляции. Не реализует его, компилирует, но вызывает ошибку во время выполнения.
Версия UIAumatmator: 2.2.0
UiObject2Conconcompilation:
package androidx.test.uiautomator;
public abstract class UiObject2Condition<R> extends Condition<UiObject2, R> {
public UiObject2Condition() {
}
}
Условие декомпиляции:
package androidx.test.uiautomator;
abstract class Condition<T, R> {
Condition() {
}
abstract R apply(T var1);
}