diff --git a/build.gradle b/build.gradle
index db49632fd..9ebb33a3f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -112,6 +112,7 @@ checkstyle {
javadoc {
options.addStringOption('encoding', 'UTF-8')
+ options.addBooleanOption('Xwerror', true)
}
ext.configureCommonPom = { MavenPom pom ->
diff --git a/config/checkstyle/appium-style.xml b/config/checkstyle/appium-style.xml
index 6521c6a64..412a72bc7 100755
--- a/config/checkstyle/appium-style.xml
+++ b/config/checkstyle/appium-style.xml
@@ -174,9 +174,7 @@
-
-
-
+
diff --git a/selenium-bridge/build.gradle b/selenium-bridge/build.gradle
index 7744b920f..9ae7e9a08 100644
--- a/selenium-bridge/build.gradle
+++ b/selenium-bridge/build.gradle
@@ -58,6 +58,7 @@ checkstyle {
javadoc {
options.addStringOption('encoding', 'UTF-8')
+ options.addBooleanOption('Xwerror', true)
}
publishing {
diff --git a/src/main/java/io/appium/java_client/AppiumBy.java b/src/main/java/io/appium/java_client/AppiumBy.java
index a7547d85b..0874769ce 100644
--- a/src/main/java/io/appium/java_client/AppiumBy.java
+++ b/src/main/java/io/appium/java_client/AppiumBy.java
@@ -32,6 +32,9 @@
import static io.appium.java_client.internal.Strings.isNullOrEmpty;
+/**
+ * The base class of the locator strategies supported by Appium.
+ */
@EqualsAndHashCode(callSuper = true)
public abstract class AppiumBy extends By implements Remotable {
@@ -39,6 +42,13 @@ public abstract class AppiumBy extends By implements Remotable {
private final Parameters remoteParameters;
private final String locatorName;
+ /**
+ * Creates a new locator.
+ *
+ * @param selector the name of the locator strategy
+ * @param locatorString the locator value; must not be empty
+ * @param locatorName the name of the factory method, used in the string representation
+ */
protected AppiumBy(String selector, String locatorString, String locatorName) {
Preconditions.checkArgument(!isNullOrEmpty(locatorString), "Must supply a not empty locator value.");
this.remoteParameters = new Parameters(selector, locatorString);
@@ -304,87 +314,205 @@ public static FlutterBy flutterAncestor(final FlutterBy of, final FlutterBy matc
return flutterAncestor(of, matching, false);
}
+ /**
+ * Locates elements by their accessibility id.
+ */
public static class ByAccessibilityId extends AppiumBy implements Serializable {
+ /**
+ * Creates a new instance for the given accessibility id.
+ *
+ * @param accessibilityId the accessibility id
+ */
public ByAccessibilityId(String accessibilityId) {
super("accessibility id", accessibilityId, "accessibilityId");
}
}
+ /**
+ * Locates elements by an Espresso data matcher (Espresso driver only).
+ */
public static class ByAndroidDataMatcher extends AppiumBy implements Serializable {
+ /**
+ * Creates a new instance for the given locator.
+ *
+ * @param locatorString the locator string
+ */
protected ByAndroidDataMatcher(String locatorString) {
super("-android datamatcher", locatorString, "androidDataMatcher");
}
}
+ /**
+ * Locates elements by an Android UIAutomator expression.
+ */
public static class ByAndroidUIAutomator extends AppiumBy implements Serializable {
+ /**
+ * Creates a new instance for the given locator.
+ *
+ * @param uiautomatorText the UIAutomator expression
+ */
public ByAndroidUIAutomator(String uiautomatorText) {
super("-android uiautomator", uiautomatorText, "androidUIAutomator");
}
}
+ /**
+ * Locates elements by an Espresso view matcher (Espresso driver only).
+ */
public static class ByAndroidViewMatcher extends AppiumBy implements Serializable {
+ /**
+ * Creates a new instance for the given locator.
+ *
+ * @param locatorString the locator string
+ */
protected ByAndroidViewMatcher(String locatorString) {
super("-android viewmatcher", locatorString, "androidViewMatcher");
}
}
+ /**
+ * Locates elements by an Android view tag (Espresso driver only).
+ */
public static class ByAndroidViewTag extends AppiumBy implements Serializable {
+ /**
+ * Creates a new instance for the given tag.
+ *
+ * @param tag the view tag
+ */
public ByAndroidViewTag(String tag) {
super("-android viewtag", tag, "androidViewTag");
}
}
+ /**
+ * Locates elements by the id (the name on iOS, the resource id on Android).
+ */
public static class ById extends AppiumBy implements Serializable {
+ /**
+ * Creates a new instance for the given id.
+ *
+ * @param selector the element id
+ */
protected ById(String selector) {
super("id", selector, "id");
}
}
+ /**
+ * Locates elements by the name.
+ */
public static class ByName extends AppiumBy implements Serializable {
+ /**
+ * Creates a new instance for the given name.
+ *
+ * @param selector the element name
+ */
protected ByName(String selector) {
super("name", selector, "name");
}
}
+ /**
+ * Locates elements by the class name.
+ */
public static class ByClassName extends AppiumBy implements Serializable {
+ /**
+ * Creates a new instance for the given class name.
+ *
+ * @param selector the class name
+ */
protected ByClassName(String selector) {
super("class name", selector, "className");
}
}
+ /**
+ * Locates elements using a custom element finding plugin.
+ */
public static class ByCustom extends AppiumBy implements Serializable {
+ /**
+ * Creates a new instance for the given selector.
+ *
+ * @param selector the selector to pass to the plugin
+ */
protected ByCustom(String selector) {
super("-custom", selector, "custom");
}
}
+ /**
+ * Locates elements by an image template.
+ */
public static class ByImage extends AppiumBy implements Serializable {
+ /**
+ * Creates a new instance for the given template.
+ *
+ * @param b64Template the base64-encoded template image
+ */
protected ByImage(String b64Template) {
super("-image", b64Template, "image");
}
}
+ /**
+ * Locates elements by an iOS class chain (XCUITest driver only).
+ */
public static class ByIosClassChain extends AppiumBy implements Serializable {
+ /**
+ * Creates a new instance for the given locator.
+ *
+ * @param locatorString the locator string
+ */
protected ByIosClassChain(String locatorString) {
super("-ios class chain", locatorString, "iOSClassChain");
}
}
+ /**
+ * Locates elements by an iOS NSPredicate string (XCUITest driver only).
+ */
public static class ByIosNsPredicate extends AppiumBy implements Serializable {
+ /**
+ * Creates a new instance for the given locator.
+ *
+ * @param locatorString the locator string
+ */
protected ByIosNsPredicate(String locatorString) {
super("-ios predicate string", locatorString, "iOSNsPredicate");
}
}
+ /**
+ * The base class of the locator strategies of the Flutter integration driver.
+ */
public abstract static class FlutterBy extends AppiumBy {
+ /**
+ * Creates a new Flutter locator.
+ *
+ * @param selector the name of the locator strategy
+ * @param locatorString the locator value
+ * @param locatorName the name of the factory method, used in the string representation
+ */
protected FlutterBy(String selector, String locatorString, String locatorName) {
super(selector, locatorString, locatorName);
}
}
+ /**
+ * The base class of the Flutter locators that combine two other Flutter locators.
+ */
public abstract static class FlutterByHierarchy extends FlutterBy {
private static final Gson GSON = new Gson();
+ /**
+ * Creates a new hierarchical Flutter locator.
+ *
+ * @param selector the name of the locator strategy
+ * @param of the base widget locator
+ * @param matching the related widget locator to match
+ * @param properties the additional locator parameters
+ * @param locatorName the name of the factory method, used in the string representation
+ */
protected FlutterByHierarchy(
String selector,
FlutterBy of,
@@ -408,37 +536,88 @@ static String formatLocator(FlutterBy of, FlutterBy matching, Map the type of the input object
+ */
@NullMarked
public class AppiumFluentWait extends FluentWait {
@Nullable
@@ -42,6 +47,9 @@ public class AppiumFluentWait extends FluentWait {
private static final Duration DEFAULT_POLL_DELAY_DURATION = Duration.ZERO;
private Duration pollDelay = DEFAULT_POLL_DELAY_DURATION;
+ /**
+ * The information about the current polling iteration.
+ */
public static class IterationInfo {
/**
* The current iteration number.
@@ -117,30 +125,65 @@ public AppiumFluentWait withPollDelay(Duration pollDelay) {
return this;
}
+ /**
+ * Gets the clock.
+ *
+ * @return the clock used for the time measurements
+ */
protected Clock getClock() {
return clock;
}
+ /**
+ * Gets the timeout.
+ *
+ * @return the maximum time to wait for the condition
+ */
protected Duration getTimeout() {
return timeout;
}
+ /**
+ * Gets the polling interval.
+ *
+ * @return the default time between the condition checks
+ */
protected Duration getInterval() {
return interval;
}
+ /**
+ * Gets the sleeper.
+ *
+ * @return the sleeper used to pause between the condition checks
+ */
protected Sleeper getSleeper() {
return sleeper;
}
+ /**
+ * Gets the ignored exceptions.
+ *
+ * @return the exception types that are ignored while waiting
+ */
protected List> getIgnoredExceptions() {
return ignoredExceptions;
}
+ /**
+ * Gets the message supplier.
+ *
+ * @return the supplier of the timeout message
+ */
protected Supplier<@Nullable String> getMessageSupplier() {
return messageSupplier;
}
+ /**
+ * Gets the input.
+ *
+ * @return the input value the condition is applied to
+ */
protected T getInput() {
return (T) input;
}
@@ -286,6 +329,12 @@ private void sleepInterruptibly(Duration duration) {
}
}
+ /**
+ * Rethrows the exception unless it is one of the ignored ones.
+ *
+ * @param e the exception to check
+ * @return the exception if it is ignored
+ */
protected Throwable propagateIfNotIgnored(Throwable e) {
for (Class extends Throwable> ignoredException : getIgnoredExceptions()) {
if (ignoredException.isInstance(e)) {
diff --git a/src/main/java/io/appium/java_client/CommandExecutionHelper.java b/src/main/java/io/appium/java_client/CommandExecutionHelper.java
index e996a7e95..e6882d608 100644
--- a/src/main/java/io/appium/java_client/CommandExecutionHelper.java
+++ b/src/main/java/io/appium/java_client/CommandExecutionHelper.java
@@ -24,11 +24,22 @@
import static io.appium.java_client.remote.DriverCommand.EXECUTE_SCRIPT;
+/**
+ * The helper that simplifies the execution of the Appium commands and extension scripts.
+ */
public final class CommandExecutionHelper {
private CommandExecutionHelper() {
}
+ /**
+ * Executes the given command and converts its result.
+ *
+ * @param the type of the returned value
+ * @param executesMethod the command executor
+ * @param keyValuePair the command name and its parameters
+ * @return the command result or null
+ */
@Nullable
public static T execute(
ExecutesMethod executesMethod, Map.Entry> keyValuePair
@@ -36,6 +47,14 @@ public static T execute(
return handleResponse(executesMethod.execute(keyValuePair.getKey(), keyValuePair.getValue()));
}
+ /**
+ * Executes the given command without parameters and converts its result.
+ *
+ * @param the type of the returned value
+ * @param executesMethod the command executor
+ * @param command the command name
+ * @return the command result or null
+ */
@Nullable
public static T execute(ExecutesMethod executesMethod, String command) {
return handleResponse(executesMethod.execute(command));
@@ -47,6 +66,14 @@ private static T handleResponse(Response response) {
return response == null ? null : (T) response.getValue();
}
+ /**
+ * Executes the given extension script without arguments.
+ *
+ * @param the type of the returned value
+ * @param executesMethod the command executor
+ * @param scriptName the extension script name
+ * @return the script execution result
+ */
@Nullable
public static T executeScript(ExecutesMethod executesMethod, String scriptName) {
return executeScript(executesMethod, scriptName, null);
@@ -55,6 +82,7 @@ public static T executeScript(ExecutesMethod executesMethod, String scriptNa
/**
* Simplifies arguments preparation for the script execution command.
*
+ * @param the type of the returned value
* @param executesMethod Method executor instance.
* @param scriptName Extension script name.
* @param args Extension script arguments (if present).
diff --git a/src/main/java/io/appium/java_client/ComparesImages.java b/src/main/java/io/appium/java_client/ComparesImages.java
index 4f44d6e0a..aa25fa321 100644
--- a/src/main/java/io/appium/java_client/ComparesImages.java
+++ b/src/main/java/io/appium/java_client/ComparesImages.java
@@ -33,6 +33,9 @@
import static io.appium.java_client.MobileCommand.compareImagesCommand;
+/**
+ * The interface for the drivers that can compare images and find image occurrences.
+ */
public interface ComparesImages extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/ErrorCodesMobile.java b/src/main/java/io/appium/java_client/ErrorCodesMobile.java
index 02ba75aa6..a6c52e234 100644
--- a/src/main/java/io/appium/java_client/ErrorCodesMobile.java
+++ b/src/main/java/io/appium/java_client/ErrorCodesMobile.java
@@ -29,7 +29,13 @@
* @author jonahss@gmail.com (Jonah Stiennon)
*/
public class ErrorCodesMobile extends ErrorCodes {
+ /**
+ * Creates a new instance.
+ */
+ public ErrorCodesMobile() {
+ }
+ /** The status code of the "no such context" error. */
public static final int NO_SUCH_CONTEXT = 35;
private static Map statusToState = Map.of(NO_SUCH_CONTEXT, "No such context found");
diff --git a/src/main/java/io/appium/java_client/ExecuteCDPCommand.java b/src/main/java/io/appium/java_client/ExecuteCDPCommand.java
index de423a399..bedd2aa7d 100644
--- a/src/main/java/io/appium/java_client/ExecuteCDPCommand.java
+++ b/src/main/java/io/appium/java_client/ExecuteCDPCommand.java
@@ -26,6 +26,9 @@
import static io.appium.java_client.MobileCommand.EXECUTE_GOOGLE_CDP_COMMAND;
import static java.util.Objects.requireNonNull;
+/**
+ * The interface for the drivers that can execute Chrome DevTools Protocol commands.
+ */
public interface ExecuteCDPCommand extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/ExecutesDriverScript.java b/src/main/java/io/appium/java_client/ExecutesDriverScript.java
index 4fdee70be..323704f2c 100644
--- a/src/main/java/io/appium/java_client/ExecutesDriverScript.java
+++ b/src/main/java/io/appium/java_client/ExecutesDriverScript.java
@@ -27,6 +27,9 @@
import static io.appium.java_client.MobileCommand.EXECUTE_DRIVER_SCRIPT;
import static java.util.Objects.requireNonNull;
+/**
+ * The interface for the drivers that can execute driver scripts on the server side.
+ */
public interface ExecutesDriverScript extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/ExecutesMethod.java b/src/main/java/io/appium/java_client/ExecutesMethod.java
index 54644c933..95558f3a4 100644
--- a/src/main/java/io/appium/java_client/ExecutesMethod.java
+++ b/src/main/java/io/appium/java_client/ExecutesMethod.java
@@ -20,6 +20,9 @@
import java.util.Map;
+/**
+ * The interface for the objects that can execute Appium commands.
+ */
public interface ExecutesMethod {
/**
* Executes the given command and returns a response.
diff --git a/src/main/java/io/appium/java_client/HasAppStrings.java b/src/main/java/io/appium/java_client/HasAppStrings.java
index 3fe9c9879..3369604a3 100644
--- a/src/main/java/io/appium/java_client/HasAppStrings.java
+++ b/src/main/java/io/appium/java_client/HasAppStrings.java
@@ -18,6 +18,9 @@
import java.util.Map;
+/**
+ * The interface for the drivers that can retrieve the localized strings of the app under test.
+ */
public interface HasAppStrings extends ExecutesMethod {
/**
* Get all defined Strings from an app for the default language.
diff --git a/src/main/java/io/appium/java_client/HasBrowserCheck.java b/src/main/java/io/appium/java_client/HasBrowserCheck.java
index 056e634d7..4467e74ad 100644
--- a/src/main/java/io/appium/java_client/HasBrowserCheck.java
+++ b/src/main/java/io/appium/java_client/HasBrowserCheck.java
@@ -10,7 +10,11 @@
import static java.util.Locale.ROOT;
import static java.util.Objects.requireNonNull;
+/**
+ * The interface for the drivers that can check whether they are in a web browser context.
+ */
public interface HasBrowserCheck extends ExecutesMethod, HasCapabilities {
+ /** The name of the native app context. */
String NATIVE_CONTEXT = "NATIVE_APP";
/**
diff --git a/src/main/java/io/appium/java_client/HasDeviceTime.java b/src/main/java/io/appium/java_client/HasDeviceTime.java
index e450f28f1..d19d08619 100644
--- a/src/main/java/io/appium/java_client/HasDeviceTime.java
+++ b/src/main/java/io/appium/java_client/HasDeviceTime.java
@@ -18,6 +18,9 @@
import java.util.Map;
+/**
+ * The interface for the drivers that can retrieve the device date and time.
+ */
public interface HasDeviceTime extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/HasOnScreenKeyboard.java b/src/main/java/io/appium/java_client/HasOnScreenKeyboard.java
index aeeb80054..517b1fd47 100644
--- a/src/main/java/io/appium/java_client/HasOnScreenKeyboard.java
+++ b/src/main/java/io/appium/java_client/HasOnScreenKeyboard.java
@@ -2,6 +2,9 @@
import static java.util.Objects.requireNonNull;
+/**
+ * The interface for the drivers that can check whether the on-screen keyboard is displayed.
+ */
public interface HasOnScreenKeyboard extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/HasSettings.java b/src/main/java/io/appium/java_client/HasSettings.java
index ea1e55298..cb5d0af3a 100644
--- a/src/main/java/io/appium/java_client/HasSettings.java
+++ b/src/main/java/io/appium/java_client/HasSettings.java
@@ -26,6 +26,9 @@
import static io.appium.java_client.MobileCommand.getSettingsCommand;
import static io.appium.java_client.MobileCommand.setSettingsCommand;
+/**
+ * The interface for the drivers that can read and change the Appium settings of the session.
+ */
public interface HasSettings extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/HidesKeyboard.java b/src/main/java/io/appium/java_client/HidesKeyboard.java
index b53af5c9a..a861ac82c 100644
--- a/src/main/java/io/appium/java_client/HidesKeyboard.java
+++ b/src/main/java/io/appium/java_client/HidesKeyboard.java
@@ -16,6 +16,9 @@
package io.appium.java_client;
+/**
+ * The interface for the drivers that can hide the on-screen keyboard.
+ */
public interface HidesKeyboard extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/HidesKeyboardWithKeyName.java b/src/main/java/io/appium/java_client/HidesKeyboardWithKeyName.java
index b2c58bd93..f9ec983f2 100644
--- a/src/main/java/io/appium/java_client/HidesKeyboardWithKeyName.java
+++ b/src/main/java/io/appium/java_client/HidesKeyboardWithKeyName.java
@@ -19,6 +19,9 @@
import java.util.List;
import java.util.Map;
+/**
+ * The interface for the drivers that can hide the on-screen keyboard by pressing a named key.
+ */
public interface HidesKeyboardWithKeyName extends HidesKeyboard {
/**
diff --git a/src/main/java/io/appium/java_client/InteractsWithApps.java b/src/main/java/io/appium/java_client/InteractsWithApps.java
index 79025d5a9..f026c2529 100644
--- a/src/main/java/io/appium/java_client/InteractsWithApps.java
+++ b/src/main/java/io/appium/java_client/InteractsWithApps.java
@@ -31,6 +31,9 @@
import static java.util.Objects.requireNonNull;
import static java.util.Optional.ofNullable;
+/**
+ * The interface for the drivers that can install, launch and manage the apps on the device.
+ */
@SuppressWarnings({"rawtypes", "unchecked"})
public interface InteractsWithApps extends ExecutesMethod {
diff --git a/src/main/java/io/appium/java_client/LocksDevice.java b/src/main/java/io/appium/java_client/LocksDevice.java
index 04f8aa89b..42db880de 100644
--- a/src/main/java/io/appium/java_client/LocksDevice.java
+++ b/src/main/java/io/appium/java_client/LocksDevice.java
@@ -21,6 +21,9 @@
import static java.util.Objects.requireNonNull;
+/**
+ * The interface for the drivers that can lock and unlock the device.
+ */
public interface LocksDevice extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/LogsEvents.java b/src/main/java/io/appium/java_client/LogsEvents.java
index bbf4e6ecd..7b3a89580 100644
--- a/src/main/java/io/appium/java_client/LogsEvents.java
+++ b/src/main/java/io/appium/java_client/LogsEvents.java
@@ -30,6 +30,9 @@
import static io.appium.java_client.MobileCommand.GET_EVENTS;
import static io.appium.java_client.MobileCommand.LOG_EVENT;
+/**
+ * The interface for the drivers that can log and retrieve the server events.
+ */
public interface LogsEvents extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/MobileCommand.java b/src/main/java/io/appium/java_client/MobileCommand.java
index ff3cd76aa..f42accf9a 100644
--- a/src/main/java/io/appium/java_client/MobileCommand.java
+++ b/src/main/java/io/appium/java_client/MobileCommand.java
@@ -35,40 +35,70 @@
*/
@SuppressWarnings({"checkstyle:HideUtilityClassConstructor", "checkstyle:ConstantName"})
public class MobileCommand {
+ /**
+ * Creates a new instance.
+ */
+ public MobileCommand() {
+ }
+
+ /** The command that gets the session details. */
@Deprecated
protected static final String GET_SESSION;
+ /** The command that logs a custom event on the server. */
protected static final String LOG_EVENT;
+ /** The command that gets the server events. */
protected static final String GET_EVENTS;
// The file transfer commands of the drivers that have no `mobile:` extensions for them, e.g. Windows
+ /** The command that pulls a file from the device. */
public static final String PULL_FILE;
+ /** The command that pulls a folder from the device. */
public static final String PULL_FOLDER;
+ /** The command that pushes a file to the device. */
public static final String PUSH_FILE;
+ /** The command that starts the screen recording. */
public static final String START_RECORDING_SCREEN;
+ /** The command that stops the screen recording. */
public static final String STOP_RECORDING_SCREEN;
//Android
+ /** The command that gets the Appium settings. */
protected static final String GET_SETTINGS;
+ /** The command that changes the Appium settings. */
protected static final String SET_SETTINGS;
+ /** The command that compares images. */
protected static final String COMPARE_IMAGES;
+ /** The command that executes a driver script on the server side. */
protected static final String EXECUTE_DRIVER_SCRIPT;
+ /** The command that gets all the sessions. */
@Deprecated
protected static final String GET_ALLSESSION;
+ /** The command that executes a Chrome DevTools Protocol command. */
protected static final String EXECUTE_GOOGLE_CDP_COMMAND;
+ /** The command that gets the screen orientation. */
public static final String GET_SCREEN_ORIENTATION = "getScreenOrientation";
+ /** The command that sets the screen orientation. */
public static final String SET_SCREEN_ORIENTATION = "setScreenOrientation";
+ /** The command that gets the screen rotation. */
public static final String GET_SCREEN_ROTATION = "getScreenRotation";
+ /** The command that sets the screen rotation. */
public static final String SET_SCREEN_ROTATION = "setScreenRotation";
+ /** The command that gets the available context handles. */
public static final String GET_CONTEXT_HANDLES = "getContextHandles";
+ /** The command that gets the current context handle. */
public static final String GET_CURRENT_CONTEXT_HANDLE = "getCurrentContextHandle";
+ /** The command that switches to the given context. */
public static final String SWITCH_TO_CONTEXT = "switchToContext";
+ /** The command that gets the device location. */
public static final String GET_LOCATION = "getLocation";
+ /** The command that sets the device location. */
public static final String SET_LOCATION = "setLocation";
+ /** The repository of the Appium command definitions by the command name. */
public static final Map commandRepository;
static {
@@ -155,22 +185,52 @@ public static AppiumCommandInfo deleteC(String url) {
return new AppiumCommandInfo(url, HttpMethod.DELETE);
}
+ /**
+ * Creates the command that gets the Appium settings.
+ *
+ * @return key-value pairs
+ */
public static Map.Entry> getSettingsCommand() {
return Map.entry(GET_SETTINGS, Map.of());
}
+ /**
+ * Creates the command that changes a single Appium setting.
+ *
+ * @param setting the setting name
+ * @param value the setting value
+ * @return key-value pairs
+ */
public static Map.Entry> setSettingsCommand(String setting, Object value) {
return setSettingsCommand(Map.of(setting, value));
}
+ /**
+ * Creates the command that changes several Appium settings.
+ *
+ * @param settings the setting names mapped to their values
+ * @return key-value pairs
+ */
public static Map.Entry> setSettingsCommand(Map settings) {
return Map.entry(SET_SETTINGS, Map.of("settings", settings));
}
+ /**
+ * Creates the command that starts the screen recording.
+ *
+ * @param opts the recording options
+ * @return key-value pairs
+ */
public static Map.Entry> startRecordingScreenCommand(BaseStartScreenRecordingOptions opts) {
return Map.entry(START_RECORDING_SCREEN, Map.of("options", opts.build()));
}
+ /**
+ * Creates the command that stops the screen recording.
+ *
+ * @param opts the recording options
+ * @return key-value pairs
+ */
public static Map.Entry> stopRecordingScreenCommand(BaseStopScreenRecordingOptions opts) {
return Map.entry(STOP_RECORDING_SCREEN, Map.of("options", opts.build()));
}
diff --git a/src/main/java/io/appium/java_client/NoSuchContextException.java b/src/main/java/io/appium/java_client/NoSuchContextException.java
index e59c06e89..21b2cfd6f 100644
--- a/src/main/java/io/appium/java_client/NoSuchContextException.java
+++ b/src/main/java/io/appium/java_client/NoSuchContextException.java
@@ -18,13 +18,27 @@
import org.openqa.selenium.NotFoundException;
+/**
+ * Thrown when the requested context does not exist.
+ */
@SuppressWarnings("serial")
public class NoSuchContextException extends NotFoundException {
+ /**
+ * Creates a new exception with the given reason.
+ *
+ * @param reason the reason of the failure
+ */
public NoSuchContextException(String reason) {
super(reason);
}
+ /**
+ * Creates a new exception with the given reason and cause.
+ *
+ * @param reason the reason of the failure
+ * @param cause the cause of the failure
+ */
public NoSuchContextException(String reason, Throwable cause) {
super(reason, cause);
}
diff --git a/src/main/java/io/appium/java_client/PerformsActions.java b/src/main/java/io/appium/java_client/PerformsActions.java
index 021425e6c..24594c745 100644
--- a/src/main/java/io/appium/java_client/PerformsActions.java
+++ b/src/main/java/io/appium/java_client/PerformsActions.java
@@ -16,7 +16,17 @@
package io.appium.java_client;
+/**
+ * The interface for the objects that can perform the accumulated actions.
+ *
+ * @param the type of the implementing class, returned for chaining
+ */
public interface PerformsActions> {
+ /**
+ * Performs the accumulated actions.
+ *
+ * @return self instance for chaining
+ */
T perform();
}
diff --git a/src/main/java/io/appium/java_client/PullsFiles.java b/src/main/java/io/appium/java_client/PullsFiles.java
index 00552371d..295b423c1 100644
--- a/src/main/java/io/appium/java_client/PullsFiles.java
+++ b/src/main/java/io/appium/java_client/PullsFiles.java
@@ -22,6 +22,9 @@
import static java.util.Objects.requireNonNull;
+/**
+ * The interface for the drivers that can pull files and folders from the device.
+ */
public interface PullsFiles extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/PushesFiles.java b/src/main/java/io/appium/java_client/PushesFiles.java
index 49b1592cf..0fbff3aa0 100644
--- a/src/main/java/io/appium/java_client/PushesFiles.java
+++ b/src/main/java/io/appium/java_client/PushesFiles.java
@@ -23,6 +23,9 @@
import java.util.Base64;
import java.util.Map;
+/**
+ * The interface for the drivers that can push files to the device.
+ */
public interface PushesFiles extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/ScreenshotState.java b/src/main/java/io/appium/java_client/ScreenshotState.java
index f51add334..349ea60c5 100644
--- a/src/main/java/io/appium/java_client/ScreenshotState.java
+++ b/src/main/java/io/appium/java_client/ScreenshotState.java
@@ -34,6 +34,9 @@
import static java.util.Objects.requireNonNull;
import static java.util.Optional.ofNullable;
+/**
+ * Verifies the similarity of the screenshots taken at different moments of time.
+ */
@Accessors(chain = true)
public class ScreenshotState {
private static final Duration DEFAULT_INTERVAL_MS = Duration.ofMillis(500);
@@ -85,6 +88,12 @@ public ScreenshotState(ComparesImages comparator, Supplier stateP
this.stateProvider = stateProvider;
}
+ /**
+ * Creates a new instance without a screenshot provider.
+ * A custom initial state has to be set via {@link #remember(BufferedImage)}.
+ *
+ * @param comparator the image comparator
+ */
public ScreenshotState(ComparesImages comparator) {
this(comparator, null);
}
@@ -114,6 +123,9 @@ public ScreenshotState remember(BufferedImage customInitialState) {
return this;
}
+ /**
+ * Thrown when the screenshots comparison fails.
+ */
public static class ScreenshotComparisonError extends RuntimeException {
private static final long serialVersionUID = -7011854909939194466L;
@@ -126,8 +138,12 @@ public static class ScreenshotComparisonError extends RuntimeException {
}
}
+ /**
+ * Thrown when the screenshots do not become similar within the given timeout.
+ */
public static class ScreenshotComparisonTimeout extends RuntimeException {
private static final long serialVersionUID = 6336247721154252476L;
+ /** The similarity score of the last comparison. */
private final double currentScore;
ScreenshotComparisonTimeout(String message, double currentScore) {
@@ -135,6 +151,11 @@ public static class ScreenshotComparisonTimeout extends RuntimeException {
this.currentScore = currentScore;
}
+ /**
+ * Gets the similarity score of the last comparison.
+ *
+ * @return the similarity score
+ */
public double getCurrentScore() {
return currentScore;
}
diff --git a/src/main/java/io/appium/java_client/Setting.java b/src/main/java/io/appium/java_client/Setting.java
index cc1f44cd1..22200e415 100644
--- a/src/main/java/io/appium/java_client/Setting.java
+++ b/src/main/java/io/appium/java_client/Setting.java
@@ -25,38 +25,68 @@
public enum Setting {
// Android
+ /** Whether to ignore the views that are not important for accessibility (Android). */
IGNORE_UNIMPORTANT_VIEWS("ignoreUnimportantViews"),
+ /** The time to wait for the app to become idle before an action (Android). */
WAIT_FOR_IDLE_TIMEOUT("waitForIdleTimeout"),
+ /** The time to wait for a selector to match an element (Android). */
WAIT_FOR_SELECTOR_TIMEOUT("waitForSelectorTimeout"),
+ /** The time to wait for the scroll action acknowledgment (Android). */
WAIT_SCROLL_ACKNOWLEDGMENT_TIMEOUT("scrollAcknowledgmentTimeout"),
+ /** The time to wait for the action acknowledgment (Android). */
WAIT_ACTION_ACKNOWLEDGMENT_TIMEOUT("actionAcknowledgmentTimeout"),
+ /** Whether invisible elements are included in the page source and lookups (Android). */
ALLOW_INVISIBLE_ELEMENTS("allowInvisibleElements"),
+ /** Whether to enable the notification (toast) listener (Android). */
ENABLE_NOTIFICATION_LISTENER("enableNotificationListener"),
+ /** Whether to normalize the tag names of the page source elements (Android). */
NORMALIZE_TAG_NAMES("normalizeTagNames"),
+ /** The delay between key injections while typing (Android). */
KEY_INJECTION_DELAY("keyInjectionDelay"),
+ /** Whether to shut down the server when the device power is disconnected (Android). */
SHUTDOWN_ON_POWER_DISCONNECT("shutdownOnPowerDisconnect"),
+ /** Whether to track the scroll events (Android). */
TRACK_SCROLL_EVENTS("trackScrollEvents"),
// iOS
+ /** The quality of the screenshots in the MJPEG stream (iOS). */
MJPEG_SERVER_SCREENSHOT_QUALITY("mjpegServerScreenshotQuality"),
+ /** The frame rate of the MJPEG stream (iOS). */
MJPEG_SERVER_FRAMERATE("mjpegServerFramerate"),
+ /** The quality of the screenshots taken by the driver (iOS). */
SCREENSHOT_QUALITY("screenshotQuality"),
+ /** Whether web taps are converted into x/y taps (iOS). */
NATIVE_WEB_TAP("nativeWebTap"),
+ /** The scaling factor of the MJPEG stream screenshots (iOS). */
MJPEG_SCALING_FACTOR("mjpegScalingFactor"),
+ /** Whether to enable the keyboard autocorrection (iOS). */
KEYBOARD_AUTOCORRECTION("keyboardAutocorrection"),
+ /** Whether to enable the keyboard prediction (iOS). */
KEYBOARD_PREDICTION("keyboardPrediction"),
+ /** Whether to bind the elements by their index (iOS). */
BOUND_ELEMENTS_BY_INDEX("boundElementsByIndex"),
// Android and iOS
+ /** Whether to return compact responses from the element lookups (Android and iOS). */
SHOULD_USE_COMPACT_RESPONSES("shouldUseCompactResponses"),
+ /** The element attributes included in the element lookup responses (Android and iOS). */
ELEMENT_RESPONSE_ATTRIBUTES("elementResponseAttributes"),
// All platforms
+ /** The strategy used to tap the image elements. */
IMAGE_ELEMENT_TAP_STRATEGY("imageElementTapStrategy"),
+ /** The minimum similarity score of an image match. */
IMAGE_MATCH_THRESHOLD("imageMatchThreshold"),
+ /** Whether to fix the dimensions of the screenshot used for the image lookup. */
FIX_IMAGE_FIND_SCREENSHOT_DIMENSIONS("fixImageFindScreenshotDims"),
+ /** Whether to fix the size of the image template used for the image lookup. */
FIX_IMAGE_TEMPLATE_SIZE("fixImageTemplateSize"),
+ /** Whether to check the image elements for staleness. */
CHECK_IMAGE_ELEMENT_STALENESS("checkForImageElementStaleness"),
+ /** Whether to update the position of the image elements automatically. */
UPDATE_IMAGE_ELEMENT_POSITION("autoUpdateImageElementPosition"),
+ /** Whether to fix the scale of the image template. */
FIX_IMAGE_TEMPLATE_SCALE("fixImageTemplateScale"),
+ /** The default scale of the image template. */
DEFAULT_IMAGE_TEMPLATE_SCALE("defaultImageTemplateScale"),
+ /** Whether to return the matched image in the image lookup result. */
GET_MATCHED_IMAGE_RESULT("getMatchedImageResult");
private final String name;
diff --git a/src/main/java/io/appium/java_client/android/AndroidBatteryInfo.java b/src/main/java/io/appium/java_client/android/AndroidBatteryInfo.java
index 1c3ff2872..d0ee1158d 100644
--- a/src/main/java/io/appium/java_client/android/AndroidBatteryInfo.java
+++ b/src/main/java/io/appium/java_client/android/AndroidBatteryInfo.java
@@ -4,8 +4,14 @@
import java.util.Map;
+/** Battery information of an Android device. */
public class AndroidBatteryInfo extends BatteryInfo {
+ /**
+ * Creates the battery info from the raw server response.
+ *
+ * @param input The raw battery info map.
+ */
public AndroidBatteryInfo(Map input) {
super(input);
}
@@ -28,7 +34,17 @@ public BatteryState getState() {
}
}
+ /** Android battery charging state. */
public enum BatteryState {
- UNKNOWN, CHARGING, DISCHARGING, NOT_CHARGING, FULL
+ /** The state is not known. */
+ UNKNOWN,
+ /** The battery is charging. */
+ CHARGING,
+ /** The battery is discharging. */
+ DISCHARGING,
+ /** The device is plugged in, but the battery is not charging. */
+ NOT_CHARGING,
+ /** The battery is fully charged. */
+ FULL
}
}
diff --git a/src/main/java/io/appium/java_client/android/AndroidStartScreenRecordingOptions.java b/src/main/java/io/appium/java_client/android/AndroidStartScreenRecordingOptions.java
index dd6ee2b2f..8a2fad5b1 100644
--- a/src/main/java/io/appium/java_client/android/AndroidStartScreenRecordingOptions.java
+++ b/src/main/java/io/appium/java_client/android/AndroidStartScreenRecordingOptions.java
@@ -26,12 +26,24 @@
import static java.util.Optional.ofNullable;
+/** Android-specific options for starting a screen recording. */
public class AndroidStartScreenRecordingOptions
extends BaseStartScreenRecordingOptions {
+ /**
+ * Creates a new instance.
+ */
+ public AndroidStartScreenRecordingOptions() {
+ }
+
private Integer bitRate;
private String videoSize;
private Boolean isBugReportEnabled;
+ /**
+ * Creates a new options instance.
+ *
+ * @return a new {@link AndroidStartScreenRecordingOptions} instance.
+ */
public static AndroidStartScreenRecordingOptions startScreenRecordingOptions() {
return new AndroidStartScreenRecordingOptions();
}
diff --git a/src/main/java/io/appium/java_client/android/AndroidStopScreenRecordingOptions.java b/src/main/java/io/appium/java_client/android/AndroidStopScreenRecordingOptions.java
index 83b7ead33..b7f8f8287 100644
--- a/src/main/java/io/appium/java_client/android/AndroidStopScreenRecordingOptions.java
+++ b/src/main/java/io/appium/java_client/android/AndroidStopScreenRecordingOptions.java
@@ -18,9 +18,20 @@
import io.appium.java_client.screenrecording.BaseStopScreenRecordingOptions;
+/** Android-specific options for stopping a screen recording. */
public class AndroidStopScreenRecordingOptions extends
BaseStopScreenRecordingOptions {
+ /**
+ * Creates a new instance.
+ */
+ public AndroidStopScreenRecordingOptions() {
+ }
+ /**
+ * Creates a new options instance.
+ *
+ * @return a new {@link AndroidStopScreenRecordingOptions} instance.
+ */
public static AndroidStopScreenRecordingOptions stopScreenRecordingOptions() {
return new AndroidStopScreenRecordingOptions();
}
diff --git a/src/main/java/io/appium/java_client/android/AuthenticatesByFinger.java b/src/main/java/io/appium/java_client/android/AuthenticatesByFinger.java
index ac2209a13..c44828b15 100644
--- a/src/main/java/io/appium/java_client/android/AuthenticatesByFinger.java
+++ b/src/main/java/io/appium/java_client/android/AuthenticatesByFinger.java
@@ -5,6 +5,7 @@
import java.util.Map;
+/** Provides fingerprint authentication on Android emulators. */
public interface AuthenticatesByFinger extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/android/CanReplaceElementValue.java b/src/main/java/io/appium/java_client/android/CanReplaceElementValue.java
index 632a8e511..623058c4e 100644
--- a/src/main/java/io/appium/java_client/android/CanReplaceElementValue.java
+++ b/src/main/java/io/appium/java_client/android/CanReplaceElementValue.java
@@ -6,6 +6,7 @@
import java.util.Map;
+/** Provides replacing of the whole value of an element. */
public interface CanReplaceElementValue extends ExecutesMethod {
/**
* Sends a text to the given element by replacing its previous content.
diff --git a/src/main/java/io/appium/java_client/android/GsmCallActions.java b/src/main/java/io/appium/java_client/android/GsmCallActions.java
index 443d85a09..ef411c9a5 100644
--- a/src/main/java/io/appium/java_client/android/GsmCallActions.java
+++ b/src/main/java/io/appium/java_client/android/GsmCallActions.java
@@ -1,5 +1,13 @@
package io.appium.java_client.android;
+/** Actions that can be performed on an emulated GSM call. */
public enum GsmCallActions {
- CALL, ACCEPT, CANCEL, HOLD
+ /** Initiates a call. */
+ CALL,
+ /** Accepts an incoming call. */
+ ACCEPT,
+ /** Cancels the call. */
+ CANCEL,
+ /** Puts the call on hold. */
+ HOLD
}
diff --git a/src/main/java/io/appium/java_client/android/GsmSignalStrength.java b/src/main/java/io/appium/java_client/android/GsmSignalStrength.java
index a73513df2..217fc26c8 100644
--- a/src/main/java/io/appium/java_client/android/GsmSignalStrength.java
+++ b/src/main/java/io/appium/java_client/android/GsmSignalStrength.java
@@ -1,5 +1,15 @@
package io.appium.java_client.android;
+/** Emulated GSM signal strength levels. */
public enum GsmSignalStrength {
- NONE_OR_UNKNOWN, POOR, MODERATE, GOOD, GREAT
+ /** No signal or unknown strength. */
+ NONE_OR_UNKNOWN,
+ /** Poor signal. */
+ POOR,
+ /** Moderate signal. */
+ MODERATE,
+ /** Good signal. */
+ GOOD,
+ /** Great signal. */
+ GREAT
}
diff --git a/src/main/java/io/appium/java_client/android/GsmVoiceState.java b/src/main/java/io/appium/java_client/android/GsmVoiceState.java
index e92cde951..93396b92d 100644
--- a/src/main/java/io/appium/java_client/android/GsmVoiceState.java
+++ b/src/main/java/io/appium/java_client/android/GsmVoiceState.java
@@ -1,5 +1,19 @@
package io.appium.java_client.android;
+/** Emulated GSM voice registration states. */
public enum GsmVoiceState {
- ON, OFF, DENIED, SEARCHING, ROAMING, HOME, UNREGISTERED
+ /** Voice service is on. */
+ ON,
+ /** Voice service is off. */
+ OFF,
+ /** Registration is denied. */
+ DENIED,
+ /** The device is searching for a network. */
+ SEARCHING,
+ /** The device is roaming. */
+ ROAMING,
+ /** The device is on its home network. */
+ HOME,
+ /** The device is not registered. */
+ UNREGISTERED
}
diff --git a/src/main/java/io/appium/java_client/android/HasAndroidClipboard.java b/src/main/java/io/appium/java_client/android/HasAndroidClipboard.java
index 5f173c120..ccd8e641f 100644
--- a/src/main/java/io/appium/java_client/android/HasAndroidClipboard.java
+++ b/src/main/java/io/appium/java_client/android/HasAndroidClipboard.java
@@ -27,6 +27,7 @@
import static java.util.Locale.ROOT;
import static java.util.Objects.requireNonNull;
+/** Provides access to the clipboard of an Android device. */
public interface HasAndroidClipboard extends HasClipboard {
/**
* Set the content of device's clipboard.
diff --git a/src/main/java/io/appium/java_client/android/HasAndroidDeviceDetails.java b/src/main/java/io/appium/java_client/android/HasAndroidDeviceDetails.java
index 76c596b1a..dbb659883 100644
--- a/src/main/java/io/appium/java_client/android/HasAndroidDeviceDetails.java
+++ b/src/main/java/io/appium/java_client/android/HasAndroidDeviceDetails.java
@@ -5,6 +5,7 @@
import java.util.Map;
+/** Provides Android device details, such as the display density and system bars. */
public interface HasAndroidDeviceDetails extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/android/HasAndroidSettings.java b/src/main/java/io/appium/java_client/android/HasAndroidSettings.java
index 73900e050..d31e19f3d 100644
--- a/src/main/java/io/appium/java_client/android/HasAndroidSettings.java
+++ b/src/main/java/io/appium/java_client/android/HasAndroidSettings.java
@@ -21,6 +21,7 @@
import java.time.Duration;
+/** Provides Android-specific driver settings. */
public interface HasAndroidSettings extends HasSettings {
/**
* Set the `ignoreUnimportantViews` setting. *Android-only method*.
diff --git a/src/main/java/io/appium/java_client/android/HasNotifications.java b/src/main/java/io/appium/java_client/android/HasNotifications.java
index 0911095be..f6220e5bb 100644
--- a/src/main/java/io/appium/java_client/android/HasNotifications.java
+++ b/src/main/java/io/appium/java_client/android/HasNotifications.java
@@ -3,6 +3,7 @@
import io.appium.java_client.CommandExecutionHelper;
import io.appium.java_client.ExecutesMethod;
+/** Provides access to the Android notifications drawer. */
public interface HasNotifications extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/android/HasSupportedPerformanceDataType.java b/src/main/java/io/appium/java_client/android/HasSupportedPerformanceDataType.java
index bca5a4e29..a9f34e8ae 100644
--- a/src/main/java/io/appium/java_client/android/HasSupportedPerformanceDataType.java
+++ b/src/main/java/io/appium/java_client/android/HasSupportedPerformanceDataType.java
@@ -6,6 +6,7 @@
import java.util.List;
import java.util.Map;
+/** Provides Android performance data retrieval. */
public interface HasSupportedPerformanceDataType extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/android/ListensToLogcatMessages.java b/src/main/java/io/appium/java_client/android/ListensToLogcatMessages.java
index 22df8951e..d3fcb5c7c 100644
--- a/src/main/java/io/appium/java_client/android/ListensToLogcatMessages.java
+++ b/src/main/java/io/appium/java_client/android/ListensToLogcatMessages.java
@@ -29,7 +29,13 @@
import static io.appium.java_client.service.local.AppiumServiceBuilder.DEFAULT_APPIUM_PORT;
+/** Provides listening to logcat messages broadcast via web socket. */
public interface ListensToLogcatMessages extends ExecutesMethod {
+ /**
+ * Gets the web socket client used for receiving logcat messages.
+ *
+ * @return the logcat web socket client.
+ */
StringWebSocketClient getLogcatClient();
/**
diff --git a/src/main/java/io/appium/java_client/android/NetworkSpeed.java b/src/main/java/io/appium/java_client/android/NetworkSpeed.java
index 64cdc513d..794b81df7 100644
--- a/src/main/java/io/appium/java_client/android/NetworkSpeed.java
+++ b/src/main/java/io/appium/java_client/android/NetworkSpeed.java
@@ -1,5 +1,23 @@
package io.appium.java_client.android;
+/** Emulated network speed profiles. */
public enum NetworkSpeed {
- GSM, SCSD, GPRS, EDGE, UMTS, HSDPA, LTE, EVDO, FULL
+ /** GSM/CSD (up: 14.4, down: 14.4 kbps). */
+ GSM,
+ /** HSCSD (up: 14.4, down: 43.2 kbps). */
+ SCSD,
+ /** GPRS (up: 28.8, down: 57.6 kbps). */
+ GPRS,
+ /** EDGE/EGPRS (up: 473.6, down: 473.6 kbps). */
+ EDGE,
+ /** UMTS/3G (up: 384.0, down: 384.0 kbps). */
+ UMTS,
+ /** HSDPA (up: 5760.0, down: 13,980.0 kbps). */
+ HSDPA,
+ /** LTE (up: 58,000, down: 173,000 kbps). */
+ LTE,
+ /** EVDO (up: 75,000, down: 280,000 kbps). */
+ EVDO,
+ /** No limit, the default. */
+ FULL
}
diff --git a/src/main/java/io/appium/java_client/android/PowerACState.java b/src/main/java/io/appium/java_client/android/PowerACState.java
index ab845c925..0b53a5998 100644
--- a/src/main/java/io/appium/java_client/android/PowerACState.java
+++ b/src/main/java/io/appium/java_client/android/PowerACState.java
@@ -1,5 +1,9 @@
package io.appium.java_client.android;
+/** Emulated AC power state. */
public enum PowerACState {
- ON, OFF
+ /** AC power is connected. */
+ ON,
+ /** AC power is disconnected. */
+ OFF
}
diff --git a/src/main/java/io/appium/java_client/android/StartsActivity.java b/src/main/java/io/appium/java_client/android/StartsActivity.java
index a49441b94..f40a7e54b 100644
--- a/src/main/java/io/appium/java_client/android/StartsActivity.java
+++ b/src/main/java/io/appium/java_client/android/StartsActivity.java
@@ -20,6 +20,7 @@
import io.appium.java_client.ExecutesMethod;
import org.jspecify.annotations.Nullable;
+/** Provides information about the current activity and package. */
public interface StartsActivity extends ExecutesMethod {
/**
* Get the current activity being run on the mobile device.
diff --git a/src/main/java/io/appium/java_client/android/SupportsGpsStateManagement.java b/src/main/java/io/appium/java_client/android/SupportsGpsStateManagement.java
index c300bc0a2..1c32bdd19 100644
--- a/src/main/java/io/appium/java_client/android/SupportsGpsStateManagement.java
+++ b/src/main/java/io/appium/java_client/android/SupportsGpsStateManagement.java
@@ -5,6 +5,7 @@
import static java.util.Objects.requireNonNull;
+/** Provides GPS service state management. */
public interface SupportsGpsStateManagement extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/android/SupportsNetworkStateManagement.java b/src/main/java/io/appium/java_client/android/SupportsNetworkStateManagement.java
index 86c4b4a7f..2faf5a82c 100644
--- a/src/main/java/io/appium/java_client/android/SupportsNetworkStateManagement.java
+++ b/src/main/java/io/appium/java_client/android/SupportsNetworkStateManagement.java
@@ -7,6 +7,7 @@
import static java.util.Objects.requireNonNull;
+/** Provides network state management: Wi-Fi, airplane mode and mobile data. */
public interface SupportsNetworkStateManagement extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/android/SupportsSpecialEmulatorCommands.java b/src/main/java/io/appium/java_client/android/SupportsSpecialEmulatorCommands.java
index e678fedd9..f62447623 100644
--- a/src/main/java/io/appium/java_client/android/SupportsSpecialEmulatorCommands.java
+++ b/src/main/java/io/appium/java_client/android/SupportsSpecialEmulatorCommands.java
@@ -7,6 +7,7 @@
import static java.util.Locale.ROOT;
+/** Provides special Android emulator commands, such as SMS and GSM events. */
public interface SupportsSpecialEmulatorCommands extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/android/appmanagement/AndroidInstallApplicationOptions.java b/src/main/java/io/appium/java_client/android/appmanagement/AndroidInstallApplicationOptions.java
index 360ee8395..127d863a4 100644
--- a/src/main/java/io/appium/java_client/android/appmanagement/AndroidInstallApplicationOptions.java
+++ b/src/main/java/io/appium/java_client/android/appmanagement/AndroidInstallApplicationOptions.java
@@ -27,8 +27,15 @@
import static java.util.Objects.requireNonNull;
import static java.util.Optional.ofNullable;
+/** Android-specific options for installing an application. */
public class AndroidInstallApplicationOptions extends
BaseInstallApplicationOptions {
+ /**
+ * Creates a new instance.
+ */
+ public AndroidInstallApplicationOptions() {
+ }
+
private Boolean replace;
private Duration timeout;
private Boolean allowTestPackages;
diff --git a/src/main/java/io/appium/java_client/android/appmanagement/AndroidRemoveApplicationOptions.java b/src/main/java/io/appium/java_client/android/appmanagement/AndroidRemoveApplicationOptions.java
index fe1cd3032..dba174f43 100644
--- a/src/main/java/io/appium/java_client/android/appmanagement/AndroidRemoveApplicationOptions.java
+++ b/src/main/java/io/appium/java_client/android/appmanagement/AndroidRemoveApplicationOptions.java
@@ -27,8 +27,15 @@
import static java.util.Objects.requireNonNull;
import static java.util.Optional.ofNullable;
+/** Android-specific options for removing an application. */
public class AndroidRemoveApplicationOptions extends
BaseRemoveApplicationOptions {
+ /**
+ * Creates a new instance.
+ */
+ public AndroidRemoveApplicationOptions() {
+ }
+
private Duration timeout;
private Boolean keepData;
diff --git a/src/main/java/io/appium/java_client/android/appmanagement/AndroidTerminateApplicationOptions.java b/src/main/java/io/appium/java_client/android/appmanagement/AndroidTerminateApplicationOptions.java
index b4e8efaf6..c2624d219 100644
--- a/src/main/java/io/appium/java_client/android/appmanagement/AndroidTerminateApplicationOptions.java
+++ b/src/main/java/io/appium/java_client/android/appmanagement/AndroidTerminateApplicationOptions.java
@@ -27,8 +27,15 @@
import static java.util.Objects.requireNonNull;
import static java.util.Optional.ofNullable;
+/** Android-specific options for terminating an application. */
public class AndroidTerminateApplicationOptions extends
BaseTerminateApplicationOptions {
+ /**
+ * Creates a new instance.
+ */
+ public AndroidTerminateApplicationOptions() {
+ }
+
private Duration timeout;
/**
diff --git a/src/main/java/io/appium/java_client/android/connection/ConnectionState.java b/src/main/java/io/appium/java_client/android/connection/ConnectionState.java
index 7b0134de6..2c8e0d9a3 100644
--- a/src/main/java/io/appium/java_client/android/connection/ConnectionState.java
+++ b/src/main/java/io/appium/java_client/android/connection/ConnectionState.java
@@ -16,17 +16,31 @@
package io.appium.java_client.android.connection;
+/** Network connection state of an Android device, represented as a bit mask. */
public class ConnectionState {
+ /** Bit mask of the airplane mode flag. */
public static final long AIRPLANE_MODE_MASK = 0b001;
+ /** Bit mask of the Wi-Fi flag. */
public static final long WIFI_MASK = 0b010;
+ /** Bit mask of the mobile data flag. */
public static final long DATA_MASK = 0b100;
private final long bitMask;
+ /**
+ * Gets the raw connection state bit mask.
+ *
+ * @return the bit mask combining the airplane mode, Wi-Fi and data flags.
+ */
public long getBitMask() {
return bitMask;
}
+ /**
+ * Creates a connection state from the given bit mask.
+ *
+ * @param bitMask the bit mask combining the airplane mode, Wi-Fi and data flags.
+ */
public ConnectionState(long bitMask) {
this.bitMask = bitMask;
}
diff --git a/src/main/java/io/appium/java_client/android/connection/ConnectionStateBuilder.java b/src/main/java/io/appium/java_client/android/connection/ConnectionStateBuilder.java
index 66bbed50e..66013d5f8 100644
--- a/src/main/java/io/appium/java_client/android/connection/ConnectionStateBuilder.java
+++ b/src/main/java/io/appium/java_client/android/connection/ConnectionStateBuilder.java
@@ -20,6 +20,9 @@
import static io.appium.java_client.android.connection.ConnectionState.DATA_MASK;
import static io.appium.java_client.android.connection.ConnectionState.WIFI_MASK;
+/**
+ * Builds {@link ConnectionState} instances.
+ */
public class ConnectionStateBuilder {
private long bitMask;
diff --git a/src/main/java/io/appium/java_client/android/connection/HasNetworkConnection.java b/src/main/java/io/appium/java_client/android/connection/HasNetworkConnection.java
index b34c69af6..1e8ba165e 100644
--- a/src/main/java/io/appium/java_client/android/connection/HasNetworkConnection.java
+++ b/src/main/java/io/appium/java_client/android/connection/HasNetworkConnection.java
@@ -23,6 +23,7 @@
import static java.util.Objects.requireNonNull;
+/** Provides network connection state management of an Android device. */
public interface HasNetworkConnection extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/android/geolocation/AndroidGeoLocation.java b/src/main/java/io/appium/java_client/android/geolocation/AndroidGeoLocation.java
index 37d878642..e23e6779f 100644
--- a/src/main/java/io/appium/java_client/android/geolocation/AndroidGeoLocation.java
+++ b/src/main/java/io/appium/java_client/android/geolocation/AndroidGeoLocation.java
@@ -22,6 +22,7 @@
import static java.util.Optional.ofNullable;
+/** Geo location with the extended parameters available on Android. */
public class AndroidGeoLocation {
private Double longitude;
private Double latitude;
diff --git a/src/main/java/io/appium/java_client/android/geolocation/SupportsExtendedGeolocationCommands.java b/src/main/java/io/appium/java_client/android/geolocation/SupportsExtendedGeolocationCommands.java
index 0472a5bab..35f1315ed 100644
--- a/src/main/java/io/appium/java_client/android/geolocation/SupportsExtendedGeolocationCommands.java
+++ b/src/main/java/io/appium/java_client/android/geolocation/SupportsExtendedGeolocationCommands.java
@@ -22,6 +22,7 @@
import java.util.Map;
+/** Provides setting of the geo location with the extended Android parameters. */
public interface SupportsExtendedGeolocationCommands extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/android/nativekey/AndroidKey.java b/src/main/java/io/appium/java_client/android/nativekey/AndroidKey.java
index 4138ea69f..8ec8b8a6e 100644
--- a/src/main/java/io/appium/java_client/android/nativekey/AndroidKey.java
+++ b/src/main/java/io/appium/java_client/android/nativekey/AndroidKey.java
@@ -1,5 +1,6 @@
package io.appium.java_client.android.nativekey;
+/** Android native key codes. */
public enum AndroidKey {
/**
* Key code constant: Unknown key code.
@@ -1285,6 +1286,11 @@ public enum AndroidKey {
this.code = code;
}
+ /**
+ * Gets the native Android key code.
+ *
+ * @return the integer key code.
+ */
public int getCode() {
return code;
}
diff --git a/src/main/java/io/appium/java_client/android/nativekey/KeyEvent.java b/src/main/java/io/appium/java_client/android/nativekey/KeyEvent.java
index 984c34cbf..b0dcbfb47 100644
--- a/src/main/java/io/appium/java_client/android/nativekey/KeyEvent.java
+++ b/src/main/java/io/appium/java_client/android/nativekey/KeyEvent.java
@@ -22,14 +22,21 @@
import static java.util.Optional.ofNullable;
+/** Describes a native Android key event. */
public class KeyEvent {
private Integer keyCode;
private Integer metaState;
private Integer flags;
+ /** Creates an empty key event. The key must be set before sending it. */
public KeyEvent() {
}
+ /**
+ * Creates a key event for the given key.
+ *
+ * @param key Native Android key.
+ */
public KeyEvent(AndroidKey key) {
this.keyCode = key.getCode();
}
diff --git a/src/main/java/io/appium/java_client/android/nativekey/KeyEventFlag.java b/src/main/java/io/appium/java_client/android/nativekey/KeyEventFlag.java
index 787264916..e39ed230f 100644
--- a/src/main/java/io/appium/java_client/android/nativekey/KeyEventFlag.java
+++ b/src/main/java/io/appium/java_client/android/nativekey/KeyEventFlag.java
@@ -1,5 +1,6 @@
package io.appium.java_client.android.nativekey;
+/** Native Android key event flags. */
public enum KeyEventFlag {
/**
* This mask is set if the key event was generated by a software keyboard.
@@ -88,6 +89,11 @@ public enum KeyEventFlag {
this.value = value;
}
+ /**
+ * Gets the native flag value.
+ *
+ * @return the integer flag value.
+ */
public int getValue() {
return value;
}
diff --git a/src/main/java/io/appium/java_client/android/nativekey/KeyEventMetaModifier.java b/src/main/java/io/appium/java_client/android/nativekey/KeyEventMetaModifier.java
index b32de52bc..96779cd16 100644
--- a/src/main/java/io/appium/java_client/android/nativekey/KeyEventMetaModifier.java
+++ b/src/main/java/io/appium/java_client/android/nativekey/KeyEventMetaModifier.java
@@ -1,5 +1,6 @@
package io.appium.java_client.android.nativekey;
+/** Native Android key event meta modifiers. */
public enum KeyEventMetaModifier {
/**
* SHIFT key locked in CAPS mode.
@@ -151,6 +152,11 @@ public enum KeyEventMetaModifier {
this.value = value;
}
+ /**
+ * Gets the native modifier value.
+ *
+ * @return the integer modifier value.
+ */
public int getValue() {
return value;
}
diff --git a/src/main/java/io/appium/java_client/android/nativekey/PressesKey.java b/src/main/java/io/appium/java_client/android/nativekey/PressesKey.java
index fb87a22e9..0da4b89fa 100644
--- a/src/main/java/io/appium/java_client/android/nativekey/PressesKey.java
+++ b/src/main/java/io/appium/java_client/android/nativekey/PressesKey.java
@@ -21,6 +21,7 @@
import java.util.HashMap;
+/** Provides sending of native key events to an Android device. */
public interface PressesKey extends ExecutesMethod {
/**
diff --git a/src/main/java/io/appium/java_client/android/options/EspressoOptions.java b/src/main/java/io/appium/java_client/android/options/EspressoOptions.java
index da14a620e..86a8a6955 100644
--- a/src/main/java/io/appium/java_client/android/options/EspressoOptions.java
+++ b/src/main/java/io/appium/java_client/android/options/EspressoOptions.java
@@ -195,15 +195,30 @@ public class EspressoOptions extends BaseOptions implements
// Other options: https://github.com/appium/appium-uiautomator2-driver#other
SupportsDisableSuppressAccessibilityServiceOption,
SupportsSkipLogCaptureOption {
+ /**
+ * Creates options with the default platform and automation names set.
+ */
public EspressoOptions() {
setCommonOptions();
}
+ /**
+ * Creates options with the default platform and automation names set,
+ * and copies the capabilities from the given source.
+ *
+ * @param source Capabilities to copy.
+ */
public EspressoOptions(Capabilities source) {
super(source);
setCommonOptions();
}
+ /**
+ * Creates options with the default platform and automation names set,
+ * and copies the capabilities from the given map.
+ *
+ * @param source Capabilities map to copy.
+ */
public EspressoOptions(Map source) {
super(source);
setCommonOptions();
diff --git a/src/main/java/io/appium/java_client/android/options/UiAutomator2Options.java b/src/main/java/io/appium/java_client/android/options/UiAutomator2Options.java
index 77115496f..9ed02775b 100644
--- a/src/main/java/io/appium/java_client/android/options/UiAutomator2Options.java
+++ b/src/main/java/io/appium/java_client/android/options/UiAutomator2Options.java
@@ -207,15 +207,30 @@ public class UiAutomator2Options extends BaseOptions implem
SupportsDisableSuppressAccessibilityServiceOption,
SupportsUserProfileOption,
SupportsSkipLogCaptureOption {
+ /**
+ * Creates options with the default platform and automation names set.
+ */
public UiAutomator2Options() {
setCommonOptions();
}
+ /**
+ * Creates options with the default platform and automation names set,
+ * and copies the capabilities from the given source.
+ *
+ * @param source Capabilities to copy.
+ */
public UiAutomator2Options(Capabilities source) {
super(source);
setCommonOptions();
}
+ /**
+ * Creates options with the default platform and automation names set,
+ * and copies the capabilities from the given map.
+ *
+ * @param source Capabilities map to copy.
+ */
public UiAutomator2Options(Map source) {
super(source);
setCommonOptions();
diff --git a/src/main/java/io/appium/java_client/android/options/adb/SupportsAdbExecTimeoutOption.java b/src/main/java/io/appium/java_client/android/options/adb/SupportsAdbExecTimeoutOption.java
index 228ab056e..f3d2b0ffe 100644
--- a/src/main/java/io/appium/java_client/android/options/adb/SupportsAdbExecTimeoutOption.java
+++ b/src/main/java/io/appium/java_client/android/options/adb/SupportsAdbExecTimeoutOption.java
@@ -25,8 +25,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toDuration;
+/**
+ * Provides getters and setters for the {@code adbExecTimeout} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAdbExecTimeoutOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code adbExecTimeout} capability.
+ */
String ADB_EXEC_TIMEOUT_OPTION = "adbExecTimeout";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/adb/SupportsAdbPortOption.java b/src/main/java/io/appium/java_client/android/options/adb/SupportsAdbPortOption.java
index 461e609ab..1323e4166 100644
--- a/src/main/java/io/appium/java_client/android/options/adb/SupportsAdbPortOption.java
+++ b/src/main/java/io/appium/java_client/android/options/adb/SupportsAdbPortOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toInteger;
+/**
+ * Provides getters and setters for the {@code adbPort} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAdbPortOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code adbPort} capability.
+ */
String ADB_PORT_OPTION = "adbPort";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/adb/SupportsAllowDelayAdbOption.java b/src/main/java/io/appium/java_client/android/options/adb/SupportsAllowDelayAdbOption.java
index fc8ea3b80..92025dbd3 100644
--- a/src/main/java/io/appium/java_client/android/options/adb/SupportsAllowDelayAdbOption.java
+++ b/src/main/java/io/appium/java_client/android/options/adb/SupportsAllowDelayAdbOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code allowDelayAdb} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAllowDelayAdbOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code allowDelayAdb} capability.
+ */
String ALLOW_DELAY_ADB_OPTION = "allowDelayAdb";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/adb/SupportsBuildToolsVersionOption.java b/src/main/java/io/appium/java_client/android/options/adb/SupportsBuildToolsVersionOption.java
index df5b27f5a..5930b1454 100644
--- a/src/main/java/io/appium/java_client/android/options/adb/SupportsBuildToolsVersionOption.java
+++ b/src/main/java/io/appium/java_client/android/options/adb/SupportsBuildToolsVersionOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code buildToolsVersion} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsBuildToolsVersionOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code buildToolsVersion} capability.
+ */
String BUILD_TOOLS_VERSION_OPTION = "buildToolsVersion";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/adb/SupportsClearDeviceLogsOnStartOption.java b/src/main/java/io/appium/java_client/android/options/adb/SupportsClearDeviceLogsOnStartOption.java
index f48891388..d373a74f2 100644
--- a/src/main/java/io/appium/java_client/android/options/adb/SupportsClearDeviceLogsOnStartOption.java
+++ b/src/main/java/io/appium/java_client/android/options/adb/SupportsClearDeviceLogsOnStartOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code clearDeviceLogsOnStart} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsClearDeviceLogsOnStartOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code clearDeviceLogsOnStart} capability.
+ */
String CLEAR_DEVICE_LOGS_ON_START_OPTION = "clearDeviceLogsOnStart";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/adb/SupportsIgnoreHiddenApiPolicyErrorOption.java b/src/main/java/io/appium/java_client/android/options/adb/SupportsIgnoreHiddenApiPolicyErrorOption.java
index 29999e21d..7f559ca2a 100644
--- a/src/main/java/io/appium/java_client/android/options/adb/SupportsIgnoreHiddenApiPolicyErrorOption.java
+++ b/src/main/java/io/appium/java_client/android/options/adb/SupportsIgnoreHiddenApiPolicyErrorOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code ignoreHiddenApiPolicyError} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsIgnoreHiddenApiPolicyErrorOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code ignoreHiddenApiPolicyError} capability.
+ */
String IGNORE_HIDDEN_API_POLICY_ERROR_OPTION = "ignoreHiddenApiPolicyError";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/adb/SupportsLogcatFilterSpecsOption.java b/src/main/java/io/appium/java_client/android/options/adb/SupportsLogcatFilterSpecsOption.java
index f58076fe6..540bb495b 100644
--- a/src/main/java/io/appium/java_client/android/options/adb/SupportsLogcatFilterSpecsOption.java
+++ b/src/main/java/io/appium/java_client/android/options/adb/SupportsLogcatFilterSpecsOption.java
@@ -23,8 +23,16 @@
import java.util.List;
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code logcatFilterSpecs} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsLogcatFilterSpecsOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code logcatFilterSpecs} capability.
+ */
String LOGCAT_FILTER_SPECS_OPTION = "logcatFilterSpecs";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/adb/SupportsLogcatFormatOption.java b/src/main/java/io/appium/java_client/android/options/adb/SupportsLogcatFormatOption.java
index 98302419e..7aba405d4 100644
--- a/src/main/java/io/appium/java_client/android/options/adb/SupportsLogcatFormatOption.java
+++ b/src/main/java/io/appium/java_client/android/options/adb/SupportsLogcatFormatOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code logcatFormat} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsLogcatFormatOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code logcatFormat} capability.
+ */
String LOGCAT_FORMAT_OPTION = "logcatFormat";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/adb/SupportsMockLocationAppOption.java b/src/main/java/io/appium/java_client/android/options/adb/SupportsMockLocationAppOption.java
index e0b690f38..c496f3c66 100644
--- a/src/main/java/io/appium/java_client/android/options/adb/SupportsMockLocationAppOption.java
+++ b/src/main/java/io/appium/java_client/android/options/adb/SupportsMockLocationAppOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code mockLocationApp} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsMockLocationAppOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code mockLocationApp} capability.
+ */
String MOCK_LOCATION_APP_OPTION = "mockLocationApp";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/adb/SupportsRemoteAdbHostOption.java b/src/main/java/io/appium/java_client/android/options/adb/SupportsRemoteAdbHostOption.java
index 6e8c94a1d..13762d520 100644
--- a/src/main/java/io/appium/java_client/android/options/adb/SupportsRemoteAdbHostOption.java
+++ b/src/main/java/io/appium/java_client/android/options/adb/SupportsRemoteAdbHostOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code remoteAdbHost} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsRemoteAdbHostOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code remoteAdbHost} capability.
+ */
String REMOTE_ADB_HOST_OPTION = "remoteAdbHost";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/adb/SupportsSkipLogcatCaptureOption.java b/src/main/java/io/appium/java_client/android/options/adb/SupportsSkipLogcatCaptureOption.java
index 1bd0f6b42..ae7d9f6a6 100644
--- a/src/main/java/io/appium/java_client/android/options/adb/SupportsSkipLogcatCaptureOption.java
+++ b/src/main/java/io/appium/java_client/android/options/adb/SupportsSkipLogcatCaptureOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code skipLogcatCapture} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsSkipLogcatCaptureOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code skipLogcatCapture} capability.
+ */
String SKIP_LOGCAT_CAPTURE_OPTION = "skipLogcatCapture";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/adb/SupportsSuppressKillServerOption.java b/src/main/java/io/appium/java_client/android/options/adb/SupportsSuppressKillServerOption.java
index daaa9666b..2da5f4e75 100644
--- a/src/main/java/io/appium/java_client/android/options/adb/SupportsSuppressKillServerOption.java
+++ b/src/main/java/io/appium/java_client/android/options/adb/SupportsSuppressKillServerOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code suppressKillServer} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsSuppressKillServerOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code suppressKillServer} capability.
+ */
String SUPPRESS_KILL_SERVER_OPTION = "suppressKillServer";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/app/ActivityOptions.java b/src/main/java/io/appium/java_client/android/options/app/ActivityOptions.java
index 6a3db25d7..71f809c94 100644
--- a/src/main/java/io/appium/java_client/android/options/app/ActivityOptions.java
+++ b/src/main/java/io/appium/java_client/android/options/app/ActivityOptions.java
@@ -22,11 +22,22 @@
import java.util.Map;
import java.util.Optional;
+/**
+ * Custom options for the main app activity, mapped to the {@code activityOptions} capability.
+ */
public class ActivityOptions extends BaseMapOptionData {
+ /**
+ * Creates empty options.
+ */
public ActivityOptions() {
super();
}
+ /**
+ * Creates options from the given map.
+ *
+ * @param options Initial option values.
+ */
public ActivityOptions(Map options) {
super(options);
}
diff --git a/src/main/java/io/appium/java_client/android/options/app/IntentOptions.java b/src/main/java/io/appium/java_client/android/options/app/IntentOptions.java
index 67f09f2b5..28e7302f5 100644
--- a/src/main/java/io/appium/java_client/android/options/app/IntentOptions.java
+++ b/src/main/java/io/appium/java_client/android/options/app/IntentOptions.java
@@ -24,11 +24,22 @@
import java.util.function.Function;
import java.util.stream.Collectors;
+/**
+ * Custom options for the intent used to start the app, mapped to the {@code intentOptions} capability.
+ */
public class IntentOptions extends BaseMapOptionData {
+ /**
+ * Creates empty options.
+ */
public IntentOptions() {
super();
}
+ /**
+ * Creates options from the given map.
+ *
+ * @param options Initial option values.
+ */
public IntentOptions(Map options) {
super(options);
}
diff --git a/src/main/java/io/appium/java_client/android/options/app/SupportsActivityOptionsOption.java b/src/main/java/io/appium/java_client/android/options/app/SupportsActivityOptionsOption.java
index 59d5fe520..125796525 100644
--- a/src/main/java/io/appium/java_client/android/options/app/SupportsActivityOptionsOption.java
+++ b/src/main/java/io/appium/java_client/android/options/app/SupportsActivityOptionsOption.java
@@ -23,8 +23,16 @@
import java.util.Map;
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code activityOptions} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsActivityOptionsOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code activityOptions} capability.
+ */
String ACTIVITY_OPTIONS_OPTION = "activityOptions";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/app/SupportsAllowTestPackagesOption.java b/src/main/java/io/appium/java_client/android/options/app/SupportsAllowTestPackagesOption.java
index 2926aa932..d9b7bc2d6 100644
--- a/src/main/java/io/appium/java_client/android/options/app/SupportsAllowTestPackagesOption.java
+++ b/src/main/java/io/appium/java_client/android/options/app/SupportsAllowTestPackagesOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code allowTestPackages} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAllowTestPackagesOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code allowTestPackages} capability.
+ */
String ALLOW_TEST_PACKAGES_OPTION = "allowTestPackages";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/app/SupportsAndroidInstallTimeoutOption.java b/src/main/java/io/appium/java_client/android/options/app/SupportsAndroidInstallTimeoutOption.java
index ead32780b..37face26e 100644
--- a/src/main/java/io/appium/java_client/android/options/app/SupportsAndroidInstallTimeoutOption.java
+++ b/src/main/java/io/appium/java_client/android/options/app/SupportsAndroidInstallTimeoutOption.java
@@ -24,8 +24,16 @@
import java.time.Duration;
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code androidInstallTimeout} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAndroidInstallTimeoutOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code androidInstallTimeout} capability.
+ */
String ANDROID_INSTALL_TIMEOUT_OPTION = "androidInstallTimeout";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/app/SupportsAppActivityOption.java b/src/main/java/io/appium/java_client/android/options/app/SupportsAppActivityOption.java
index 6e1e544bd..72c54ab78 100644
--- a/src/main/java/io/appium/java_client/android/options/app/SupportsAppActivityOption.java
+++ b/src/main/java/io/appium/java_client/android/options/app/SupportsAppActivityOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code appActivity} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAppActivityOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code appActivity} capability.
+ */
String APP_ACTIVITY_OPTION = "appActivity";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/app/SupportsAppPackageOption.java b/src/main/java/io/appium/java_client/android/options/app/SupportsAppPackageOption.java
index a82cc5dfe..fad2d0c51 100644
--- a/src/main/java/io/appium/java_client/android/options/app/SupportsAppPackageOption.java
+++ b/src/main/java/io/appium/java_client/android/options/app/SupportsAppPackageOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code appPackage} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAppPackageOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code appPackage} capability.
+ */
String APP_PACKAGE_OPTION = "appPackage";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/app/SupportsAppWaitActivityOption.java b/src/main/java/io/appium/java_client/android/options/app/SupportsAppWaitActivityOption.java
index 5567fbb1e..b14702b5c 100644
--- a/src/main/java/io/appium/java_client/android/options/app/SupportsAppWaitActivityOption.java
+++ b/src/main/java/io/appium/java_client/android/options/app/SupportsAppWaitActivityOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code appWaitActivity} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAppWaitActivityOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code appWaitActivity} capability.
+ */
String APP_WAIT_ACTIVITY_OPTION = "appWaitActivity";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/app/SupportsAppWaitDurationOption.java b/src/main/java/io/appium/java_client/android/options/app/SupportsAppWaitDurationOption.java
index 77039f70d..72c872031 100644
--- a/src/main/java/io/appium/java_client/android/options/app/SupportsAppWaitDurationOption.java
+++ b/src/main/java/io/appium/java_client/android/options/app/SupportsAppWaitDurationOption.java
@@ -25,8 +25,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toDuration;
+/**
+ * Provides getters and setters for the {@code appWaitDuration} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAppWaitDurationOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code appWaitDuration} capability.
+ */
String APP_WAIT_DURATION_OPTION = "appWaitDuration";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/app/SupportsAppWaitForLaunchOption.java b/src/main/java/io/appium/java_client/android/options/app/SupportsAppWaitForLaunchOption.java
index 70e440b54..8f7442860 100644
--- a/src/main/java/io/appium/java_client/android/options/app/SupportsAppWaitForLaunchOption.java
+++ b/src/main/java/io/appium/java_client/android/options/app/SupportsAppWaitForLaunchOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code appWaitForLaunch} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAppWaitForLaunchOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code appWaitForLaunch} capability.
+ */
String APP_WAIT_FOR_LAUNCH_OPTION = "appWaitForLaunch";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/app/SupportsAppWaitPackageOption.java b/src/main/java/io/appium/java_client/android/options/app/SupportsAppWaitPackageOption.java
index 6089d9bcf..9f16f9cb6 100644
--- a/src/main/java/io/appium/java_client/android/options/app/SupportsAppWaitPackageOption.java
+++ b/src/main/java/io/appium/java_client/android/options/app/SupportsAppWaitPackageOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code appWaitPackage} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAppWaitPackageOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code appWaitPackage} capability.
+ */
String APP_WAIT_PACKAGE_OPTION = "appWaitPackage";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/app/SupportsAutoGrantPermissionsOption.java b/src/main/java/io/appium/java_client/android/options/app/SupportsAutoGrantPermissionsOption.java
index 7a7d6cde1..eccf97154 100644
--- a/src/main/java/io/appium/java_client/android/options/app/SupportsAutoGrantPermissionsOption.java
+++ b/src/main/java/io/appium/java_client/android/options/app/SupportsAutoGrantPermissionsOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code autoGrantPermissions} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAutoGrantPermissionsOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code autoGrantPermissions} capability.
+ */
String AUTO_GRANT_PERMISSIONS_OPTION = "autoGrantPermissions";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/app/SupportsIntentActionOption.java b/src/main/java/io/appium/java_client/android/options/app/SupportsIntentActionOption.java
index 7fc2afe89..71ccf26a7 100644
--- a/src/main/java/io/appium/java_client/android/options/app/SupportsIntentActionOption.java
+++ b/src/main/java/io/appium/java_client/android/options/app/SupportsIntentActionOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code intentAction} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsIntentActionOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code intentAction} capability.
+ */
String INTENT_ACTION_OPTION = "intentAction";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/app/SupportsIntentCategoryOption.java b/src/main/java/io/appium/java_client/android/options/app/SupportsIntentCategoryOption.java
index 287ac09d4..2b75ce276 100644
--- a/src/main/java/io/appium/java_client/android/options/app/SupportsIntentCategoryOption.java
+++ b/src/main/java/io/appium/java_client/android/options/app/SupportsIntentCategoryOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code intentCategory} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsIntentCategoryOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code intentCategory} capability.
+ */
String INTENT_CATEGORY_OPTION = "intentCategory";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/app/SupportsIntentFlagsOption.java b/src/main/java/io/appium/java_client/android/options/app/SupportsIntentFlagsOption.java
index 6c9ed08a8..eb524b66c 100644
--- a/src/main/java/io/appium/java_client/android/options/app/SupportsIntentFlagsOption.java
+++ b/src/main/java/io/appium/java_client/android/options/app/SupportsIntentFlagsOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code intentFlags} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsIntentFlagsOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code intentFlags} capability.
+ */
String INTENT_FLAGS_OPTION = "intentFlags";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/app/SupportsIntentOptionsOption.java b/src/main/java/io/appium/java_client/android/options/app/SupportsIntentOptionsOption.java
index 3c0fab894..ca4eb08f4 100644
--- a/src/main/java/io/appium/java_client/android/options/app/SupportsIntentOptionsOption.java
+++ b/src/main/java/io/appium/java_client/android/options/app/SupportsIntentOptionsOption.java
@@ -23,8 +23,16 @@
import java.util.Map;
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code intentOptions} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsIntentOptionsOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code intentOptions} capability.
+ */
String INTENT_OPTIONS_OPTION = "intentOptions";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/app/SupportsOptionalIntentArgumentsOption.java b/src/main/java/io/appium/java_client/android/options/app/SupportsOptionalIntentArgumentsOption.java
index da5d5a3c7..d9afef612 100644
--- a/src/main/java/io/appium/java_client/android/options/app/SupportsOptionalIntentArgumentsOption.java
+++ b/src/main/java/io/appium/java_client/android/options/app/SupportsOptionalIntentArgumentsOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code optionalIntentArguments} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsOptionalIntentArgumentsOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code optionalIntentArguments} capability.
+ */
String OPTIONAL_INTENT_ARGUMENTS_OPTION = "optionalIntentArguments";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/app/SupportsRemoteAppsCacheLimitOption.java b/src/main/java/io/appium/java_client/android/options/app/SupportsRemoteAppsCacheLimitOption.java
index e44e8fcf4..a98b8d648 100644
--- a/src/main/java/io/appium/java_client/android/options/app/SupportsRemoteAppsCacheLimitOption.java
+++ b/src/main/java/io/appium/java_client/android/options/app/SupportsRemoteAppsCacheLimitOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toInteger;
+/**
+ * Provides getters and setters for the {@code remoteAppsCacheLimit} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsRemoteAppsCacheLimitOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code remoteAppsCacheLimit} capability.
+ */
String REMOTE_APPS_CACHE_LIMIT_OPTION = "remoteAppsCacheLimit";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/app/SupportsUninstallOtherPackagesOption.java b/src/main/java/io/appium/java_client/android/options/app/SupportsUninstallOtherPackagesOption.java
index fb1402d79..d9f97d354 100644
--- a/src/main/java/io/appium/java_client/android/options/app/SupportsUninstallOtherPackagesOption.java
+++ b/src/main/java/io/appium/java_client/android/options/app/SupportsUninstallOtherPackagesOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code uninstallOtherPackages} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsUninstallOtherPackagesOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code uninstallOtherPackages} capability.
+ */
String UNINSTALL_OTHER_PACKAGES_OPTION = "uninstallOtherPackages";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdArgsOption.java b/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdArgsOption.java
index bca9866c0..073036215 100644
--- a/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdArgsOption.java
+++ b/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdArgsOption.java
@@ -24,8 +24,16 @@
import java.util.List;
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code avdArgs} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAvdArgsOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code avdArgs} capability.
+ */
String AVD_ARGS_OPTION = "avdArgs";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdEnvOption.java b/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdEnvOption.java
index 9fadb6532..ab84a0dc1 100644
--- a/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdEnvOption.java
+++ b/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdEnvOption.java
@@ -23,8 +23,16 @@
import java.util.Map;
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code avdEnv} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAvdEnvOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code avdEnv} capability.
+ */
String AVD_ENV_OPTION = "avdEnv";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdLaunchTimeoutOption.java b/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdLaunchTimeoutOption.java
index 974b02203..bd80586ac 100644
--- a/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdLaunchTimeoutOption.java
+++ b/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdLaunchTimeoutOption.java
@@ -25,8 +25,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toDuration;
+/**
+ * Provides getters and setters for the {@code avdLaunchTimeout} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAvdLaunchTimeoutOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code avdLaunchTimeout} capability.
+ */
String AVD_LAUNCH_TIMEOUT_OPTION = "avdLaunchTimeout";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdOption.java b/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdOption.java
index 8eac74bd4..617939b5b 100644
--- a/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdOption.java
+++ b/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code avd} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAvdOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code avd} capability.
+ */
String AVD_OPTION = "avd";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdReadyTimeoutOption.java b/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdReadyTimeoutOption.java
index 68f1e27f2..ecdec1439 100644
--- a/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdReadyTimeoutOption.java
+++ b/src/main/java/io/appium/java_client/android/options/avd/SupportsAvdReadyTimeoutOption.java
@@ -25,8 +25,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toDuration;
+/**
+ * Provides getters and setters for the {@code avdReadyTimeout} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAvdReadyTimeoutOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code avdReadyTimeout} capability.
+ */
String AVD_READY_TIMEOUT_OPTION = "avdReadyTimeout";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/avd/SupportsGpsEnabledOption.java b/src/main/java/io/appium/java_client/android/options/avd/SupportsGpsEnabledOption.java
index 91dce65da..9a5237cb2 100644
--- a/src/main/java/io/appium/java_client/android/options/avd/SupportsGpsEnabledOption.java
+++ b/src/main/java/io/appium/java_client/android/options/avd/SupportsGpsEnabledOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code gpsEnabled} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsGpsEnabledOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code gpsEnabled} capability.
+ */
String GPS_ENABLED_OPTION = "gpsEnabled";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/avd/SupportsNetworkSpeedOption.java b/src/main/java/io/appium/java_client/android/options/avd/SupportsNetworkSpeedOption.java
index 5a3d05b47..c9306e8d5 100644
--- a/src/main/java/io/appium/java_client/android/options/avd/SupportsNetworkSpeedOption.java
+++ b/src/main/java/io/appium/java_client/android/options/avd/SupportsNetworkSpeedOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code networkSpeed} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsNetworkSpeedOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code networkSpeed} capability.
+ */
String NETWORK_SPEED_OPTION = "networkSpeed";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/context/SupportsAutoWebviewTimeoutOption.java b/src/main/java/io/appium/java_client/android/options/context/SupportsAutoWebviewTimeoutOption.java
index 0f0a07967..1443386f9 100644
--- a/src/main/java/io/appium/java_client/android/options/context/SupportsAutoWebviewTimeoutOption.java
+++ b/src/main/java/io/appium/java_client/android/options/context/SupportsAutoWebviewTimeoutOption.java
@@ -25,8 +25,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toDuration;
+/**
+ * Provides getters and setters for the {@code autoWebviewTimeout} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAutoWebviewTimeoutOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code autoWebviewTimeout} capability.
+ */
String AUTO_WEBVIEW_TIMEOUT_OPTION = "autoWebviewTimeout";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/context/SupportsChromeLoggingPrefsOption.java b/src/main/java/io/appium/java_client/android/options/context/SupportsChromeLoggingPrefsOption.java
index f47f4d865..e7ac94779 100644
--- a/src/main/java/io/appium/java_client/android/options/context/SupportsChromeLoggingPrefsOption.java
+++ b/src/main/java/io/appium/java_client/android/options/context/SupportsChromeLoggingPrefsOption.java
@@ -23,8 +23,16 @@
import java.util.Map;
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code chromeLoggingPrefs} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsChromeLoggingPrefsOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code chromeLoggingPrefs} capability.
+ */
String CHROME_LOGGING_PREFS_OPTION = "chromeLoggingPrefs";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/context/SupportsChromeOptionsOption.java b/src/main/java/io/appium/java_client/android/options/context/SupportsChromeOptionsOption.java
index 955a6c2a7..8e9e04d06 100644
--- a/src/main/java/io/appium/java_client/android/options/context/SupportsChromeOptionsOption.java
+++ b/src/main/java/io/appium/java_client/android/options/context/SupportsChromeOptionsOption.java
@@ -23,8 +23,16 @@
import java.util.Map;
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code chromeOptions} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsChromeOptionsOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code chromeOptions} capability.
+ */
String CHROME_OPTIONS_OPTION = "chromeOptions";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverArgsOption.java b/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverArgsOption.java
index 227088b35..7e60a0ef3 100644
--- a/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverArgsOption.java
+++ b/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverArgsOption.java
@@ -23,8 +23,16 @@
import java.util.List;
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code chromedriverArgs} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsChromedriverArgsOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code chromedriverArgs} capability.
+ */
String CHROMEDRIVER_ARGS_OPTION = "chromedriverArgs";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverChromeMappingFileOption.java b/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverChromeMappingFileOption.java
index 83faaef42..d23e2f092 100644
--- a/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverChromeMappingFileOption.java
+++ b/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverChromeMappingFileOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code chromedriverChromeMappingFile} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsChromedriverChromeMappingFileOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code chromedriverChromeMappingFile} capability.
+ */
String CHROMEDRIVER_CHROME_MAPPING_FILE_OPTION = "chromedriverChromeMappingFile";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverDisableBuildCheckOption.java b/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverDisableBuildCheckOption.java
index 7757b0ed3..977b81017 100644
--- a/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverDisableBuildCheckOption.java
+++ b/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverDisableBuildCheckOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code chromedriverDisableBuildCheck} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsChromedriverDisableBuildCheckOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code chromedriverDisableBuildCheck} capability.
+ */
String CHROMEDRIVER_DISABLE_BUILD_CHECK_OPTION = "chromedriverDisableBuildCheck";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverExecutableDirOption.java b/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverExecutableDirOption.java
index 994021a5f..4deb9147d 100644
--- a/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverExecutableDirOption.java
+++ b/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverExecutableDirOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code chromedriverExecutableDir} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsChromedriverExecutableDirOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code chromedriverExecutableDir} capability.
+ */
String CHROMEDRIVER_EXECUTABLE_DIR_OPTION = "chromedriverExecutableDir";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverExecutableOption.java b/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverExecutableOption.java
index 4f73b42a2..dadf4e61e 100644
--- a/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverExecutableOption.java
+++ b/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverExecutableOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code chromedriverExecutable} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsChromedriverExecutableOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code chromedriverExecutable} capability.
+ */
String CHROMEDRIVER_EXECUTABLE_OPTION = "chromedriverExecutable";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverPortOption.java b/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverPortOption.java
index fa6cc1f5a..d4e6de6fa 100644
--- a/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverPortOption.java
+++ b/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverPortOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toInteger;
+/**
+ * Provides getters and setters for the {@code chromedriverPort} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsChromedriverPortOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code chromedriverPort} capability.
+ */
String CHROMEDRIVER_PORT_OPTION = "chromedriverPort";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverPortsOption.java b/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverPortsOption.java
index eb0a4630c..89e6c557a 100644
--- a/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverPortsOption.java
+++ b/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverPortsOption.java
@@ -23,8 +23,16 @@
import java.util.List;
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code chromedriverPorts} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsChromedriverPortsOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code chromedriverPorts} capability.
+ */
String CHROMEDRIVER_PORTS_OPTION = "chromedriverPorts";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverUseSystemExecutableOption.java b/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverUseSystemExecutableOption.java
index 62e653cb0..89e13ee96 100644
--- a/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverUseSystemExecutableOption.java
+++ b/src/main/java/io/appium/java_client/android/options/context/SupportsChromedriverUseSystemExecutableOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code chromedriverUseSystemExecutable} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsChromedriverUseSystemExecutableOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code chromedriverUseSystemExecutable} capability.
+ */
String CHROMEDRIVER_USE_SYSTEM_EXECUTABLE_OPTION = "chromedriverUseSystemExecutable";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/context/SupportsEnsureWebviewsHavePagesOption.java b/src/main/java/io/appium/java_client/android/options/context/SupportsEnsureWebviewsHavePagesOption.java
index d72cbe066..b1f67850c 100644
--- a/src/main/java/io/appium/java_client/android/options/context/SupportsEnsureWebviewsHavePagesOption.java
+++ b/src/main/java/io/appium/java_client/android/options/context/SupportsEnsureWebviewsHavePagesOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code ensureWebviewsHavePages} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsEnsureWebviewsHavePagesOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code ensureWebviewsHavePages} capability.
+ */
String ENSURE_WEBVIEWS_HAVE_PAGES_OPTION = "ensureWebviewsHavePages";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/context/SupportsExtractChromeAndroidPackageFromContextNameOption.java b/src/main/java/io/appium/java_client/android/options/context/SupportsExtractChromeAndroidPackageFromContextNameOption.java
index 447a1f2f4..8d4d8714b 100644
--- a/src/main/java/io/appium/java_client/android/options/context/SupportsExtractChromeAndroidPackageFromContextNameOption.java
+++ b/src/main/java/io/appium/java_client/android/options/context/SupportsExtractChromeAndroidPackageFromContextNameOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code extractChromeAndroidPackageFromContextName} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsExtractChromeAndroidPackageFromContextNameOption
> extends Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code extractChromeAndroidPackageFromContextName} capability.
+ */
String EXTRACT_CHROME_ANDROID_PACKAGE_FROM_CONTEXT_NAME_OPTION =
"extractChromeAndroidPackageFromContextName";
diff --git a/src/main/java/io/appium/java_client/android/options/context/SupportsNativeWebScreenshotOption.java b/src/main/java/io/appium/java_client/android/options/context/SupportsNativeWebScreenshotOption.java
index 71e5934ff..4721b38e1 100644
--- a/src/main/java/io/appium/java_client/android/options/context/SupportsNativeWebScreenshotOption.java
+++ b/src/main/java/io/appium/java_client/android/options/context/SupportsNativeWebScreenshotOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code nativeWebScreenshot} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsNativeWebScreenshotOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code nativeWebScreenshot} capability.
+ */
String NATIVE_WEB_SCREENSHOT_OPTION = "nativeWebScreenshot";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/context/SupportsRecreateChromeDriverSessionsOption.java b/src/main/java/io/appium/java_client/android/options/context/SupportsRecreateChromeDriverSessionsOption.java
index a47ade424..394ea33c3 100644
--- a/src/main/java/io/appium/java_client/android/options/context/SupportsRecreateChromeDriverSessionsOption.java
+++ b/src/main/java/io/appium/java_client/android/options/context/SupportsRecreateChromeDriverSessionsOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code recreateChromeDriverSessions} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsRecreateChromeDriverSessionsOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code recreateChromeDriverSessions} capability.
+ */
String RECREATE_CHROME_DRIVER_SESSIONS = "recreateChromeDriverSessions";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/context/SupportsShowChromedriverLogOption.java b/src/main/java/io/appium/java_client/android/options/context/SupportsShowChromedriverLogOption.java
index ef2b6f301..845a3eed1 100644
--- a/src/main/java/io/appium/java_client/android/options/context/SupportsShowChromedriverLogOption.java
+++ b/src/main/java/io/appium/java_client/android/options/context/SupportsShowChromedriverLogOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code showChromedriverLog} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsShowChromedriverLogOption>
extends Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code showChromedriverLog} capability.
+ */
String SHOW_CHROMEDRIVER_LOG_OPTION = "showChromedriverLog";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/context/SupportsWebviewDevtoolsPortOption.java b/src/main/java/io/appium/java_client/android/options/context/SupportsWebviewDevtoolsPortOption.java
index e48e73fad..e99d52999 100644
--- a/src/main/java/io/appium/java_client/android/options/context/SupportsWebviewDevtoolsPortOption.java
+++ b/src/main/java/io/appium/java_client/android/options/context/SupportsWebviewDevtoolsPortOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toInteger;
+/**
+ * Provides getters and setters for the {@code webviewDevtoolsPort} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsWebviewDevtoolsPortOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code webviewDevtoolsPort} capability.
+ */
String WEBVIEW_DEVTOOLS_PORT_OPTION = "webviewDevtoolsPort";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/localization/AppLocale.java b/src/main/java/io/appium/java_client/android/options/localization/AppLocale.java
index f8f0147f7..035d03c48 100644
--- a/src/main/java/io/appium/java_client/android/options/localization/AppLocale.java
+++ b/src/main/java/io/appium/java_client/android/options/localization/AppLocale.java
@@ -21,11 +21,22 @@
import java.util.Map;
import java.util.Optional;
+/**
+ * Locale of the app under test, mapped to the {@code appLocale} capability.
+ */
public class AppLocale extends BaseMapOptionData {
+ /**
+ * Creates empty options.
+ */
public AppLocale() {
super();
}
+ /**
+ * Creates options from the given map.
+ *
+ * @param options Initial option values.
+ */
public AppLocale(Map options) {
super(options);
}
diff --git a/src/main/java/io/appium/java_client/android/options/localization/SupportsAppLocaleOption.java b/src/main/java/io/appium/java_client/android/options/localization/SupportsAppLocaleOption.java
index d8fafba02..b665876e9 100644
--- a/src/main/java/io/appium/java_client/android/options/localization/SupportsAppLocaleOption.java
+++ b/src/main/java/io/appium/java_client/android/options/localization/SupportsAppLocaleOption.java
@@ -23,8 +23,16 @@
import java.util.Map;
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code appLocale} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsAppLocaleOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code appLocale} capability.
+ */
String APP_LOCALE_OPTION = "appLocale";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/localization/SupportsLocaleScriptOption.java b/src/main/java/io/appium/java_client/android/options/localization/SupportsLocaleScriptOption.java
index 835c7d41d..be08413a9 100644
--- a/src/main/java/io/appium/java_client/android/options/localization/SupportsLocaleScriptOption.java
+++ b/src/main/java/io/appium/java_client/android/options/localization/SupportsLocaleScriptOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code localeScript} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsLocaleScriptOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code localeScript} capability.
+ */
String LOCALE_SCRIPT_OPTION = "localeScript";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/locking/SupportsSkipUnlockOption.java b/src/main/java/io/appium/java_client/android/options/locking/SupportsSkipUnlockOption.java
index 0846dddfe..3570656d0 100644
--- a/src/main/java/io/appium/java_client/android/options/locking/SupportsSkipUnlockOption.java
+++ b/src/main/java/io/appium/java_client/android/options/locking/SupportsSkipUnlockOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code skipUnlock} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsSkipUnlockOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code skipUnlock} capability.
+ */
String SKIP_UNLOCK_OPTION = "skipUnlock";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/locking/SupportsUnlockKeyOption.java b/src/main/java/io/appium/java_client/android/options/locking/SupportsUnlockKeyOption.java
index 011ca2c87..4db74d288 100644
--- a/src/main/java/io/appium/java_client/android/options/locking/SupportsUnlockKeyOption.java
+++ b/src/main/java/io/appium/java_client/android/options/locking/SupportsUnlockKeyOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code unlockKey} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsUnlockKeyOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code unlockKey} capability.
+ */
String UNLOCK_KEY_OPTION = "unlockKey";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/locking/SupportsUnlockStrategyOption.java b/src/main/java/io/appium/java_client/android/options/locking/SupportsUnlockStrategyOption.java
index 6329d6861..1dca5ec94 100644
--- a/src/main/java/io/appium/java_client/android/options/locking/SupportsUnlockStrategyOption.java
+++ b/src/main/java/io/appium/java_client/android/options/locking/SupportsUnlockStrategyOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code unlockStrategy} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsUnlockStrategyOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code unlockStrategy} capability.
+ */
String UNLOCK_STRATEGY_OPTION = "unlockStrategy";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/locking/SupportsUnlockSuccessTimeoutOption.java b/src/main/java/io/appium/java_client/android/options/locking/SupportsUnlockSuccessTimeoutOption.java
index 487fbbdca..ad88cd167 100644
--- a/src/main/java/io/appium/java_client/android/options/locking/SupportsUnlockSuccessTimeoutOption.java
+++ b/src/main/java/io/appium/java_client/android/options/locking/SupportsUnlockSuccessTimeoutOption.java
@@ -25,8 +25,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toDuration;
+/**
+ * Provides getters and setters for the {@code unlockSuccessTimeout} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsUnlockSuccessTimeoutOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code unlockSuccessTimeout} capability.
+ */
String UNLOCK_SUCCESS_TIMEOUT_OPTION = "unlockSuccessTimeout";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/locking/SupportsUnlockTypeOption.java b/src/main/java/io/appium/java_client/android/options/locking/SupportsUnlockTypeOption.java
index 76b749fef..ff0f724e2 100644
--- a/src/main/java/io/appium/java_client/android/options/locking/SupportsUnlockTypeOption.java
+++ b/src/main/java/io/appium/java_client/android/options/locking/SupportsUnlockTypeOption.java
@@ -22,8 +22,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code unlockType} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsUnlockTypeOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code unlockType} capability.
+ */
String UNLOCK_TYPE_OPTION = "unlockType";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/mjpeg/SupportsMjpegScreenshotUrlOption.java b/src/main/java/io/appium/java_client/android/options/mjpeg/SupportsMjpegScreenshotUrlOption.java
index bd8111c94..265b8ced3 100644
--- a/src/main/java/io/appium/java_client/android/options/mjpeg/SupportsMjpegScreenshotUrlOption.java
+++ b/src/main/java/io/appium/java_client/android/options/mjpeg/SupportsMjpegScreenshotUrlOption.java
@@ -24,8 +24,16 @@
import java.net.URL;
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code mjpegScreenshotUrl} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsMjpegScreenshotUrlOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code mjpegScreenshotUrl} capability.
+ */
String MJPEG_SCREENSHOT_URL_OPTION = "mjpegScreenshotUrl";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/mjpeg/SupportsMjpegServerPortOption.java b/src/main/java/io/appium/java_client/android/options/mjpeg/SupportsMjpegServerPortOption.java
index 2649a5eb0..2e5e9223c 100644
--- a/src/main/java/io/appium/java_client/android/options/mjpeg/SupportsMjpegServerPortOption.java
+++ b/src/main/java/io/appium/java_client/android/options/mjpeg/SupportsMjpegServerPortOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toInteger;
+/**
+ * Provides getters and setters for the {@code mjpegServerPort} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsMjpegServerPortOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code mjpegServerPort} capability.
+ */
String MJPEG_SERVER_PORT_OPTION = "mjpegServerPort";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/other/SupportsDisableSuppressAccessibilityServiceOption.java b/src/main/java/io/appium/java_client/android/options/other/SupportsDisableSuppressAccessibilityServiceOption.java
index eab017873..63b03d549 100644
--- a/src/main/java/io/appium/java_client/android/options/other/SupportsDisableSuppressAccessibilityServiceOption.java
+++ b/src/main/java/io/appium/java_client/android/options/other/SupportsDisableSuppressAccessibilityServiceOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code disableSuppressAccessibilityService} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsDisableSuppressAccessibilityServiceOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code disableSuppressAccessibilityService} capability.
+ */
String DISABLE_SUPPRESS_ACCESSIBILITY_SERVICE_OPTION = "disableSuppressAccessibilityService";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/other/SupportsUserProfileOption.java b/src/main/java/io/appium/java_client/android/options/other/SupportsUserProfileOption.java
index 0408abb1c..e927aa1b4 100644
--- a/src/main/java/io/appium/java_client/android/options/other/SupportsUserProfileOption.java
+++ b/src/main/java/io/appium/java_client/android/options/other/SupportsUserProfileOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toInteger;
+/**
+ * Provides getters and setters for the {@code userProfile} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsUserProfileOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code userProfile} capability.
+ */
String USER_PROFILE_OPTION = "userProfile";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/server/EspressoBuildConfig.java b/src/main/java/io/appium/java_client/android/options/server/EspressoBuildConfig.java
index 4cbc571da..c24893cc5 100644
--- a/src/main/java/io/appium/java_client/android/options/server/EspressoBuildConfig.java
+++ b/src/main/java/io/appium/java_client/android/options/server/EspressoBuildConfig.java
@@ -24,16 +24,30 @@
import java.util.Map;
import java.util.Optional;
+/**
+ * Build configuration of the Espresso server, mapped to the {@code espressoBuildConfig} capability.
+ */
public class EspressoBuildConfig extends BaseMapOptionData {
+ /** Name of the tools versions section. */
public static final String TOOLS_VERSION = "toolsVersions";
+ /** Name of the additional app dependencies option. */
public static final String ADDITIONAL_APP_DEPENDENCIES = "additionalAppDependencies";
+ /** Name of the additional Android test dependencies option. */
public static final String ADDITIONAL_ANDROID_TEST_DEPENDENCIES
= "additionalAndroidTestDependencies";
+ /**
+ * Creates an empty build config.
+ */
public EspressoBuildConfig() {
super();
}
+ /**
+ * Creates a build config from the given JSON.
+ *
+ * @param json JSON string with the build config.
+ */
public EspressoBuildConfig(String json) {
super(json);
}
diff --git a/src/main/java/io/appium/java_client/android/options/server/SupportsDisableWindowAnimationOption.java b/src/main/java/io/appium/java_client/android/options/server/SupportsDisableWindowAnimationOption.java
index c8acbaac9..67fe68fbc 100644
--- a/src/main/java/io/appium/java_client/android/options/server/SupportsDisableWindowAnimationOption.java
+++ b/src/main/java/io/appium/java_client/android/options/server/SupportsDisableWindowAnimationOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code disableWindowAnimation} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsDisableWindowAnimationOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code disableWindowAnimation} capability.
+ */
String DISABLE_WINDOWS_ANIMATION_OPTION = "disableWindowAnimation";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/server/SupportsEspressoBuildConfigOption.java b/src/main/java/io/appium/java_client/android/options/server/SupportsEspressoBuildConfigOption.java
index a916ec35b..b5e76ee8c 100644
--- a/src/main/java/io/appium/java_client/android/options/server/SupportsEspressoBuildConfigOption.java
+++ b/src/main/java/io/appium/java_client/android/options/server/SupportsEspressoBuildConfigOption.java
@@ -23,8 +23,16 @@
import java.util.Optional;
+/**
+ * Provides getters and setters for the {@code espressoBuildConfig} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsEspressoBuildConfigOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code espressoBuildConfig} capability.
+ */
String ESPRESSO_BUILD_CONFIG_OPTION = "espressoBuildConfig";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/server/SupportsEspressoServerLaunchTimeoutOption.java b/src/main/java/io/appium/java_client/android/options/server/SupportsEspressoServerLaunchTimeoutOption.java
index 41bc66ee5..760a23149 100644
--- a/src/main/java/io/appium/java_client/android/options/server/SupportsEspressoServerLaunchTimeoutOption.java
+++ b/src/main/java/io/appium/java_client/android/options/server/SupportsEspressoServerLaunchTimeoutOption.java
@@ -25,8 +25,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toDuration;
+/**
+ * Provides getters and setters for the {@code espressoServerLaunchTimeout} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsEspressoServerLaunchTimeoutOption> extends
Capabilities, CanSetCapability {
+ /**
+ * Name of the {@code espressoServerLaunchTimeout} capability.
+ */
String ESPRESSO_SERVER_LAUNCH_TIMEOUT_OPTION = "espressoServerLaunchTimeout";
/**
diff --git a/src/main/java/io/appium/java_client/android/options/server/SupportsForceEspressoRebuildOption.java b/src/main/java/io/appium/java_client/android/options/server/SupportsForceEspressoRebuildOption.java
index 843d25ddc..823033438 100644
--- a/src/main/java/io/appium/java_client/android/options/server/SupportsForceEspressoRebuildOption.java
+++ b/src/main/java/io/appium/java_client/android/options/server/SupportsForceEspressoRebuildOption.java
@@ -24,8 +24,16 @@
import static io.appium.java_client.internal.CapabilityHelpers.toSafeBoolean;
+/**
+ * Provides getters and setters for the {@code forceEspressoRebuild} capability.
+ *
+ * @param options type, used for chaining.
+ */
public interface SupportsForceEspressoRebuildOption