From 1b35ed740994ad1336f11ee8307f90683b3e510e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 26 Mar 2024 20:17:02 +0000 Subject: [PATCH] chore: Updating docs for . --- allclasses-index.html | 374 +++ allpackages-index.html | 91 + com/launchdarkly/sdk/ArrayBuilder.html | 296 ++ com/launchdarkly/sdk/AttributeRef.html | 388 +++ com/launchdarkly/sdk/ContextBuilder.html | 572 ++++ com/launchdarkly/sdk/ContextKind.html | 286 ++ com/launchdarkly/sdk/ContextMultiBuilder.html | 217 ++ com/launchdarkly/sdk/EvaluationDetail.html | 353 +++ .../EvaluationReason.BigSegmentsStatus.html | 258 ++ .../sdk/EvaluationReason.ErrorKind.html | 275 ++ .../sdk/EvaluationReason.Kind.html | 276 ++ com/launchdarkly/sdk/EvaluationReason.html | 566 ++++ com/launchdarkly/sdk/LDContext.html | 972 ++++++ com/launchdarkly/sdk/LDUser.Builder.html | 789 +++++ com/launchdarkly/sdk/LDUser.html | 535 ++++ com/launchdarkly/sdk/LDValue.Convert.html | 207 ++ com/launchdarkly/sdk/LDValue.Converter.html | 299 ++ com/launchdarkly/sdk/LDValue.html | 822 +++++ com/launchdarkly/sdk/LDValueType.html | 269 ++ com/launchdarkly/sdk/ObjectBuilder.html | 317 ++ com/launchdarkly/sdk/UserAttribute.html | 396 +++ .../sdk/android/AutoEnvContextModifier.html | 188 ++ com/launchdarkly/sdk/android/BuildConfig.html | 215 ++ com/launchdarkly/sdk/android/Components.html | 374 +++ .../ConnectionInformation.ConnectionMode.html | 290 ++ .../sdk/android/ConnectionInformation.html | 185 ++ .../sdk/android/DataModel.Flag.html | 270 ++ com/launchdarkly/sdk/android/DataModel.html | 124 + .../android/FeatureFlagChangeListener.html | 147 + .../sdk/android/IContextModifier.html | 139 + .../sdk/android/LDAllFlagsListener.html | 138 + .../sdk/android/LDAndroidLogging.html | 178 ++ com/launchdarkly/sdk/android/LDClient.html | 1170 ++++++++ .../sdk/android/LDClientInterface.html | 838 ++++++ .../LDConfig.Builder.AutoEnvAttributes.html | 237 ++ .../sdk/android/LDConfig.Builder.html | 716 +++++ com/launchdarkly/sdk/android/LDConfig.html | 301 ++ .../sdk/android/LDFailure.FailureType.html | 262 ++ com/launchdarkly/sdk/android/LDFailure.html | 233 ++ .../sdk/android/LDHeaderUpdater.html | 133 + .../android/LDInvalidResponseCodeFailure.html | 242 ++ .../sdk/android/LDPackageConsts.html | 229 ++ .../sdk/android/LDStatusListener.html | 148 + .../sdk/android/LDTimberLogging.Adapter.html | 190 ++ .../sdk/android/LDTimberLogging.html | 193 ++ com/launchdarkly/sdk/android/LDUtil.html | 187 ++ .../sdk/android/LaunchDarklyException.html | 155 + .../sdk/android/NoOpContextModifier.html | 177 ++ .../env/EnvironmentReporterBuilder.html | 197 ++ .../sdk/android/env/IEnvironmentReporter.html | 215 ++ .../sdk/android/env/package-summary.html | 123 + .../sdk/android/env/package-tree.html | 77 + .../integrations/ApplicationInfoBuilder.html | 286 ++ .../integrations/EventProcessorBuilder.html | 459 +++ .../HttpConfigurationBuilder.html | 365 +++ .../PollingDataSourceBuilder.html | 302 ++ .../integrations/ServiceEndpointsBuilder.html | 468 +++ .../StreamingDataSourceBuilder.html | 326 ++ .../TestData.FlagBuilder.VariationFunc.html | 143 + .../integrations/TestData.FlagBuilder.html | 557 ++++ .../sdk/android/integrations/TestData.html | 279 ++ .../android/integrations/package-summary.html | 153 + .../android/integrations/package-tree.html | 84 + .../android/interfaces/ServiceEndpoints.html | 217 ++ .../android/interfaces/package-summary.html | 120 + .../sdk/android/interfaces/package-tree.html | 71 + .../sdk/android/package-summary.html | 234 ++ .../sdk/android/package-tree.html | 137 + .../android/subsystems/ApplicationInfo.html | 248 ++ .../sdk/android/subsystems/Callback.html | 156 + .../sdk/android/subsystems/ClientContext.html | 456 +++ .../subsystems/ComponentConfigurer.html | 149 + .../sdk/android/subsystems/DataSource.html | 209 ++ .../subsystems/DataSourceUpdateSink.html | 205 ++ .../subsystems/DiagnosticDescription.html | 148 + .../android/subsystems/EventProcessor.html | 316 ++ .../android/subsystems/HttpConfiguration.html | 244 ++ .../subsystems/PersistentDataStore.html | 265 ++ .../android/subsystems/package-summary.html | 163 + .../sdk/android/subsystems/package-tree.html | 93 + .../sdk/android/test/BuildConfig.html | 207 ++ .../sdk/android/test/package-summary.html | 110 + .../sdk/android/test/package-tree.html | 71 + .../sdk/json/JsonSerializable.html | 93 + .../sdk/json/JsonSerialization.html | 195 ++ com/launchdarkly/sdk/json/LDGson.html | 222 ++ com/launchdarkly/sdk/json/LDJackson.html | 168 ++ .../sdk/json/SerializationException.html | 173 ++ .../sdk/json/package-summary.html | 132 + com/launchdarkly/sdk/json/package-tree.html | 88 + com/launchdarkly/sdk/package-summary.html | 185 ++ com/launchdarkly/sdk/package-tree.html | 102 + constant-values.html | 222 ++ deprecated-list.html | 100 + element-list | 8 + help-doc.html | 191 ++ index-all.html | 2667 +++++++++++++++++ index.html | 93 + jquery-ui.overrides.css | 35 + legal/ADDITIONAL_LICENSE_INFO | 37 + legal/ASSEMBLY_EXCEPTION | 27 + legal/LICENSE | 347 +++ legal/jquery.md | 72 + legal/jqueryUI.md | 49 + member-search-index.js | 1 + module-search-index.js | 1 + overview-summary.html | 25 + overview-tree.html | 191 ++ package-search-index.js | 1 + resources/glass.png | Bin 0 -> 499 bytes resources/x.png | Bin 0 -> 394 bytes script-dir/jquery-3.6.1.min.js | 2 + script-dir/jquery-ui.min.css | 6 + script-dir/jquery-ui.min.js | 6 + script.js | 132 + search.js | 354 +++ serialized-form.html | 130 + stylesheet.css | 869 ++++++ tag-search-index.js | 1 + type-search-index.js | 1 + 120 files changed, 30996 insertions(+) create mode 100644 allclasses-index.html create mode 100644 allpackages-index.html create mode 100644 com/launchdarkly/sdk/ArrayBuilder.html create mode 100644 com/launchdarkly/sdk/AttributeRef.html create mode 100644 com/launchdarkly/sdk/ContextBuilder.html create mode 100644 com/launchdarkly/sdk/ContextKind.html create mode 100644 com/launchdarkly/sdk/ContextMultiBuilder.html create mode 100644 com/launchdarkly/sdk/EvaluationDetail.html create mode 100644 com/launchdarkly/sdk/EvaluationReason.BigSegmentsStatus.html create mode 100644 com/launchdarkly/sdk/EvaluationReason.ErrorKind.html create mode 100644 com/launchdarkly/sdk/EvaluationReason.Kind.html create mode 100644 com/launchdarkly/sdk/EvaluationReason.html create mode 100644 com/launchdarkly/sdk/LDContext.html create mode 100644 com/launchdarkly/sdk/LDUser.Builder.html create mode 100644 com/launchdarkly/sdk/LDUser.html create mode 100644 com/launchdarkly/sdk/LDValue.Convert.html create mode 100644 com/launchdarkly/sdk/LDValue.Converter.html create mode 100644 com/launchdarkly/sdk/LDValue.html create mode 100644 com/launchdarkly/sdk/LDValueType.html create mode 100644 com/launchdarkly/sdk/ObjectBuilder.html create mode 100644 com/launchdarkly/sdk/UserAttribute.html create mode 100644 com/launchdarkly/sdk/android/AutoEnvContextModifier.html create mode 100644 com/launchdarkly/sdk/android/BuildConfig.html create mode 100644 com/launchdarkly/sdk/android/Components.html create mode 100644 com/launchdarkly/sdk/android/ConnectionInformation.ConnectionMode.html create mode 100644 com/launchdarkly/sdk/android/ConnectionInformation.html create mode 100644 com/launchdarkly/sdk/android/DataModel.Flag.html create mode 100644 com/launchdarkly/sdk/android/DataModel.html create mode 100644 com/launchdarkly/sdk/android/FeatureFlagChangeListener.html create mode 100644 com/launchdarkly/sdk/android/IContextModifier.html create mode 100644 com/launchdarkly/sdk/android/LDAllFlagsListener.html create mode 100644 com/launchdarkly/sdk/android/LDAndroidLogging.html create mode 100644 com/launchdarkly/sdk/android/LDClient.html create mode 100644 com/launchdarkly/sdk/android/LDClientInterface.html create mode 100644 com/launchdarkly/sdk/android/LDConfig.Builder.AutoEnvAttributes.html create mode 100644 com/launchdarkly/sdk/android/LDConfig.Builder.html create mode 100644 com/launchdarkly/sdk/android/LDConfig.html create mode 100644 com/launchdarkly/sdk/android/LDFailure.FailureType.html create mode 100644 com/launchdarkly/sdk/android/LDFailure.html create mode 100644 com/launchdarkly/sdk/android/LDHeaderUpdater.html create mode 100644 com/launchdarkly/sdk/android/LDInvalidResponseCodeFailure.html create mode 100644 com/launchdarkly/sdk/android/LDPackageConsts.html create mode 100644 com/launchdarkly/sdk/android/LDStatusListener.html create mode 100644 com/launchdarkly/sdk/android/LDTimberLogging.Adapter.html create mode 100644 com/launchdarkly/sdk/android/LDTimberLogging.html create mode 100644 com/launchdarkly/sdk/android/LDUtil.html create mode 100644 com/launchdarkly/sdk/android/LaunchDarklyException.html create mode 100644 com/launchdarkly/sdk/android/NoOpContextModifier.html create mode 100644 com/launchdarkly/sdk/android/env/EnvironmentReporterBuilder.html create mode 100644 com/launchdarkly/sdk/android/env/IEnvironmentReporter.html create mode 100644 com/launchdarkly/sdk/android/env/package-summary.html create mode 100644 com/launchdarkly/sdk/android/env/package-tree.html create mode 100644 com/launchdarkly/sdk/android/integrations/ApplicationInfoBuilder.html create mode 100644 com/launchdarkly/sdk/android/integrations/EventProcessorBuilder.html create mode 100644 com/launchdarkly/sdk/android/integrations/HttpConfigurationBuilder.html create mode 100644 com/launchdarkly/sdk/android/integrations/PollingDataSourceBuilder.html create mode 100644 com/launchdarkly/sdk/android/integrations/ServiceEndpointsBuilder.html create mode 100644 com/launchdarkly/sdk/android/integrations/StreamingDataSourceBuilder.html create mode 100644 com/launchdarkly/sdk/android/integrations/TestData.FlagBuilder.VariationFunc.html create mode 100644 com/launchdarkly/sdk/android/integrations/TestData.FlagBuilder.html create mode 100644 com/launchdarkly/sdk/android/integrations/TestData.html create mode 100644 com/launchdarkly/sdk/android/integrations/package-summary.html create mode 100644 com/launchdarkly/sdk/android/integrations/package-tree.html create mode 100644 com/launchdarkly/sdk/android/interfaces/ServiceEndpoints.html create mode 100644 com/launchdarkly/sdk/android/interfaces/package-summary.html create mode 100644 com/launchdarkly/sdk/android/interfaces/package-tree.html create mode 100644 com/launchdarkly/sdk/android/package-summary.html create mode 100644 com/launchdarkly/sdk/android/package-tree.html create mode 100644 com/launchdarkly/sdk/android/subsystems/ApplicationInfo.html create mode 100644 com/launchdarkly/sdk/android/subsystems/Callback.html create mode 100644 com/launchdarkly/sdk/android/subsystems/ClientContext.html create mode 100644 com/launchdarkly/sdk/android/subsystems/ComponentConfigurer.html create mode 100644 com/launchdarkly/sdk/android/subsystems/DataSource.html create mode 100644 com/launchdarkly/sdk/android/subsystems/DataSourceUpdateSink.html create mode 100644 com/launchdarkly/sdk/android/subsystems/DiagnosticDescription.html create mode 100644 com/launchdarkly/sdk/android/subsystems/EventProcessor.html create mode 100644 com/launchdarkly/sdk/android/subsystems/HttpConfiguration.html create mode 100644 com/launchdarkly/sdk/android/subsystems/PersistentDataStore.html create mode 100644 com/launchdarkly/sdk/android/subsystems/package-summary.html create mode 100644 com/launchdarkly/sdk/android/subsystems/package-tree.html create mode 100644 com/launchdarkly/sdk/android/test/BuildConfig.html create mode 100644 com/launchdarkly/sdk/android/test/package-summary.html create mode 100644 com/launchdarkly/sdk/android/test/package-tree.html create mode 100644 com/launchdarkly/sdk/json/JsonSerializable.html create mode 100644 com/launchdarkly/sdk/json/JsonSerialization.html create mode 100644 com/launchdarkly/sdk/json/LDGson.html create mode 100644 com/launchdarkly/sdk/json/LDJackson.html create mode 100644 com/launchdarkly/sdk/json/SerializationException.html create mode 100644 com/launchdarkly/sdk/json/package-summary.html create mode 100644 com/launchdarkly/sdk/json/package-tree.html create mode 100644 com/launchdarkly/sdk/package-summary.html create mode 100644 com/launchdarkly/sdk/package-tree.html create mode 100644 constant-values.html create mode 100644 deprecated-list.html create mode 100644 element-list create mode 100644 help-doc.html create mode 100644 index-all.html create mode 100644 index.html create mode 100644 jquery-ui.overrides.css create mode 100644 legal/ADDITIONAL_LICENSE_INFO create mode 100644 legal/ASSEMBLY_EXCEPTION create mode 100644 legal/LICENSE create mode 100644 legal/jquery.md create mode 100644 legal/jqueryUI.md create mode 100644 member-search-index.js create mode 100644 module-search-index.js create mode 100644 overview-summary.html create mode 100644 overview-tree.html create mode 100644 package-search-index.js create mode 100644 resources/glass.png create mode 100644 resources/x.png create mode 100644 script-dir/jquery-3.6.1.min.js create mode 100644 script-dir/jquery-ui.min.css create mode 100644 script-dir/jquery-ui.min.js create mode 100644 script.js create mode 100644 search.js create mode 100644 serialized-form.html create mode 100644 stylesheet.css create mode 100644 tag-search-index.js create mode 100644 type-search-index.js diff --git a/allclasses-index.html b/allclasses-index.html new file mode 100644 index 00000000..8bfc6a80 --- /dev/null +++ b/allclasses-index.html @@ -0,0 +1,374 @@ + + + + +All Classes and Interfaces (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

All Classes and Interfaces

+
+
+
+
+
+
Class
+
Description
+ +
+
Encapsulates the SDK's application metadata.
+
+ +
+
Contains methods for configuring the SDK's application metadata.
+
+ +
+
A builder created by LDValue.buildArray().
+
+ +
+
An attribute name or path expression identifying a value within an LDContext.
+
+ +
+
An IContextModifier that will add a few context kinds with environmental + information that is useful out of the box.
+
+ +
 
+ +
 
+ +
+
General-purpose interface for callbacks that can succeed or fail.
+
+ +
+
Configuration information provided by the LDClient when + creating components.
+
+ +
+
The common interface for SDK component factories and configuration builders.
+
+ +
+
Provides configurable factories for the standard implementations of LaunchDarkly component interfaces.
+
+ +
+
Provides various information about a current or previous connection.
+
+ +
+
Enumerated type defining the possible values of ConnectionInformation.getConnectionMode().
+
+ +
+
A mutable object that uses the builder pattern to specify properties for LDContext.
+
+ +
+
A string identifier provided by the application to describe what kind of entity an + LDContext represents.
+
+ +
+
A mutable object that uses the builder pattern to specify properties for a multi-kind + LDContext.
+
+ +
+
Contains information about the internal data model for feature flag state.
+
+ +
+
Represents the state of a feature flag evaluation received from LaunchDarkly.
+
+ +
+
Interface for an object that receives updates to feature flags from LaunchDarkly.
+
+ +
+
Interface that an implementation of DataSource will use to push data into the SDK.
+
+ +
+
Optional interface for components to describe their own configuration.
+
+ +
+
Builder for making an IEnvironmentReporter with various options.
+
+ +
+
An object returned by the SDK's "variation detail" methods such as boolVariationDetail, + combining the result of a flag evaluation with an explanation of how it was calculated.
+
+ +
+
Describes the reason that a flag evaluation produced a particular value.
+
+ +
+
Enumerated type defining the possible values of EvaluationReason.getBigSegmentsStatus().
+
+ +
+
Enumerated type defining the possible values of EvaluationReason.getErrorKind().
+
+ +
+
Enumerated type defining the possible values of EvaluationReason.getKind().
+
+ +
+
Interface for an object that can send or store analytics events.
+
+ +
+
Contains methods for configuring delivery of analytics events.
+
+ +
+
Callback interface used for listening to changes to a feature flag.
+
+ +
+
Encapsulates top-level HTTP configuration that applies to all SDK components.
+
+ +
+
Contains methods for configuring the SDK's networking behavior.
+
+ +
+
Modifies contexts when invoked.
+
+ +
+
Reports information about the software/hardware environment that the SDK is + executing within.
+
+ +
+
Marker interface for SDK classes that have a custom JSON serialization.
+
+ +
+
Helper methods for JSON serialization of SDK classes.
+
+ +
+
Exception class that can be thrown by LaunchDarkly client methods.
+
+ +
+
Callback interface used for listening to changes to the flag store.
+
+ +
+
Allows LaunchDarkly log output to be sent directly to the native Android Log API.
+
+ +
+
Client for accessing LaunchDarkly's Feature Flag system.
+
+ +
+
The interface for the LaunchDarkly SDK client.
+
+ +
+
This class exposes advanced configuration options for LDClient.
+
+ +
+
A builder that helps construct + LDConfig objects.
+
+ +
+
Enable / disable options for Auto Environment Attributes functionality.
+
+ +
+
A collection of attributes that can be referenced in flag evaluations and analytics events.
+
+ +
+
Container class representing a communication failure with LaunchDarkly servers.
+
+ +
+
Enumerated type defining the possible values of LDFailure.getFailureType().
+
+ +
+
A helper class for interoperability with application code that uses Gson.
+
+ +
+
An interface to provide the SDK with a function used to modify HTTP headers before each request + to the LaunchDarkly service.
+
+ +
+
Container class representing a communication failure with LaunchDarkly servers in which the response was unexpected.
+
+ +
+
A helper class for interoperability with application code that uses + Jackson.
+
+ +
+
Constants related to the SDK package
+
+ +
+
Listener for various SDK state changes.
+
+ +
+
Allows LaunchDarkly log output to be forwarded to Timber.
+
+ +
+
A Timber implementation of the LDLogAdapter interface.
+
+ +
Deprecated. +
use LDContext instead.
+
+ + + +
+
Various utility functions
+
+ +
+
An immutable instance of any data type that is allowed in JSON.
+
+ +
+
Predefined instances of LDValue.Converter for commonly used types.
+
+ +
+
Defines a conversion between LDValue and some other type.
+
+ +
+
Describes the type of an LDValue.
+
+ +
+
Context modifier that does nothing to the context.
+
+ +
+
A builder created by LDValue.buildObject().
+
+ +
+
Interface for a data store that holds feature flag data and other SDK properties in a simple + string format.
+
+ +
+
Contains methods for configuring the polling data source.
+
+ +
+
General exception class for all errors in serializing or deserializing JSON.
+
+ +
+
Specifies the base service URIs used by SDK components.
+
+ +
+
Contains methods for configuring the SDK's service URIs.
+
+ +
+
Contains methods for configuring the streaming data source.
+
+ +
+
A mechanism for providing dynamically updatable feature flag state in a simplified form to an SDK + client in test scenarios.
+
+ +
+
A builder for feature flag configurations to be used with TestData.
+
+ + + +
Deprecated. +
LDUser replaced by LDContext
+
+
+
+
+
+
+
+ + diff --git a/allpackages-index.html b/allpackages-index.html new file mode 100644 index 00000000..6c334c8b --- /dev/null +++ b/allpackages-index.html @@ -0,0 +1,91 @@ + + + + +All Packages (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+
Package Summary
+
+
Package
+
Description
+ +
+
Base namespace for LaunchDarkly Java-based SDKs, containing common types.
+
+ +
+
Main package for the LaunchDarkly Android SDK, containing the client and configuration classes.
+
+ +
 
+ +
+
This package contains integration tools for connecting the SDK to other software components, or + configuring how it connects to LaunchDarkly.
+
+ +
+
Types that are part of the public API, but are not needed for basic use of the SDK.
+
+ +
+
Interfaces for implementation of LaunchDarkly SDK components.
+
+ +
 
+ +
+
Helper classes and methods for interoperability with JSON.
+
+
+
+
+
+ + diff --git a/com/launchdarkly/sdk/ArrayBuilder.html b/com/launchdarkly/sdk/ArrayBuilder.html new file mode 100644 index 00000000..015eb069 --- /dev/null +++ b/com/launchdarkly/sdk/ArrayBuilder.html @@ -0,0 +1,296 @@ + + + + +ArrayBuilder (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayBuilder

+
+
java.lang.Object +
com.launchdarkly.sdk.ArrayBuilder
+
+
+
+
public final class ArrayBuilder +extends Object
+
A builder created by LDValue.buildArray(). +

+ Builder methods are not thread-safe.

+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ArrayBuilder

      +
      public ArrayBuilder()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      add

      +
      public ArrayBuilder add(LDValue value)
      +
      Adds a new element to the builder.
      +
      +
      Parameters:
      +
      value - the new element
      +
      Returns:
      +
      the same builder
      +
      +
      +
    • +
    • +
      +

      add

      +
      public ArrayBuilder add(boolean value)
      +
      Adds a new element to the builder.
      +
      +
      Parameters:
      +
      value - the new element
      +
      Returns:
      +
      the same builder
      +
      +
      +
    • +
    • +
      +

      add

      +
      public ArrayBuilder add(int value)
      +
      Adds a new element to the builder.
      +
      +
      Parameters:
      +
      value - the new element
      +
      Returns:
      +
      the same builder
      +
      +
      +
    • +
    • +
      +

      add

      +
      public ArrayBuilder add(long value)
      +
      Adds a new element to the builder.
      +
      +
      Parameters:
      +
      value - the new element
      +
      Returns:
      +
      the same builder
      +
      +
      +
    • +
    • +
      +

      add

      +
      public ArrayBuilder add(float value)
      +
      Adds a new element to the builder.
      +
      +
      Parameters:
      +
      value - the new element
      +
      Returns:
      +
      the same builder
      +
      +
      +
    • +
    • +
      +

      add

      +
      public ArrayBuilder add(double value)
      +
      Adds a new element to the builder.
      +
      +
      Parameters:
      +
      value - the new element
      +
      Returns:
      +
      the same builder
      +
      +
      +
    • +
    • +
      +

      add

      +
      public ArrayBuilder add(String value)
      +
      Adds a new element to the builder.
      +
      +
      Parameters:
      +
      value - the new element
      +
      Returns:
      +
      the same builder
      +
      +
      +
    • +
    • +
      +

      build

      +
      public LDValue build()
      +
      Returns an array containing the builder's current elements. Subsequent changes to the builder + will not affect this value (it uses copy-on-write logic, so the previous values will only be + copied to a new list if you continue to add elements after calling build().
      +
      +
      Returns:
      +
      an LDValue that is an array
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/AttributeRef.html b/com/launchdarkly/sdk/AttributeRef.html new file mode 100644 index 00000000..4eac4b21 --- /dev/null +++ b/com/launchdarkly/sdk/AttributeRef.html @@ -0,0 +1,388 @@ + + + + +AttributeRef (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AttributeRef

+
+
java.lang.Object +
com.launchdarkly.sdk.AttributeRef
+
+
+
+
All Implemented Interfaces:
+
JsonSerializable, Comparable<AttributeRef>
+
+
+
public final class AttributeRef +extends Object +implements JsonSerializable, Comparable<AttributeRef>
+
An attribute name or path expression identifying a value within an LDContext. +

+ Applications are unlikely to need to use the AttributeRef type directly, but see below + for details of the string attribute reference syntax used by methods like + ContextBuilder.privateAttributes(String...). +

+ The reason to use this type directly is to avoid repetitive string parsing in code where + efficiency is a priority; AttributeRef parses its contents once when it is created, and + is immutable afterward. If an AttributeRef instance was created from an invalid string, + it is considered invalid and its getError() method will return a non-null error. +

+ The string representation of an attribute reference in LaunchDarkly JSON data uses the + following syntax: +

    +
  • If the first character is not a slash, the string is interpreted literally as an + attribute name. An attribute name can contain any characters, but must not be empty.
  • +
  • If the first character is a slash, the string is interpreted as a slash-delimited + path where the first path component is an attribute name, and each subsequent path + component is the name of a property in a JSON object. Any instances of the characters "/" + or "~" in a path component are escaped as "~1" or "~0" respectively. This syntax + deliberately resembles JSON Pointer, but no JSON Pointer behaviors other than those + mentioned here are supported.
  • +
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      fromPath

      +
      public static AttributeRef fromPath(String refPath)
      +
      Creates an AttributeRef from a string. For the supported syntax and examples, see + comments on the AttributeRef type. +

      + This method always returns an AttributeRef that preserves the original string, even if + validation fails, so that calling toString() (or serializing the AttributeRef + to JSON) will produce the original string. If validation fails, getError() will + return a non-null error and any SDK method that takes this AttributeRef as a parameter + will consider it invalid.

      +
      +
      Parameters:
      +
      refPath - an attribute name or path
      +
      Returns:
      +
      an AttributeRef
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      fromLiteral

      +
      public static AttributeRef fromLiteral(String attributeName)
      +
      Similar to fromPath(String), except that it always interprets the string as a literal + attribute name, never as a slash-delimited path expression. +

      + There is no escaping or unescaping, even if the name contains literal '/' or '~' characters. + Since an attribute name can contain any characters, this method always returns a valid + AttributeRef unless the name is empty. +

      + For example: AttributeRef.fromLiteral("name") is exactly equivalent to + AttributeRef.fromPath("name"). AttributeRef.fromLiteral("a/b") is exactly + equivalent to AttributeRef.fromPath("a/b") (since the syntax used by + fromPath(String) treats the whole string as a literal as long as it does not start + with a slash), or to AttributeRef.fromPath("/a~1b").

      +
      +
      Parameters:
      +
      attributeName - an attribute name
      +
      Returns:
      +
      an AttributeRef
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      isValid

      +
      public boolean isValid()
      +
      True for a valid AttributeRef, false for an invalid AttributeRef. +

      + An AttributeRef can only be invalid for the following reasons: +

        +
      • The input string was empty, or consisted only of "/".
      • +
      • A slash-delimited string had a double slash causing one component to be empty, such as "/a//b".
      • +
      • A slash-delimited string contained a "~" character that was not followed by "0" or "1".
      • +
      +

      + Otherwise, the AttributeRef is valid, but that does not guarantee that such an attribute exists + in any given LDContext. For instance, fromLiteral("name") is a valid AttributeRef, + but a specific LDContext might or might not have a name. +

      + See comments on the AttributeRef type for more details of the attribute reference synax.

      +
      +
      Returns:
      +
      true if the instance is valid
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getError

      +
      public String getError()
      +
      Null for a valid AttributeRef, or a non-null error message for an invalid AttributeRef. +

      + If this is null, then isValid() is true. If it is non-null, then isValid() is false.

      +
      +
      Returns:
      +
      an error string or null
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getDepth

      +
      public int getDepth()
      +
      The number of path components in the AttributeRef. +

      + For a simple attribute reference such as "name" with no leading slash, this returns 1. +

      + For an attribute reference with a leading slash, it is the number of slash-delimited path + components after the initial slash. For instance, AttributeRef.fromPath("/a/b").getDepth() + returns 2. +

      + For an invalid attribute reference, it returns zero

      +
      +
      Returns:
      +
      the number of path components
      +
      +
      +
    • +
    • +
      +

      getComponent

      +
      public String getComponent(int index)
      +
      Retrieves a single path component from the attribute reference. +

      + For a simple attribute reference such as "name" with no leading slash, getComponent returns the + attribute name if index is zero, and null otherwise. +

      + For an attribute reference with a leading slash, if index is non-negative and less than + getDepth(), getComponent returns the path component string at that position.

      +
      +
      Parameters:
      +
      index - the zero-based index of the desired path component
      +
      Returns:
      +
      the path component, or null if not available
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns the attribute reference as a string, in the same format used by + fromPath(String). +

      + If the AttributeRef was created with fromPath(String), this value is identical to + to the original string. If it was created with fromLiteral(String), the value may + be different due to unescaping (for instance, an attribute whose name is "/a" would be + represented as "~1a").

      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the attribute reference string (guaranteed non-null)
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object other)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
    • +
    • +
      +

      compareTo

      +
      public int compareTo(AttributeRef o)
      +
      +
      Specified by:
      +
      compareTo in interface Comparable<AttributeRef>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/ContextBuilder.html b/com/launchdarkly/sdk/ContextBuilder.html new file mode 100644 index 00000000..5aeb9c45 --- /dev/null +++ b/com/launchdarkly/sdk/ContextBuilder.html @@ -0,0 +1,572 @@ + + + + +ContextBuilder (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ContextBuilder

+
+
java.lang.Object +
com.launchdarkly.sdk.ContextBuilder
+
+
+
+
public final class ContextBuilder +extends Object
+
A mutable object that uses the builder pattern to specify properties for LDContext. +

+ Use this type if you need to construct a context that has only a single kind. To define a + multi-kind context, use LDContext.createMulti(LDContext...) or + LDContext.multiBuilder(). +

+ Obtain an instance of ContextBuilder by calling LDContext.builder(String) or + LDContext.builder(ContextKind, String). Then, call setter methods such as + name(String) or set(String, String) to specify any additional attributes. + Then, call build() to create the context. ContextBuilder setters return a reference + to the same builder, so calls can be + chained: +


+     LDContext context = LDContext.builder("context-key-123abc")
+       .name("my-name)
+       .set("country", "us")
+       .build();
+ 
+

+ A ContextBuilder should not be accessed by multiple threads at once. Once you have called + build(), the resulting LDContext is immutable and is safe to use from multiple + threads. Instances created with build() are not affected by subsequent actions + taken on the builder.

+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      build

      +
      public LDContext build()
      +
      Creates an LDContext from the current builder properties. +

      + The LDContext is immutable and will not be affected by any subsequent actions on the + ContextBuilder. +

      + It is possible to specify invalid attributes for a ContextBuilder, such as an empty key. + Instead of throwing an exception, the ContextBuilder always returns an LDContext and + you can check LDContext.isValid() or LDContext.getError() to see if it + has an error. See LDContext.isValid() for more information about invalid + conditions. If you pass an invalid LDContext to an SDK method, the SDK will detect this + and will log a description of the error.

      +
      +
      Returns:
      +
      a new LDContext
      +
      +
      +
    • +
    • +
      +

      kind

      +
      public ContextBuilder kind(ContextKind kind)
      +
      Sets the context's kind attribute. +

      + Every LDContext has a kind. Setting it to an empty string or null is equivalent to + ContextKind.DEFAULT ("user"). This value is case-sensitive. For validation + rules, see ContextKind.

      +
      +
      Parameters:
      +
      kind - the context kind
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      kind

      +
      public ContextBuilder kind(String kindString)
      +
      Sets the context's kind attribute, as a string. +

      + This method is a shortcut for calling kind(ContextKind.of(kindName)), since the + method name already prevents ambiguity about the intended type

      +
      +
      Parameters:
      +
      kindString - the context kind
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      key

      +
      public ContextBuilder key(String key)
      +
      Sets the context's key attribute. +

      + Every Context has a key, which is always a string. It cannot be an empty string, but + there are no other restrictions on its value. +

      + The key attribute can be referenced by flag rules, flag target lists, and segments.

      +
      +
      Parameters:
      +
      key - the context key
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      name

      +
      public ContextBuilder name(String name)
      +
      Sets the context's name attribute. +

      + This attribute is optional. It has the following special rules: +

        +
      • Unlike most other attributes, it is always a string if it is specified.
      • +
      • The LaunchDarkly dashboard treats this attribute as the preferred display name + for contexts.
      • +
      +
      +
      Parameters:
      +
      name - the name attribute (null to unset the attribute)
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      anonymous

      +
      public ContextBuilder anonymous(boolean anonymous)
      +
      Sets whether the context is only intended for flag evaluations and should not be + indexed by LaunchDarkly. +

      + The default value is false. False means that this LDContext represents an entity + such as a user that you want to be able to see on the LaunchDarkly dashboard. +

      + Setting anonymous to true excludes this context from the database that is + used by the dashboard. It does not exclude it from analytics event data, so it is + not the same as making attributes private; all non-private attributes will still be + included in events and data export. There is no limitation on what other attributes + may be included (so, for instance, anonymous does not mean there is no + name), and the context will still have whatever key you have given it. +

      + This value is also addressable in evaluations as the attribute name "anonymous". It + is always treated as a boolean true or false in evaluations.

      +
      +
      Parameters:
      +
      anonymous - true if the context should be excluded from the LaunchDarkly database
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      set

      +
      public ContextBuilder set(String attributeName, + LDValue value)
      +
      Sets the value of any attribute for the context. +

      + This includes only attributes that are addressable in evaluations-- not metadata + such as privateAttributes(String...). If attributeName is + "privateAttributes", you will be setting an attribute with that name which you can + use in evaluations or to record data for your own purposes, but it will be unrelated + to privateAttributes(String...). +

      + This method uses the LDValue type to represent a value of any JSON type: + null, boolean, number, string, array, or object. For all attribute names that do + not have special meaning to LaunchDarkly, you may use any of those types. Values of + different JSON types are always treated as different values: for instance, null, + false, and the empty string "" are not the the same, and the number 1 is not the + same as the string "1". +

      + The following attribute names have special restrictions on their value types, and + any value of an unsupported type will be ignored (leaving the attribute unchanged): +

      +

      + The attribute name "_meta" is not allowed, because it has special meaning in the + JSON schema for contexts; any attempt to set an attribute with this name has no + effect. Also, any attempt to set an attribute with an empty or null name has no effect. +

      + Values that are JSON arrays or objects have special behavior when referenced in + flag/segment rules. +

      + A value of null or LDValue.ofNull() is equivalent to removing any + current non-default value of the attribute. Null is not a valid attribute value in + the LaunchDarkly model; any expressions in feature flags that reference an attribute + with a null value will behave as if the attribute did not exist.

      +
      +
      Parameters:
      +
      attributeName - the attribute name to set
      +
      value - the value to set
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      set

      +
      public ContextBuilder set(String attributeName, + boolean value)
      +
      Same as set(String, LDValue) for a boolean value.
      +
      +
      Parameters:
      +
      attributeName - the attribute name to set
      +
      value - the value to set
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      set

      +
      public ContextBuilder set(String attributeName, + int value)
      +
      Same as set(String, LDValue) for an integer numeric value.
      +
      +
      Parameters:
      +
      attributeName - the attribute name to set
      +
      value - the value to set
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      set

      +
      public ContextBuilder set(String attributeName, + double value)
      +
      Same as set(String, LDValue) for a double-precision numeric value.
      +
      +
      Parameters:
      +
      attributeName - the attribute name to set
      +
      value - the value to set
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      set

      +
      public ContextBuilder set(String attributeName, + String value)
      +
      Same as set(String, LDValue) for a string value.
      +
      +
      Parameters:
      +
      attributeName - the attribute name to set
      +
      value - the value to set
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      trySet

      +
      public boolean trySet(String attributeName, + LDValue value)
      +
      Same as set(String, LDValue), but returns a boolean indicating whether + the attribute was successfully set.
      +
      +
      Parameters:
      +
      attributeName - the attribute name to set
      +
      value - the value to set
      +
      Returns:
      +
      true if successful; false if the name was invalid or the value was not + an allowed type for that attribute
      +
      +
      +
    • +
    • +
      +

      privateAttributes

      +
      public ContextBuilder privateAttributes(String... attributeRefs)
      +
      Designates any number of context attributes, or properties within them, as private: + that is, their values will not be recorded by LaunchDarkly. +

      + Each parameter can be either a simple attribute name (like "email"), or an attribute + reference in the syntax described for AttributeRef (like "/address/street").

      +
      +
      Parameters:
      +
      attributeRefs - attribute references to mark as private
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      privateAttributes

      +
      public ContextBuilder privateAttributes(AttributeRef... attributeRefs)
      +
      Equivalent to privateAttributes(String...), but uses the AttributeRef + type. +

      + Application code is unlikely to need to use the AttributeRef type directly; + however, in cases where you are constructing LDContexts constructed repeatedly with + the same set of private attributes, if you are also using complex private attribute + path references such as "/address/street", converting this to an AttributeRef once + and reusing it in many privateAttribute calls is slightly more efficient + than passing a string (since it does not need to parse the path repeatedly).

      +
      +
      Parameters:
      +
      attributeRefs - attribute references to mark as private
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/ContextKind.html b/com/launchdarkly/sdk/ContextKind.html new file mode 100644 index 00000000..e86c83b1 --- /dev/null +++ b/com/launchdarkly/sdk/ContextKind.html @@ -0,0 +1,286 @@ + + + + +ContextKind (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ContextKind

+
+
java.lang.Object +
com.launchdarkly.sdk.ContextKind
+
+
+
+
All Implemented Interfaces:
+
JsonSerializable, Comparable<ContextKind>
+
+
+
public final class ContextKind +extends Object +implements Comparable<ContextKind>, JsonSerializable
+
A string identifier provided by the application to describe what kind of entity an + LDContext represents. +

+ The type is a simple wrapper for a String. Using a type that is not just String + makes it clearer where a context kind is expected or returned in the SDK API, so it + cannot be confused with other important strings such as the context key. To convert + a literal string to this type, use the factory method of(String). +

+ The meaning of the context kind is completely up to the application. Validation rules are + as follows: +

    +
  • It may only contain letters, numbers, and the characters ".", "_", and "-".
  • +
  • It cannot equal the literal string "kind".
  • +
  • For a single-kind context, it cannot equal "multi". +
+

+ If no kind is specified, the default is "user" (the constant DEFAULT). +

+ For a multi-kind context (see LDContext.createMulti(LDContext...)), the kind of + the top-level LDContext is always "multi" (the constant MULTI); there is a + specific Kind for each of the contexts contained within it. +

+ To learn more, read the + documentation.

+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      DEFAULT

      +
      public static final ContextKind DEFAULT
      +
      A constant for the default kind of "user".
      +
      +
    • +
    • +
      +

      MULTI

      +
      public static final ContextKind MULTI
      +
      A constant for the kind that all multi-kind contexts have.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      of

      +
      public static ContextKind of(String stringValue)
      +
      Constructor from a string value. +

      + A value of null or "" will be changed to DEFAULT.

      +
      +
      Parameters:
      +
      stringValue - the string value
      +
      Returns:
      +
      a ContextKind
      +
      +
      +
    • +
    • +
      +

      isDefault

      +
      public boolean isDefault()
      +
      True if this is equal to DEFAULT ("user").
      +
      +
      Returns:
      +
      true if this is the default kind
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns the string value of the context kind. This is never null.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object other)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
    • +
    • +
      +

      compareTo

      +
      public int compareTo(ContextKind o)
      +
      +
      Specified by:
      +
      compareTo in interface Comparable<ContextKind>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/ContextMultiBuilder.html b/com/launchdarkly/sdk/ContextMultiBuilder.html new file mode 100644 index 00000000..3f262b1e --- /dev/null +++ b/com/launchdarkly/sdk/ContextMultiBuilder.html @@ -0,0 +1,217 @@ + + + + +ContextMultiBuilder (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ContextMultiBuilder

+
+
java.lang.Object +
com.launchdarkly.sdk.ContextMultiBuilder
+
+
+
+
public final class ContextMultiBuilder +extends Object
+
A mutable object that uses the builder pattern to specify properties for a multi-kind + LDContext. +

+ Use this builder if you need to construct a context that has multiple ContextKind + values, each with its own corresponding LDContext. To define a single-kind context, + use LDContext.builder(String) or any of the single-kind factory methods + in LDContext. +

+ Obtain an instance of ContextMultiBuilder by calling LDContext.multiBuilder(); + then, call add(LDContext) to specify the individual context for each kind. The + add(LDContext) method returns a reference to the same builder, so calls can be + chained: +


+     LDContext context = LDContext.multiBuilder()
+       .add(LDContext.create("context-key-123abc"))
+       .add(LDContext.create(ContextKind.of("organization"), "my-org-key"))
+       .build();
+ 
+

+ A ContextMultiBuilder should not be accessed by multiple threads at once. Once you have + called build(), the resulting LDContext is immutable and is safe to use from + multiple threads. Instances created with build() are not affected by subsequent + actions taken on the builder.

+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      build

      +
      public LDContext build()
      +
      Creates an LDContext from the current builder properties. +

      + The LDContext is immutable and will not be affected by any subsequent actions on the + builder. +

      + It is possible for a ContextMultiBuilder to represent an invalid state. Instead of + throwing an exception, the ContextMultiBuilder always returns an LDContext, and you + can check LDContext.isValid() or LDContext.getError() to see if it + has an error. See LDContext.isValid() for more information about invalid + context conditions. If you pass an invalid context to an SDK method, the SDK will + detect this and will log a description of the error. +

      + If only one context kind was added to the builder, this method returns a single-kind + LDContext rather than a multi-kind one.

      +
      +
      Returns:
      +
      a new LDContext
      +
      +
      +
    • +
    • +
      +

      add

      +
      public ContextMultiBuilder add(LDContext context)
      +
      Adds an individual LDContext for a specific kind to the builer. +

      + It is invalid to add more than one LDContext for the same kind, or to add an LDContext + that is itself invalid. This error is detected when you call build(). +

      + If the nested context is multi-kind, this is exactly equivalent to adding each of the + individual kinds from it separately. For instance, in the following example, "multi1" and + "multi2" end up being exactly the same: +

      
      +     LDContext c1 = LDContext.create(ContextKind.of("kind1"), "key1");
      +     LDContext c2 = LDContext.create(ContextKind.of("kind2"), "key2");
      +     LDContext c3 = LDContext.create(ContextKind.of("kind3"), "key3");
      +
      +     LDContext multi1 = LDContext.multiBuilder().add(c1).add(c2).add(c3).build();
      +
      +     LDContext c1plus2 = LDContext.multiBuilder().add(c1).add(c2).build();
      +     LDContext multi2 = LDContext.multiBuilder().add(c1plus2).add(c3).build();
      + 
      +
      +
      Parameters:
      +
      context - the context to add
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/EvaluationDetail.html b/com/launchdarkly/sdk/EvaluationDetail.html new file mode 100644 index 00000000..b8242d33 --- /dev/null +++ b/com/launchdarkly/sdk/EvaluationDetail.html @@ -0,0 +1,353 @@ + + + + +EvaluationDetail (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class EvaluationDetail<T>

+
+
java.lang.Object +
com.launchdarkly.sdk.EvaluationDetail<T>
+
+
+
+
Type Parameters:
+
T - the type of the wrapped value
+
+
+
All Implemented Interfaces:
+
JsonSerializable
+
+
+
public final class EvaluationDetail<T> +extends Object +implements JsonSerializable
+
An object returned by the SDK's "variation detail" methods such as boolVariationDetail, + combining the result of a flag evaluation with an explanation of how it was calculated. +

+ EvaluationReason can be converted to and from JSON in any of these ways: +

    +
  1. With JsonSerialization. +
  2. With Gson, if and only if you configure your Gson instance with + LDGson. +
  3. With Jackson, if and only if you configure your ObjectMapper instance with + LDJackson. +
+ + Note: There is currently a limitation regarding deserialization for generic types. + If you use Gson, you must pass a `TypeToken` to specify the runtime type of + EvaluationDetail<T>, or else it will assume that `T` is `LDValue`. If you use either + JsonSerialization or Jackson, there is no way to specify the runtime type and you + will always get an EvaluationDetail<LDValue>. That is only for deserialization; + serialization will always use the correct value type.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      NO_VARIATION

      +
      public static final int NO_VARIATION
      +
      If getVariationIndex() is equal to this constant, it means no variation was chosen + (evaluation failed and returned a default value).
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      fromValue

      +
      public static <T> EvaluationDetail<T> fromValue(T value, + int variationIndex, + EvaluationReason reason)
      +
      Factory method for an arbitrary value.
      +
      +
      Type Parameters:
      +
      T - the type of the value
      +
      Parameters:
      +
      value - a value of the desired type
      +
      variationIndex - a variation index, or NO_VARIATION (any negative number will be + changed to NO_VARIATION)
      +
      reason - an EvaluationReason (should not be null)
      +
      Returns:
      +
      an EvaluationDetail
      +
      +
      +
    • +
    • +
      +

      error

      +
      public static EvaluationDetail<LDValue> error(EvaluationReason.ErrorKind errorKind, + LDValue defaultValue)
      +
      Shortcut for creating an instance with an error result.
      +
      +
      Parameters:
      +
      errorKind - the type of error
      +
      defaultValue - the application default value
      +
      Returns:
      +
      an EvaluationDetail
      +
      +
      +
    • +
    • +
      +

      getReason

      +
      public EvaluationReason getReason()
      +
      An object describing the main factor that influenced the flag evaluation value.
      +
      +
      Returns:
      +
      an EvaluationReason
      +
      +
      +
    • +
    • +
      +

      getVariationIndex

      +
      public int getVariationIndex()
      +
      The index of the returned value within the flag's list of variations, e.g. 0 for the first variation, + or NO_VARIATION.
      +
      +
      Returns:
      +
      the variation index if applicable
      +
      +
      +
    • +
    • +
      +

      getValue

      +
      public T getValue()
      +
      The result of the flag evaluation. This will be either one of the flag's variations or the default + value that was passed to the variation method.
      +
      +
      Returns:
      +
      the flag value
      +
      +
      +
    • +
    • +
      +

      isDefaultValue

      +
      public boolean isDefaultValue()
      +
      Returns true if the flag evaluation returned the default value, rather than one of the flag's + variations. If so, getVariationIndex() will be NO_VARIATION.
      +
      +
      Returns:
      +
      true if this is the default value
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object other)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns a simple string representation of this instance. +

      + This is a convenience method for debugging and any other use cases where a human-readable string is + helpful. The exact format of the string is subject to change; if you need to make programmatic + decisions based on the object's properties, use other methods like getValue().

      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/EvaluationReason.BigSegmentsStatus.html b/com/launchdarkly/sdk/EvaluationReason.BigSegmentsStatus.html new file mode 100644 index 00000000..13ec1f09 --- /dev/null +++ b/com/launchdarkly/sdk/EvaluationReason.BigSegmentsStatus.html @@ -0,0 +1,258 @@ + + + + +EvaluationReason.BigSegmentsStatus (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class EvaluationReason.BigSegmentsStatus

+
+
java.lang.Object +
java.lang.Enum<EvaluationReason.BigSegmentsStatus> +
com.launchdarkly.sdk.EvaluationReason.BigSegmentsStatus
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<EvaluationReason.BigSegmentsStatus>, Constable
+
+
+
Enclosing class:
+
EvaluationReason
+
+
+
public static enum EvaluationReason.BigSegmentsStatus +extends Enum<EvaluationReason.BigSegmentsStatus>
+
Enumerated type defining the possible values of EvaluationReason.getBigSegmentsStatus().
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from class java.lang.Enum

    +Enum.EnumDesc<E extends Enum<E>>
    +
    +
  • + +
  • +
    +

    Enum Constant Summary

    +
    Enum Constants
    +
    +
    Enum Constant
    +
    Description
    + +
    +
    Indicates that the Big Segment query involved in the flag evaluation was successful, and that + the segment state is considered up to date.
    +
    + +
    +
    Indicates that Big Segments could not be queried for the flag evaluation because the SDK + configuration did not include a Big Segment store.
    +
    + +
    +
    Indicates that the Big Segment query involved in the flag evaluation was successful, but that + the segment state may not be up to date.
    +
    + +
    +
    Indicates that the Big Segment query involved in the flag evaluation failed, for instance due + to a database error.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Returns the enum constant of this class with the specified name.
    +
    + + +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    +
    +
    + +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      HEALTHY

      +
      public static final EvaluationReason.BigSegmentsStatus HEALTHY
      +
      Indicates that the Big Segment query involved in the flag evaluation was successful, and that + the segment state is considered up to date.
      +
      +
    • +
    • +
      +

      STALE

      +
      public static final EvaluationReason.BigSegmentsStatus STALE
      +
      Indicates that the Big Segment query involved in the flag evaluation was successful, but that + the segment state may not be up to date.
      +
      +
    • +
    • +
      +

      NOT_CONFIGURED

      +
      public static final EvaluationReason.BigSegmentsStatus NOT_CONFIGURED
      +
      Indicates that Big Segments could not be queried for the flag evaluation because the SDK + configuration did not include a Big Segment store.
      +
      +
    • +
    • +
      +

      STORE_ERROR

      +
      public static final EvaluationReason.BigSegmentsStatus STORE_ERROR
      +
      Indicates that the Big Segment query involved in the flag evaluation failed, for instance due + to a database error.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static EvaluationReason.BigSegmentsStatus[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static EvaluationReason.BigSegmentsStatus valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/EvaluationReason.ErrorKind.html b/com/launchdarkly/sdk/EvaluationReason.ErrorKind.html new file mode 100644 index 00000000..40b724f8 --- /dev/null +++ b/com/launchdarkly/sdk/EvaluationReason.ErrorKind.html @@ -0,0 +1,275 @@ + + + + +EvaluationReason.ErrorKind (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class EvaluationReason.ErrorKind

+
+
java.lang.Object +
java.lang.Enum<EvaluationReason.ErrorKind> +
com.launchdarkly.sdk.EvaluationReason.ErrorKind
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<EvaluationReason.ErrorKind>, Constable
+
+
+
Enclosing class:
+
EvaluationReason
+
+
+
public static enum EvaluationReason.ErrorKind +extends Enum<EvaluationReason.ErrorKind>
+
Enumerated type defining the possible values of EvaluationReason.getErrorKind().
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      CLIENT_NOT_READY

      +
      public static final EvaluationReason.ErrorKind CLIENT_NOT_READY
      +
      Indicates that the caller tried to evaluate a flag before the client had successfully initialized.
      +
      +
    • +
    • +
      +

      FLAG_NOT_FOUND

      +
      public static final EvaluationReason.ErrorKind FLAG_NOT_FOUND
      +
      Indicates that the caller provided a flag key that did not match any known flag.
      +
      +
    • +
    • +
      +

      MALFORMED_FLAG

      +
      public static final EvaluationReason.ErrorKind MALFORMED_FLAG
      +
      Indicates that there was an internal inconsistency in the flag data, e.g. a rule specified a nonexistent + variation. An error message will always be logged in this case.
      +
      +
    • +
    • +
      +

      USER_NOT_SPECIFIED

      +
      public static final EvaluationReason.ErrorKind USER_NOT_SPECIFIED
      +
      Indicates that the caller passed null for the user parameter, or the user lacked a key.
      +
      +
    • +
    • +
      +

      WRONG_TYPE

      +
      public static final EvaluationReason.ErrorKind WRONG_TYPE
      +
      Indicates that the result value was not of the requested type, e.g. you called boolVariationDetail + but the value was an integer.
      +
      +
    • +
    • +
      +

      EXCEPTION

      +
      public static final EvaluationReason.ErrorKind EXCEPTION
      +
      Indicates that an unexpected exception stopped flag evaluation. An error message will always be logged + in this case, and the exception should be available via EvaluationReason.getException().
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static EvaluationReason.ErrorKind[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static EvaluationReason.ErrorKind valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/EvaluationReason.Kind.html b/com/launchdarkly/sdk/EvaluationReason.Kind.html new file mode 100644 index 00000000..a9e42afd --- /dev/null +++ b/com/launchdarkly/sdk/EvaluationReason.Kind.html @@ -0,0 +1,276 @@ + + + + +EvaluationReason.Kind (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class EvaluationReason.Kind

+
+
java.lang.Object +
java.lang.Enum<EvaluationReason.Kind> +
com.launchdarkly.sdk.EvaluationReason.Kind
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<EvaluationReason.Kind>, Constable
+
+
+
Enclosing class:
+
EvaluationReason
+
+
+
public static enum EvaluationReason.Kind +extends Enum<EvaluationReason.Kind>
+
Enumerated type defining the possible values of EvaluationReason.getKind().
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from class java.lang.Enum

    +Enum.EnumDesc<E extends Enum<E>>
    +
    +
  • + +
  • +
    +

    Enum Constant Summary

    +
    Enum Constants
    +
    +
    Enum Constant
    +
    Description
    + +
    +
    Indicates that the flag could not be evaluated, e.g.
    +
    + +
    +
    Indicates that the flag was on but the user did not match any targets or rules.
    +
    + +
    +
    Indicates that the flag was off and therefore returned its configured off value.
    +
    + +
    +
    Indicates that the flag was considered off because it had at least one prerequisite flag + that either was off or did not return the desired variation.
    +
    + +
    +
    Indicates that the context matched one of the flag's rules.
    +
    + +
    +
    Indicates that the context key was specifically targeted for this flag.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Returns the enum constant of this class with the specified name.
    +
    + + +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    +
    +
    + +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      OFF

      +
      public static final EvaluationReason.Kind OFF
      +
      Indicates that the flag was off and therefore returned its configured off value.
      +
      +
    • +
    • +
      +

      FALLTHROUGH

      +
      public static final EvaluationReason.Kind FALLTHROUGH
      +
      Indicates that the flag was on but the user did not match any targets or rules.
      +
      +
    • +
    • +
      +

      TARGET_MATCH

      +
      public static final EvaluationReason.Kind TARGET_MATCH
      +
      Indicates that the context key was specifically targeted for this flag.
      +
      +
    • +
    • +
      +

      RULE_MATCH

      +
      public static final EvaluationReason.Kind RULE_MATCH
      +
      Indicates that the context matched one of the flag's rules.
      +
      +
    • +
    • +
      +

      PREREQUISITE_FAILED

      +
      public static final EvaluationReason.Kind PREREQUISITE_FAILED
      +
      Indicates that the flag was considered off because it had at least one prerequisite flag + that either was off or did not return the desired variation.
      +
      +
    • +
    • +
      +

      ERROR

      +
      public static final EvaluationReason.Kind ERROR
      +
      Indicates that the flag could not be evaluated, e.g. because it does not exist or due to an unexpected + error. In this case the result value will be the default value that the caller passed to the client. + Check the errorKind property for more details on the problem.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static EvaluationReason.Kind[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static EvaluationReason.Kind valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/EvaluationReason.html b/com/launchdarkly/sdk/EvaluationReason.html new file mode 100644 index 00000000..ee448926 --- /dev/null +++ b/com/launchdarkly/sdk/EvaluationReason.html @@ -0,0 +1,566 @@ + + + + +EvaluationReason (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class EvaluationReason

+
+
java.lang.Object +
com.launchdarkly.sdk.EvaluationReason
+
+
+
+
All Implemented Interfaces:
+
JsonSerializable
+
+
+
public final class EvaluationReason +extends Object +implements JsonSerializable
+
Describes the reason that a flag evaluation produced a particular value. +

+ This is returned within EvaluationDetail by the SDK's "variation detail" methods such as + boolVariationDetail. +

+ Note that while EvaluationReason has subclasses as an implementation detail, the subclasses + are not public and may be removed in the future. Always use methods of the base class such as + getKind() or getRuleIndex() to inspect the reason. +

+ LaunchDarkly defines a standard JSON encoding for evaluation reasons, used in analytics events. + EvaluationReason can be converted to and from JSON in any of these ways: +

    +
  1. With JsonSerialization. +
  2. With Gson, if and only if you configure your Gson instance with + LDGson. +
  3. With Jackson, if and only if you configure your ObjectMapper instance with + LDJackson. +
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getKind

      +
      public EvaluationReason.Kind getKind()
      +
      Returns an enum indicating the general category of the reason.
      +
      +
      Returns:
      +
      a EvaluationReason.Kind value
      +
      +
      +
    • +
    • +
      +

      getRuleIndex

      +
      public int getRuleIndex()
      +
      The index of the rule that was matched (0 for the first rule in the feature flag), + if the kind is EvaluationReason.Kind.RULE_MATCH. Otherwise this returns -1.
      +
      +
      Returns:
      +
      the rule index or -1
      +
      +
      +
    • +
    • +
      +

      getRuleId

      +
      public String getRuleId()
      +
      The unique identifier of the rule that was matched, if the kind is + EvaluationReason.Kind.RULE_MATCH. Otherwise null. +

      + Unlike the rule index, this identifier will not change if other rules are added or deleted.

      +
      +
      Returns:
      +
      the rule identifier or null
      +
      +
      +
    • +
    • +
      +

      getPrerequisiteKey

      +
      public String getPrerequisiteKey()
      +
      The key of the prerequisite flag that did not return the desired variation, if the + kind is EvaluationReason.Kind.PREREQUISITE_FAILED. Otherwise null.
      +
      +
      Returns:
      +
      the prerequisite flag key or null
      +
      +
      +
    • +
    • +
      +

      isInExperiment

      +
      public boolean isInExperiment()
      +
      Whether the evaluation was part of an experiment. Returns true if the evaluation + resulted in an experiment rollout *and* served one of the variations in the + experiment. Otherwise it returns false.
      +
      +
      Returns:
      +
      whether the evaluation was part of an experiment
      +
      +
      +
    • +
    • +
      +

      getErrorKind

      +
      public EvaluationReason.ErrorKind getErrorKind()
      +
      An enumeration value indicating the general category of error, if the + kind is EvaluationReason.Kind.PREREQUISITE_FAILED. Otherwise null.
      +
      +
      Returns:
      +
      the error kind or null
      +
      +
      +
    • +
    • +
      +

      getException

      +
      public Exception getException()
      +
      The exception that caused the error condition, if the kind is + EvaluationReason.Kind.ERROR and the errorKind is EvaluationReason.ErrorKind.EXCEPTION. + Otherwise null. +

      + Note that the exception will not be included in the JSON serialization of the reason when it + appears in analytics events; it is only provided informationally for use by application code.

      +
      +
      Returns:
      +
      the exception instance
      +
      +
      +
    • +
    • +
      +

      getBigSegmentsStatus

      +
      public EvaluationReason.BigSegmentsStatus getBigSegmentsStatus()
      +
      Describes the validity of Big Segment information, if and only if the flag evaluation required + querying at least one Big Segment. Otherwise it returns null. +

      + Big Segments are a specific type of user segments. For more information, read the + LaunchDarkly documentation + .

      +
      +
      Returns:
      +
      the EvaluationReason.BigSegmentsStatus from the evaluation or null
      +
      +
      +
    • +
    • +
      +

      withBigSegmentsStatus

      +
      public EvaluationReason withBigSegmentsStatus(EvaluationReason.BigSegmentsStatus bigSegmentsStatus)
      +
      Returns a copy of this EvaluationReason with a specific EvaluationReason.BigSegmentsStatus + value.
      +
      +
      Parameters:
      +
      bigSegmentsStatus - the new property value
      +
      Returns:
      +
      a new reason object
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns a simple string representation of the reason. +

      + This is a convenience method for debugging and any other use cases where a human-readable string is + helpful. The exact format of the string is subject to change; if you need to make programmatic + decisions based on the reason properties, use other methods like getKind().

      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object other)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
    • +
    • +
      +

      off

      +
      public static EvaluationReason off()
      +
      Returns an instance whose kind is EvaluationReason.Kind.OFF.
      +
      +
      Returns:
      +
      a reason object
      +
      +
      +
    • +
    • +
      +

      fallthrough

      +
      public static EvaluationReason fallthrough()
      +
      Returns an instance whose kind is EvaluationReason.Kind.FALLTHROUGH.
      +
      +
      Returns:
      +
      a reason object
      +
      +
      +
    • +
    • +
      +

      fallthrough

      +
      public static EvaluationReason fallthrough(boolean inExperiment)
      +
      Returns an instance whose kind is EvaluationReason.Kind.FALLTHROUGH and + where the inExperiment parameter represents whether the evaluation was + part of an experiment.
      +
      +
      Parameters:
      +
      inExperiment - whether the evaluation was part of an experiment
      +
      Returns:
      +
      a reason object
      +
      +
      +
    • +
    • +
      +

      targetMatch

      +
      public static EvaluationReason targetMatch()
      +
      Returns an instance whose kind is EvaluationReason.Kind.TARGET_MATCH.
      +
      +
      Returns:
      +
      a reason object
      +
      +
      +
    • +
    • +
      +

      ruleMatch

      +
      public static EvaluationReason ruleMatch(int ruleIndex, + String ruleId)
      +
      Returns an instance whose kind is EvaluationReason.Kind.RULE_MATCH.
      +
      +
      Parameters:
      +
      ruleIndex - the rule index
      +
      ruleId - the rule identifier
      +
      Returns:
      +
      a reason object
      +
      +
      +
    • +
    • +
      +

      ruleMatch

      +
      public static EvaluationReason ruleMatch(int ruleIndex, + String ruleId, + boolean inExperiment)
      +
      Returns an instance whose kind is EvaluationReason.Kind.RULE_MATCH and + where the inExperiment parameter represents whether the evaluation was + part of an experiment.
      +
      +
      Parameters:
      +
      ruleIndex - the rule index
      +
      ruleId - the rule identifier
      +
      inExperiment - whether the evaluation was part of an experiment
      +
      Returns:
      +
      a reason object
      +
      +
      +
    • +
    • +
      +

      prerequisiteFailed

      +
      public static EvaluationReason prerequisiteFailed(String prerequisiteKey)
      +
      Returns an instance whose kind is EvaluationReason.Kind.PREREQUISITE_FAILED.
      +
      +
      Parameters:
      +
      prerequisiteKey - the flag key of the prerequisite that failed
      +
      Returns:
      +
      a reason object
      +
      +
      +
    • +
    • +
      +

      error

      +
      public static EvaluationReason error(EvaluationReason.ErrorKind errorKind)
      +
      Returns an instance whose kind is EvaluationReason.Kind.ERROR.
      +
      +
      Parameters:
      +
      errorKind - describes the type of error
      +
      Returns:
      +
      a reason object
      +
      +
      +
    • +
    • +
      +

      exception

      +
      public static EvaluationReason exception(Exception exception)
      +
      Returns an instance whose kind is EvaluationReason.Kind.ERROR, with an exception instance. +

      + Note that the exception will not be included in the JSON serialization of the reason when it + appears in analytics events; it is only provided informationally for use by application code.

      +
      +
      Parameters:
      +
      exception - the exception that caused the error
      +
      Returns:
      +
      a reason object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/LDContext.html b/com/launchdarkly/sdk/LDContext.html new file mode 100644 index 00000000..b62b6008 --- /dev/null +++ b/com/launchdarkly/sdk/LDContext.html @@ -0,0 +1,972 @@ + + + + +LDContext (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDContext

+
+
java.lang.Object +
com.launchdarkly.sdk.LDContext
+
+
+
+
All Implemented Interfaces:
+
JsonSerializable
+
+
+
public final class LDContext +extends Object +implements JsonSerializable
+
A collection of attributes that can be referenced in flag evaluations and analytics events. +

+ LDContext is the newer replacement for the previous, less flexible LDUser type. + The current SDK still supports LDUser, but LDContext is now the preferred model and may + entirely replace LDUser in the future. +

+ To create an LDContext of a single kind, such as a user, you may use create(String) + or create(ContextKind, String) when only the key matters; or, to specify other + attributes, use builder(String). +

+ To create an LDContext with multiple kinds, use createMulti(LDContext...) or + multiBuilder(). +

+ An LDContext can be in an error state if it was built with invalid attributes. See + isValid() and getError(). +

+ LaunchDarkly defines a standard JSON encoding for contexts, used by the JavaScript SDK + and also in analytics events. LDContext can be converted to and from JSON in any of + these ways: +

    +
  1. With JsonSerialization. +
  2. With Gson, if and only if you configure your Gson instance with + LDGson. +
  3. With Jackson, if and only if you configure your ObjectMapper instance with + LDJackson. +
+

+ To learn more about contexts, read the + documentation.

+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      create

      +
      public static LDContext create(String key)
      +
      Creates a single-kind LDContext with a kind of ContextKind.DEFAULT} and the specified key. +

      + To specify additional properties, use builder(String). To create a multi-kind + LDContext, use createMulti(LDContext...) or multiBuilder(). To create a + single-kind LDContext of a different kind than "user", use create(ContextKind, String).

      +
      +
      Parameters:
      +
      key - the context key
      +
      Returns:
      +
      an LDContext
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      create

      +
      public static LDContext create(ContextKind kind, + String key)
      +
      Creates a single-kind LDContext with only the kind and keys specified. +

      + To specify additional properties, use builder(ContextKind, String). To create a multi-kind + LDContext, use createMulti(LDContext...) or multiBuilder().

      +
      +
      Parameters:
      +
      kind - the context kind; if null, ContextKind.DEFAULT will be used
      +
      key - the context key
      +
      Returns:
      +
      an LDContext
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      createMulti

      +
      public static LDContext createMulti(LDContext... contexts)
      +
      Creates a multi-kind LDContext out of the specified single-kind LDContexts. +

      + To create a single-kind Context, use create(String), create(ContextKind, String), + or builder(String). +

      + For the returned LDContext to be valid, the contexts list must not be empty, and all of its + elements must be valid LDContexts. Otherwise, the returned LDContext will be invalid as + reported by getError(). +

      + If only one context parameter is given, the method returns that same context. +

      + If the nested context is multi-kind, this is exactly equivalent to adding each of the + individual kinds from it separately. For instance, in the following example, "multi1" and + "multi2" end up being exactly the same: +

      
      +     LDContext c1 = LDContext.create(ContextKind.of("kind1"), "key1");
      +     LDContext c2 = LDContext.create(ContextKind.of("kind2"), "key2");
      +     LDContext c3 = LDContext.create(ContextKind.of("kind3"), "key3");
      +
      +     LDContext multi1 = LDContext.createMulti(c1, c2, c3);
      +
      +     LDContext c1plus2 = LDContext.createMulti(c1, c2);
      +     LDContext multi2 = LDContext.createMulti(c1plus2, c3);
      + 
      +
      +
      Parameters:
      +
      contexts - a list of contexts
      +
      Returns:
      +
      an LDContext
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      fromUser

      +
      @Deprecated +public static LDContext fromUser(LDUser user)
      +
      Deprecated. +
      use LDContext directly instead.
      +
      +
      Converts a user to an equivalent LDContext instance. +

      + This method is used by the SDK whenever an application passes a LDUser instance + to methods such as identify. The SDK operates internally on the LDContext + model, which is more flexible than the older LDUser model: an L User can always be converted + to an LDContext, but not vice versa. The ContextKind of the resulting Context is + ContextKind.DEFAULT ("user"). +

      + Because there is some overhead to this conversion, it is more efficient for applications to + construct an LDContext and pass that to the SDK, rather than an LDUser. This is also recommended + because the LDUser type may be removed in a future version of the SDK. +

      + If the user parameter is null, or if the user has a null key, the method returns an + LDContext in an invalid state (see isValid()).

      +
      +
      Parameters:
      +
      user - an LDUser object
      +
      Returns:
      +
      an LDContext with the same attributes as the LDUser
      +
      +
      +
    • +
    • +
      +

      builder

      +
      public static ContextBuilder builder(String key)
      +
      Creates a ContextBuilder for building an LDContext, initializing its key and setting + kind to ContextKind.DEFAULT. +

      + You may use ContextBuilder methods to set additional attributes and/or change the + ContextBuilder.kind(ContextKind) before calling ContextBuilder.build(). + If you do not change any values, the defaults for the LDContext are that its kind is + ContextKind.DEFAULT ("user"), its key is set to the key parameter passed here, + anonymous is false, and it has no values for any other attributes. +

      + This method is for building an LDContext that has only a single Kind. To define a multi-kind + LDContext, use multiBuilder(). +

      + if key is an empty string, there is no default. An LDContext must have a non-empty + key, so if you call ContextBuilder.build() in this state without using + ContextBuilder.key(String) to set the key, you will get an invalid LDContext.

      +
      +
      Parameters:
      +
      key - the context key
      +
      Returns:
      +
      a builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      builder

      +
      public static ContextBuilder builder(ContextKind kind, + String key)
      +
      Creates a ContextBuilder for building an LDContext, initializing its key and + kind. +

      + You may use ContextBuilder methods to set additional attributes and/or change the + ContextBuilder.kind(ContextKind) before calling ContextBuilder.build(). + If you do not change any values, the defaults for the LDContext are that its kind and + key is set to the parameters passed here, anonymous is false, and it has + no values for any other attributes. +

      + This method is for building an LDContext that has only a single Kind. To define a multi-kind + LDContext, use multiBuilder(). +

      + if key is an empty string, there is no default. An LDContext must have a non-empty + key, so if you call ContextBuilder.build() in this state without using + ContextBuilder.key(String) to set the key, you will get an invalid LDContext.

      +
      +
      Parameters:
      +
      kind - the context kind; if null, ContextKind.DEFAULT is used
      +
      key - the context key
      +
      Returns:
      +
      a builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      builderFromContext

      +
      public static ContextBuilder builderFromContext(LDContext context)
      +
      Creates a builder whose properties are the same as an existing single-kind LDContext. +

      + You may then change the builder's state in any way and call ContextBuilder.build() + to create a new independent LDContext.

      +
      +
      Parameters:
      +
      context - the context to copy from
      +
      Returns:
      +
      a builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      multiBuilder

      +
      public static ContextMultiBuilder multiBuilder()
      +
      Creates a ContextMultiBuilder for building a multi-kind context. +

      + This method is for building a Context that has multiple ContextKind values, + each with its own nested LDContext. To define a single-kind context, use + builder(String) instead.

      +
      +
      Returns:
      +
      a builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      isValid

      +
      public boolean isValid()
      +
      Returns true for a valid LDContext, false for an invalid one. +

      + A valid context is one that can be used in SDK operations. An invalid context is one that + is missing necessary attributes or has invalid attributes, indicating an incorrect usage + of the SDK API. The only ways for a context to be invalid are: +

        +
      • It has a disallowed value for the kind property. See ContextKind.
      • +
      • It is a single-kind context whose key is empty.
      • +
      • It is a multi-kind context that does not have any kinds. See createMulti(LDContext...).
      • +
      • It is a multi-kind context where the same kind appears more than once.
      • +
      • It is a multi-kind context where at least one of the nested LDContexts has an error.
      • +
      • It was created with fromUser(LDUser) from a null LDUser reference, or from an + LDUser that had a null key.
      • +
      +

      + In any of these cases, isValid() will return false, and getError() + will return a description of the error. +

      + Since in normal usage it is easy for applications to be sure they are using context kinds + correctly, and because throwing an exception is undesirable in application code that uses + LaunchDarkly, the SDK stores the error state in the LDContext itself and checks for such + errors at the time the Context is used, such as in a flag evaluation. At that point, if + the context is invalid, the operation will fail in some well-defined way as described in + the documentation for that method, and the SDK will generally log a warning as well. But + in any situation where you are not sure if you have a valid LDContext, you can check + isValid() or getError().

      +
      +
      Returns:
      +
      true if the context is valid
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getError

      +
      public String getError()
      +
      Returns null for a valid LDContext, or an error message for an invalid one. +

      + If this is null, then isValid() is true. If it is non-null, then isValid() + is false.

      +
      +
      Returns:
      +
      an error description or null
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getKind

      +
      public ContextKind getKind()
      +
      Returns the context's kind attribute. +

      + Every valid context has a non-empty ContextKind. For multi-kind contexts, this value + is ContextKind.MULTI and the kinds within the context can be inspected with + getIndividualContext(int) or getIndividualContext(String).

      +
      +
      Returns:
      +
      the context kind
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      isMultiple

      +
      public boolean isMultiple()
      +
      Returns true if this is a multi-kind context. +

      + If this value is true, then getKind() is guaranteed to be + ContextKind.MULTI, and you can inspect the individual contexts for each kind + with getIndividualContext(int) or getIndividualContext(ContextKind). +

      + If this value is false, then getKind() is guaranteed to return a value that + is not ContextKind.MULTI.

      +
      +
      Returns:
      +
      true for a multi-kind context, false for a single-kind context
      +
      +
      +
    • +
    • +
      +

      getKey

      +
      public String getKey()
      +
      Returns the context's key attribute. +

      + For a single-kind context, this value is set by one of the LDContext factory methods + or builders (create(String), create(ContextKind, String), + builder(String), builder(ContextKind, String)). +

      + For a multi-kind context, there is no single value and getKey() returns an + empty string. Use getIndividualContext(int) or getIndividualContext(String) + to inspect the LDContext for a particular kind, then call getKey() on it. +

      + This value is never null.

      +
      +
      Returns:
      +
      the context key
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getName

      +
      public String getName()
      +
      Returns the context's name attribute. +

      + For a single-kind context, this value is set by ContextBuilder.name(String). + It is null if no value was set. +

      + For a multi-kind context, there is no single value and getName() returns null. + Use getIndividualContext(int) or getIndividualContext(String) to + inspect the LDContext for a particular kind, then call getName() on it.

      +
      +
      Returns:
      +
      the context name or null
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      isAnonymous

      +
      public boolean isAnonymous()
      +
      Returns true if this context is only intended for flag evaluations and will not be + indexed by LaunchDarkly. +

      + The default value is false. False means that this LDContext represents an entity + such as a user that you want to be able to see on the LaunchDarkly dashboard. +

      + Setting anonymous to true excludes this context from the database that is + used by the dashboard. It does not exclude it from analytics event data, so it is + not the same as making attributes private; all non-private attributes will still be + included in events and data export. There is no limitation on what other attributes + may be included (so, for instance, anonymous does not mean there is no + name), and the context will still have whatever key you have given it. +

      + This value is also addressable in evaluations as the attribute name "anonymous". It + is always treated as a boolean true or false in evaluations.

      +
      +
      Returns:
      +
      true if the context should be excluded from the LaunchDarkly database
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getValue

      +
      public LDValue getValue(String attributeName)
      +
      Looks up the value of any attribute of the context by name. +

      + This includes only attributes that are addressable in evaluations-- not metadata such + as getPrivateAttribute(int). +

      + For a single-kind context, the attribute name can be any custom attribute that was set + by methods like ContextBuilder.set(String, boolean). It can also be one of the + built-in ones like "kind", "key", or "name"; in such cases, it is equivalent to + getKind(), getKey(), or getName(), except that the value is + returned using the general-purpose LDValue type. +

      + For a multi-kind context, the only supported attribute name is "kind". Use + getIndividualContext(int) or getIndividualContext(ContextKind) to + inspect the LDContext for a particular kind and then get its attributes. +

      + This method does not support complex expressions for getting individual values out of + JSON objects or arrays, such as "/address/street". Use getValue(AttributeRef) + with an AttributeRef for that purpose. +

      + If the value is found, the return value is the attribute value, using the type + LDValue to represent a value of any JSON type. +

      + If there is no such attribute, the return value is LDValue.ofNull() (the method + never returns a Java null). An attribute that actually exists cannot have a null + value.

      +
      +
      Parameters:
      +
      attributeName - the desired attribute name
      +
      Returns:
      +
      the value or LDValue.ofNull()
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getValue

      +
      public LDValue getValue(AttributeRef attributeRef)
      +
      Looks up the value of any attribute of the context, or a value contained within an + attribute, based on an AttributeRef. +

      + This includes only attributes that are addressable in evaluations-- not metadata such + as getPrivateAttribute(int). +

      + This implements the same behavior that the SDK uses to resolve attribute references + during a flag evaluation. In a single-kind context, the AttributeRef can + represent a simple attribute name-- either a built-in one like "name" or "key", or a + custom attribute that was set by methods like ContextBuilder.set(String, String)-- + or, it can be a slash-delimited path using a JSON-Pointer-like syntax. See + AttributeRef for more details. +

      + For a multi-kind context, the only supported attribute name is "kind". Use + getIndividualContext(int) or getIndividualContext(ContextKind) to + inspect the LDContext for a particular kind and then get its attributes. +

      + This method does not support complex expressions for getting individual values out of + JSON objects or arrays, such as "/address/street". Use getValue(AttributeRef) + with an AttributeRef for that purpose. +

      + If the value is found, the return value is the attribute value, using the type + LDValue to represent a value of any JSON type. +

      + If there is no such attribute, the return value is LDValue.ofNull() (the method + never returns a Java null). An attribute that actually exists cannot have a null + value.

      +
      +
      Parameters:
      +
      attributeRef - an attribute reference
      +
      Returns:
      +
      the attribute value
      +
      +
      +
    • +
    • +
      +

      getCustomAttributeNames

      +
      public Iterable<String> getCustomAttributeNames()
      +
      Returns the names of all non-built-in attributes that have been set in this context. +

      + For a single-kind context, this includes all the names that were passed to + any of the overloads of ContextBuilder.set(String, LDValue) as long as the + values were not null (since a null value in LaunchDarkly is equivalent to the attribute + not being set). +

      + For a multi-kind context, there are no such names.

      +
      +
      Returns:
      +
      an iterable of strings (may be empty, but will never be null)
      +
      +
      +
    • +
    • +
      +

      getIndividualContextCount

      +
      public int getIndividualContextCount()
      +
      Returns the number of context kinds in this context. +

      + For a valid single-kind context, this returns 1. For a multi-kind context, it returns + the number of kinds that were added with createMulti(LDContext...) or + multiBuilder(). For an invalid context, it returns zero.

      +
      +
      Returns:
      +
      the number of context kinds
      +
      +
      +
    • +
    • +
      +

      getIndividualContext

      +
      public LDContext getIndividualContext(int index)
      +
      Returns the single-kind LDContext corresponding to one of the kinds in this context. +

      + If this method is called on a single-kind LDContext, then the only allowable value + for index is zero, and the return value on success is the same LDContext. If + the method is called on a multi-kind context, then index must be non-negative and + less than the number of kinds (that is, less than the return value of + getIndividualContextCount()), and the return value on success is one of the + individual LDContexts within.

      +
      +
      Parameters:
      +
      index - the zero-based index of the context to get
      +
      Returns:
      +
      an LDContext, or null if the index was out of range
      +
      +
      +
    • +
    • +
      +

      getIndividualContext

      +
      public LDContext getIndividualContext(ContextKind kind)
      +
      Returns the single-kind LDContext corresponding to one of the kinds in this context. +

      + If this method is called on a single-kind LDContext, then the only allowable value + for kind is the same as getKind(), and the return value on success + is the same LDContext. If the method is called on a multi-kind context, then + kind should be match the kind of one of the contexts that was added with + createMulti(LDContext...) or multiBuilder(), and the return value on + success is the corresponding individual LDContext within.

      +
      +
      Parameters:
      +
      kind - the context kind to get; if null, defaults to ContextKind.DEFAULT
      +
      Returns:
      +
      an LDContext, or null if that kind was not found
      +
      +
      +
    • +
    • +
      +

      getIndividualContext

      +
      public LDContext getIndividualContext(String kind)
      +
      Same as getIndividualContext(ContextKind), but specifies the kind as a + plain string.
      +
      +
      Parameters:
      +
      kind - the context kind to get
      +
      Returns:
      +
      an LDContext, or null if that kind was not found
      +
      +
      +
    • +
    • +
      +

      getPrivateAttributeCount

      +
      public int getPrivateAttributeCount()
      +
      Returns the number of private attribute references that were specified for this context. +

      + This is equal to the total number of values passed to ContextBuilder.privateAttributes(String...) + and/or its overload ContextBuilder.privateAttributes(AttributeRef...).

      +
      +
      Returns:
      +
      the number of private attribute references
      +
      +
      +
    • +
    • +
      +

      getPrivateAttribute

      +
      public AttributeRef getPrivateAttribute(int index)
      +
      Retrieves one of the private attribute references that were specified for this context.
      +
      +
      Parameters:
      +
      index - a non-negative index that must be less than getPrivateAttributeCount()
      +
      Returns:
      +
      an AttributeRef, or null if the index was out of range
      +
      +
      +
    • +
    • +
      +

      getFullyQualifiedKey

      +
      public String getFullyQualifiedKey()
      +
      Returns a string that describes the LDContext uniquely based on kind and + key values. +

      + This value is used whenever LaunchDarkly needs a string identifier based on all of the + kind and key values in the context; the SDK may use this for caching + previously seen contexts, for instance.

      +
      +
      Returns:
      +
      the fully-qualified key
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns a string representation of the context. +

      + For a valid context, this is currently defined as being the same as the JSON representation, + since that is the simplest way to represent all of the LDContext properties. However, + application code should not rely on toString() always being the same as the JSON + representation. If you specifically want the latter, use JsonSerialization.serialize(JsonSerializable). +

      + For an invalid context, toString() returns a description of why it is invalid.

      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object other)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/LDUser.Builder.html b/com/launchdarkly/sdk/LDUser.Builder.html new file mode 100644 index 00000000..704da3d0 --- /dev/null +++ b/com/launchdarkly/sdk/LDUser.Builder.html @@ -0,0 +1,789 @@ + + + + +LDUser.Builder (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDUser.Builder

+
+
java.lang.Object +
com.launchdarkly.sdk.LDUser.Builder
+
+
+
+
Enclosing class:
+
LDUser
+
+
+
@Deprecated +public static class LDUser.Builder +extends Object
+ +
A builder that helps construct LDUser objects. Builder + calls can be chained, enabling the following pattern: +
+ LDUser user = new LDUser.Builder("key")
+      .country("US")
+      .ip("192.168.0.1")
+      .build()
+ 
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Builder

      +
      public Builder(String key)
      +
      Deprecated.
      +
      Creates a builder with the specified key.
      +
      +
      Parameters:
      +
      key - the unique key for this user
      +
      +
      +
    • +
    • +
      +

      Builder

      +
      public Builder(LDUser user)
      +
      Deprecated.
      +
      Creates a builder based on an existing user.
      +
      +
      Parameters:
      +
      user - an existing LDUser
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      key

      +
      public LDUser.Builder key(String s)
      +
      Deprecated.
      +
      Changes the user's key.
      +
      +
      Parameters:
      +
      s - the user key
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      ip

      +
      public LDUser.Builder ip(String s)
      +
      Deprecated.
      +
      Sets the IP for a user.
      +
      +
      Parameters:
      +
      s - the IP address for the user
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      privateIp

      +
      public LDUser.Builder privateIp(String s)
      +
      Deprecated.
      +
      Sets the IP for a user, and ensures that the IP attribute is not sent back to LaunchDarkly.
      +
      +
      Parameters:
      +
      s - the IP address for the user
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      country

      +
      public LDUser.Builder country(String s)
      +
      Deprecated.
      +
      Set the country for a user. Before version 5.0.0, this field was validated and normalized by the SDK + as an ISO-3166-1 country code before assignment. This behavior has been removed so that the SDK can + treat this field as a normal string, leaving the meaning of this field up to the application.
      +
      +
      Parameters:
      +
      s - the country for the user
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      privateCountry

      +
      public LDUser.Builder privateCountry(String s)
      +
      Deprecated.
      +
      Set the country for a user, and ensures that the country attribute will not be sent back to LaunchDarkly. + Before version 5.0.0, this field was validated and normalized by the SDK as an ISO-3166-1 country code + before assignment. This behavior has been removed so that the SDK can treat this field as a normal string, + leaving the meaning of this field up to the application.
      +
      +
      Parameters:
      +
      s - the country for the user
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      firstName

      +
      public LDUser.Builder firstName(String firstName)
      +
      Deprecated.
      +
      Sets the user's first name
      +
      +
      Parameters:
      +
      firstName - the user's first name
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      privateFirstName

      +
      public LDUser.Builder privateFirstName(String firstName)
      +
      Deprecated.
      +
      Sets the user's first name, and ensures that the first name attribute will not be sent back to LaunchDarkly.
      +
      +
      Parameters:
      +
      firstName - the user's first name
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      anonymous

      +
      public LDUser.Builder anonymous(boolean anonymous)
      +
      Deprecated.
      +
      Sets whether this user is anonymous.
      +
      +
      Parameters:
      +
      anonymous - whether the user is anonymous
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      lastName

      +
      public LDUser.Builder lastName(String lastName)
      +
      Deprecated.
      +
      Sets the user's last name.
      +
      +
      Parameters:
      +
      lastName - the user's last name
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      privateLastName

      +
      public LDUser.Builder privateLastName(String lastName)
      +
      Deprecated.
      +
      Sets the user's last name, and ensures that the last name attribute will not be sent back to LaunchDarkly.
      +
      +
      Parameters:
      +
      lastName - the user's last name
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      name

      +
      public LDUser.Builder name(String name)
      +
      Deprecated.
      +
      Sets the user's full name.
      +
      +
      Parameters:
      +
      name - the user's full name
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      privateName

      +
      public LDUser.Builder privateName(String name)
      +
      Deprecated.
      +
      Sets the user's full name, and ensures that the name attribute will not be sent back to LaunchDarkly.
      +
      +
      Parameters:
      +
      name - the user's full name
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      avatar

      +
      public LDUser.Builder avatar(String avatar)
      +
      Deprecated.
      +
      Sets the user's avatar.
      +
      +
      Parameters:
      +
      avatar - the user's avatar
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      privateAvatar

      +
      public LDUser.Builder privateAvatar(String avatar)
      +
      Deprecated.
      +
      Sets the user's avatar, and ensures that the avatar attribute will not be sent back to LaunchDarkly.
      +
      +
      Parameters:
      +
      avatar - the user's avatar
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      email

      +
      public LDUser.Builder email(String email)
      +
      Deprecated.
      +
      Sets the user's e-mail address.
      +
      +
      Parameters:
      +
      email - the e-mail address
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      privateEmail

      +
      public LDUser.Builder privateEmail(String email)
      +
      Deprecated.
      +
      Sets the user's e-mail address, and ensures that the e-mail address attribute will not be sent back to LaunchDarkly.
      +
      +
      Parameters:
      +
      email - the e-mail address
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      custom

      +
      public LDUser.Builder custom(String k, + String v)
      +
      Deprecated.
      +
      Adds a String-valued custom attribute. When set to one of the + built-in + user attribute keys, this custom attribute will be ignored.
      +
      +
      Parameters:
      +
      k - the key for the custom attribute
      +
      v - the value for the custom attribute
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      custom

      +
      public LDUser.Builder custom(String k, + int n)
      +
      Deprecated.
      +
      Adds an integer-valued custom attribute. When set to one of the + built-in + user attribute keys, this custom attribute will be ignored.
      +
      +
      Parameters:
      +
      k - the key for the custom attribute
      +
      n - the value for the custom attribute
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      custom

      +
      public LDUser.Builder custom(String k, + double n)
      +
      Deprecated.
      +
      Adds a double-precision numeric custom attribute. When set to one of the + built-in + user attribute keys, this custom attribute will be ignored.
      +
      +
      Parameters:
      +
      k - the key for the custom attribute
      +
      n - the value for the custom attribute
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      custom

      +
      public LDUser.Builder custom(String k, + boolean b)
      +
      Deprecated.
      +
      Add a boolean-valued custom attribute. When set to one of the + built-in + user attribute keys, this custom attribute will be ignored.
      +
      +
      Parameters:
      +
      k - the key for the custom attribute
      +
      b - the value for the custom attribute
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      custom

      +
      public LDUser.Builder custom(String k, + LDValue v)
      +
      Deprecated.
      +
      Add a custom attribute whose value can be any JSON type, using LDValue. When set to one of the + built-in + user attribute keys, this custom attribute will be ignored.
      +
      +
      Parameters:
      +
      k - the key for the custom attribute
      +
      v - the value for the custom attribute
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      privateCustom

      +
      public LDUser.Builder privateCustom(String k, + String v)
      +
      Deprecated.
      +
      Add a String-valued custom attribute that will not be sent back to LaunchDarkly. + When set to one of the + built-in + user attribute keys, this custom attribute will be ignored.
      +
      +
      Parameters:
      +
      k - the key for the custom attribute
      +
      v - the value for the custom attribute
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      privateCustom

      +
      public LDUser.Builder privateCustom(String k, + int n)
      +
      Deprecated.
      +
      Add an int-valued custom attribute that will not be sent back to LaunchDarkly. + When set to one of the + built-in + user attribute keys, this custom attribute will be ignored.
      +
      +
      Parameters:
      +
      k - the key for the custom attribute
      +
      n - the value for the custom attribute
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      privateCustom

      +
      public LDUser.Builder privateCustom(String k, + double n)
      +
      Deprecated.
      +
      Add a double-precision numeric custom attribute that will not be sent back to LaunchDarkly. + When set to one of the + built-in + user attribute keys, this custom attribute will be ignored.
      +
      +
      Parameters:
      +
      k - the key for the custom attribute
      +
      n - the value for the custom attribute
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      privateCustom

      +
      public LDUser.Builder privateCustom(String k, + boolean b)
      +
      Deprecated.
      +
      Add a boolean-valued custom attribute that will not be sent back to LaunchDarkly. + When set to one of the + built-in + user attribute keys, this custom attribute will be ignored.
      +
      +
      Parameters:
      +
      k - the key for the custom attribute
      +
      b - the value for the custom attribute
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      privateCustom

      +
      public LDUser.Builder privateCustom(String k, + LDValue v)
      +
      Deprecated.
      +
      Add a custom attribute of any JSON type, that will not be sent back to LaunchDarkly. + When set to one of the + built-in + user attribute keys, this custom attribute will be ignored.
      +
      +
      Parameters:
      +
      k - the key for the custom attribute
      +
      v - the value for the custom attribute
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      build

      +
      public LDUser build()
      +
      Deprecated.
      +
      Builds the configured LDUser object.
      +
      +
      Returns:
      +
      the LDUser configured by this builder
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/LDUser.html b/com/launchdarkly/sdk/LDUser.html new file mode 100644 index 00000000..bbc81970 --- /dev/null +++ b/com/launchdarkly/sdk/LDUser.html @@ -0,0 +1,535 @@ + + + + +LDUser (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDUser

+
+
java.lang.Object +
com.launchdarkly.sdk.LDUser
+
+
+
+
All Implemented Interfaces:
+
JsonSerializable
+
+
+
@Deprecated +public class LDUser +extends Object +implements JsonSerializable
+
Deprecated. +
use LDContext instead.
+
+
Attributes of a user for whom you are evaluating feature flags. +

+ LDUser contains any user-specific properties that may be used in feature flag + configurations to produce different flag variations for different users. You may define + these properties however you wish. +

+ LDUser supports only a subset of the behaviors that are available with the newer + LDContext type. An LDUser is equivalent to an individual LDContext that has + a ContextKind of ContextKind.DEFAULT ("user"); it also has more constraints + on attribute values than LDContext does (for instance, built-in attributes such as + LDUser.Builder.email(String) can only have string values). Older LaunchDarkly SDKs + only had the LDUser model, and the LDUser type has been retained for backward compatibility, + but it may be removed in a future SDK version; also, the SDK will always convert an LDUser + to an LDContext internally, which has some overhead. Therefore, developers are recommended + to migrate toward using LDContext. +

+ The only mandatory property of LDUser is the key, which must uniquely identify each + user. For authenticated users, this may be a username or e-mail address. For anonymous + users, this could be an IP address or session ID. +

+ Besides the mandatory key, LDUser supports two kinds of optional attributes: built-in + attributes (e.g. LDUser.Builder.name(String) and LDUser.Builder.country(String)) + and custom attributes. The built-in attributes have specific allowed value types; also, two + of them (name and anonymous) have special meanings in LaunchDarkly. Custom + attributes have flexible value types, and can have any names that do not conflict with + built-in attributes. +

+ Both built-in attributes and custom attributes can be referenced in targeting rules, and + are included in analytics data. +

+ Instances of LDUser are immutable once created. They can be created with the constructor, + or using a builder pattern with LDUser.Builder. +

+ LaunchDarkly defines a standard JSON encoding for user objects, used by the JavaScript SDK + and also in analytics events. LDUser can be converted to and from JSON in any of + these ways: +

    +
  1. With JsonSerialization. +
  2. With Gson, if and only if you configure your Gson instance with + LDGson. +
  3. With Jackson, if and only if you configure your ObjectMapper instance with + LDJackson. +
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LDUser

      +
      protected LDUser(LDUser.Builder builder)
      +
      Deprecated.
      +
      +
    • +
    • +
      +

      LDUser

      +
      public LDUser(String key)
      +
      Deprecated.
      +
      Create a user with the given key
      +
      +
      Parameters:
      +
      key - a String that uniquely identifies a user
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getKey

      +
      public String getKey()
      +
      Deprecated.
      +
      Returns the user's unique key.
      +
      +
      Returns:
      +
      the user key as a string
      +
      +
      +
    • +
    • +
      +

      getIp

      +
      public String getIp()
      +
      Deprecated.
      +
      Returns the value of the IP property for the user, if set.
      +
      +
      Returns:
      +
      a string or null
      +
      +
      +
    • +
    • +
      +

      getCountry

      +
      public String getCountry()
      +
      Deprecated.
      +
      Returns the value of the country property for the user, if set.
      +
      +
      Returns:
      +
      a string or null
      +
      +
      +
    • +
    • +
      +

      getName

      +
      public String getName()
      +
      Deprecated.
      +
      Returns the value of the full name property for the user, if set.
      +
      +
      Returns:
      +
      a string or null
      +
      +
      +
    • +
    • +
      +

      getFirstName

      +
      public String getFirstName()
      +
      Deprecated.
      +
      Returns the value of the first name property for the user, if set.
      +
      +
      Returns:
      +
      a string or null
      +
      +
      +
    • +
    • +
      +

      getLastName

      +
      public String getLastName()
      +
      Deprecated.
      +
      Returns the value of the last name property for the user, if set.
      +
      +
      Returns:
      +
      a string or null
      +
      +
      +
    • +
    • +
      +

      getEmail

      +
      public String getEmail()
      +
      Deprecated.
      +
      Returns the value of the email property for the user, if set.
      +
      +
      Returns:
      +
      a string or null
      +
      +
      +
    • +
    • +
      +

      getAvatar

      +
      public String getAvatar()
      +
      Deprecated.
      +
      Returns the value of the avatar property for the user, if set.
      +
      +
      Returns:
      +
      a string or null
      +
      +
      +
    • +
    • +
      +

      isAnonymous

      +
      public boolean isAnonymous()
      +
      Deprecated.
      +
      Returns true if this user was marked anonymous.
      +
      +
      Returns:
      +
      true for an anonymous user
      +
      +
      +
    • +
    • +
      +

      getAttribute

      +
      public LDValue getAttribute(UserAttribute attribute)
      +
      Deprecated.
      +
      Gets the value of a user attribute, if present. +

      + This can be either a built-in attribute or a custom one. It returns the value using the LDValue + type, which can have any type that is supported in JSON. If the attribute does not exist, it returns + LDValue.ofNull().

      +
      +
      Parameters:
      +
      attribute - the attribute to get
      +
      Returns:
      +
      the attribute value or LDValue.ofNull(); will never be an actual null reference
      +
      +
      +
    • +
    • +
      +

      getCustomAttributes

      +
      public Iterable<UserAttribute> getCustomAttributes()
      +
      Deprecated.
      +
      Returns an enumeration of all custom attribute names that were set for this user.
      +
      +
      Returns:
      +
      the custom attribute names
      +
      +
      +
    • +
    • +
      +

      getPrivateAttributes

      +
      public Iterable<UserAttribute> getPrivateAttributes()
      +
      Deprecated.
      +
      Returns an enumeration of all attributes that were marked private for this user. +

      + This does not include any attributes that were globally marked private in your SDK configuration.

      +
      +
      Returns:
      +
      the names of private attributes for this user
      +
      +
      +
    • +
    • +
      +

      isAttributePrivate

      +
      public boolean isAttributePrivate(UserAttribute attribute)
      +
      Deprecated.
      +
      Tests whether an attribute has been marked private for this user.
      +
      +
      Parameters:
      +
      attribute - a built-in or custom attribute
      +
      Returns:
      +
      true if the attribute was marked private on a per-user level
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object o)
      +
      Deprecated.
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      Deprecated.
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Deprecated.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/LDValue.Convert.html b/com/launchdarkly/sdk/LDValue.Convert.html new file mode 100644 index 00000000..ca89cb0a --- /dev/null +++ b/com/launchdarkly/sdk/LDValue.Convert.html @@ -0,0 +1,207 @@ + + + + +LDValue.Convert (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDValue.Convert

+
+
java.lang.Object +
com.launchdarkly.sdk.LDValue.Convert
+
+
+
+
Enclosing class:
+
LDValue
+
+
+
public abstract static class LDValue.Convert +extends Object
+
Predefined instances of LDValue.Converter for commonly used types. +

+ These are mostly useful for methods that convert LDValue to or from a collection of + some type, such as LDValue.Converter.arrayOf(Object...) and + LDValue.valuesAs(Converter).

+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/LDValue.Converter.html b/com/launchdarkly/sdk/LDValue.Converter.html new file mode 100644 index 00000000..4bf3c687 --- /dev/null +++ b/com/launchdarkly/sdk/LDValue.Converter.html @@ -0,0 +1,299 @@ + + + + +LDValue.Converter (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDValue.Converter<T>

+
+
java.lang.Object +
com.launchdarkly.sdk.LDValue.Converter<T>
+
+
+
+
Type Parameters:
+
T - the type to convert from/to
+
+
+
Enclosing class:
+
LDValue
+
+
+
public abstract static class LDValue.Converter<T> +extends Object
+
Defines a conversion between LDValue and some other type. +

+ Besides converting individual values, this provides factory methods like arrayOf(T...) + which transform a collection of the specified type to the corresponding LDValue + complex type.

+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Converter

      +
      public Converter()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      fromType

      +
      public abstract LDValue fromType(T value)
      +
      Converts a value of the specified type to an LDValue. +

      + This method should never throw an exception; if for some reason the value is invalid, + it should return LDValue.ofNull().

      +
      +
      Parameters:
      +
      value - a value of this type
      +
      Returns:
      +
      an LDValue
      +
      +
      +
    • +
    • +
      +

      toType

      +
      public abstract T toType(LDValue value)
      +
      Converts an LDValue to a value of the specified type. +

      + This method should never throw an exception; if the conversion cannot be done, it should + return the default value of the given type (zero for numbers, null for nullable types).

      +
      +
      Parameters:
      +
      value - an LDValue
      +
      Returns:
      +
      a value of this type
      +
      +
      +
    • +
    • +
      +

      arrayFrom

      +
      public LDValue arrayFrom(Iterable<T> values)
      +
      Initializes an LDValue as an array, from a sequence of this type. +

      + Values are copied, so subsequent changes to the source values do not affect the array. +

      + Example: +

      
      +     List<Integer> listOfInts = ImmutableList.<Integer>builder().add(1).add(2).add(3).build();
      +     LDValue arrayValue = LDValue.Convert.Integer.arrayFrom(listOfInts);
      + 
      +
      +
      Parameters:
      +
      values - a sequence of elements of the specified type
      +
      Returns:
      +
      a value representing a JSON array, or LDValue.ofNull() if the parameter was null
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      arrayOf

      +
      public LDValue arrayOf(T... values)
      +
      Initializes an LDValue as an array, from a sequence of this type. +

      + Values are copied, so subsequent changes to the source values do not affect the array. +

      + Example: +

      
      +     LDValue arrayValue = LDValue.Convert.Integer.arrayOf(1, 2, 3);
      + 
      +
      +
      Parameters:
      +
      values - a sequence of elements of the specified type
      +
      Returns:
      +
      a value representing a JSON array, or LDValue.ofNull() if the parameter was null
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      objectFrom

      +
      public LDValue objectFrom(Map<String,T> map)
      +
      Initializes an LDValue as an object, from a map containing this type. +

      + Values are copied, so subsequent changes to the source map do not affect the array. +

      + Example: +

      
      +     Map<String, Integer> mapOfInts = ImmutableMap.<String, Integer>builder().put("a", 1).build();
      +     LDValue objectValue = LDValue.Convert.Integer.objectFrom(mapOfInts);
      + 
      +
      +
      Parameters:
      +
      map - a map with string keys and values of the specified type
      +
      Returns:
      +
      a value representing a JSON object, or LDValue.ofNull() if the parameter was null
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/LDValue.html b/com/launchdarkly/sdk/LDValue.html new file mode 100644 index 00000000..d67ec7e1 --- /dev/null +++ b/com/launchdarkly/sdk/LDValue.html @@ -0,0 +1,822 @@ + + + + +LDValue (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDValue

+
+
java.lang.Object +
com.launchdarkly.sdk.LDValue
+
+
+
+
All Implemented Interfaces:
+
JsonSerializable
+
+
+
public abstract class LDValue +extends Object +implements JsonSerializable
+
An immutable instance of any data type that is allowed in JSON. +

+ An LDValue instance can be a null (that is, an instance that represents a JSON null value, + rather than a Java null reference), a boolean, a number (always encoded internally as double-precision + floating-point, but can be treated as an integer), a string, an ordered list of LDValue + values (a JSON array), or a map of strings to LDValue values (a JSON object). It is easily + convertible to standard Java types. +

+ This can be used to represent complex data in a context attribute (see ContextBuilder.set(String, LDValue)), + or to get a feature flag value that uses a complex type or that does not always use the same + type (see the client's jsonValueVariation methods). +

+ While the LaunchDarkly SDK uses Gson internally for JSON parsing, it uses LDValue rather + than Gson's JsonElement type for two reasons. First, this allows Gson types to be excluded + from the API, so the SDK does not expose this dependency and cannot cause version conflicts in + applications that use Gson themselves. Second, Gson's array and object types are mutable, which can + cause concurrency risks. +

+ LDValue can be converted to and from JSON in any of these ways: +

    +
  1. With the LDValue methods toJsonString() and parse(String). +
  2. With JsonSerialization. +
  3. With Gson, if and only if you configure your Gson instance with + LDGson. +
  4. With Jackson, if and only if you configure your ObjectMapper instance with + LDJackson. +
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    Nested Classes
    +
    +
    Modifier and Type
    +
    Class
    +
    Description
    +
    static class 
    + +
    +
    Predefined instances of LDValue.Converter for commonly used types.
    +
    +
    static class 
    + +
    +
    Defines a conversion between LDValue and some other type.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static LDValue
    +
    arrayOf(LDValue... values)
    +
    +
    Creates an array value from the specified values.
    +
    +
    boolean
    + +
    +
    Returns this value as a boolean if it is explicitly a boolean.
    +
    + + +
    +
    Starts building an array value.
    +
    + + +
    +
    Starts building an object value.
    +
    +
    double
    + +
    +
    Returns this value as a double if it is numeric.
    +
    +
    boolean
    + +
    +
    Returns true if the other object is an LDValue that is logically equal.
    +
    +
    float
    + +
    +
    Returns this value as a float if it is numeric.
    +
    + +
    get(int index)
    +
    +
    Returns an array element by index.
    +
    + +
    get(String name)
    +
    +
    Returns an object property by name.
    +
    +
    abstract LDValueType
    + +
    +
    Gets the JSON type for this value.
    +
    +
    int
    + +
     
    +
    int
    + +
    +
    Returns this value as an int if it is numeric.
    +
    +
    boolean
    + +
    +
    Tests whether this value is a number that is also an integer.
    +
    +
    boolean
    + +
    +
    Tests whether this value is a null.
    +
    +
    boolean
    + +
    +
    Tests whether this value is a number (not a numeric string).
    +
    +
    boolean
    + +
    +
    Tests whether this value is a string.
    +
    + + +
    +
    Enumerates the property names in an object.
    +
    +
    long
    + +
    +
    Returns this value as a long if it is numeric.
    +
    +
    static LDValue
    + +
    +
    Returns the same value if non-null, or ofNull() if null.
    +
    +
    static LDValue
    +
    of(boolean value)
    +
    +
    Returns an instance for a boolean value.
    +
    +
    static LDValue
    +
    of(double value)
    +
    +
    Returns an instance for a numeric value.
    +
    +
    static LDValue
    +
    of(float value)
    +
    +
    Returns an instance for a numeric value.
    +
    +
    static LDValue
    +
    of(int value)
    +
    +
    Returns an instance for a numeric value.
    +
    +
    static LDValue
    +
    of(long value)
    +
    +
    Returns an instance for a numeric value.
    +
    +
    static LDValue
    +
    of(String value)
    +
    +
    Returns an instance for a string value (or a null).
    +
    +
    static LDValue
    + +
    +
    Returns an instance for a null value.
    +
    +
    static LDValue
    +
    parse(String json)
    +
    +
    Parses an LDValue from a JSON representation.
    +
    +
    int
    + +
    +
    Returns the number of elements in an array or object.
    +
    + + +
    +
    Returns this value as a String if it is a string.
    +
    + + +
    +
    Converts this value to its JSON serialization.
    +
    + + +
    +
    Returns a string representation of this value.
    +
    + + +
    +
    Enumerates the values in an array or object.
    +
    +
    <T> Iterable<T>
    + +
    +
    Enumerates the values in an array or object, converting them to a specific type.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LDValue

      +
      public LDValue()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      normalize

      +
      public static LDValue normalize(LDValue value)
      +
      Returns the same value if non-null, or ofNull() if null.
      +
      +
      Parameters:
      +
      value - an LDValue or null
      +
      Returns:
      +
      an LDValue which will never be a null reference
      +
      +
      +
    • +
    • +
      +

      ofNull

      +
      public static LDValue ofNull()
      +
      Returns an instance for a null value. The same instance is always used.
      +
      +
      Returns:
      +
      an LDValue containing null
      +
      +
      +
    • +
    • +
      +

      of

      +
      public static LDValue of(boolean value)
      +
      Returns an instance for a boolean value. The same instances for true and false + are always used.
      +
      +
      Parameters:
      +
      value - a boolean value
      +
      Returns:
      +
      an LDValue containing that value
      +
      +
      +
    • +
    • +
      +

      of

      +
      public static LDValue of(int value)
      +
      Returns an instance for a numeric value.
      +
      +
      Parameters:
      +
      value - an integer numeric value
      +
      Returns:
      +
      an LDValue containing that value
      +
      +
      +
    • +
    • +
      +

      of

      +
      public static LDValue of(long value)
      +
      Returns an instance for a numeric value. +

      + Note that the LaunchDarkly service, and most of the SDKs, represent numeric values internally + in 64-bit floating-point, which has slightly less precision than a signed 64-bit long; + therefore, the full range of long values cannot be accurately represented. If you need + to set a context attribute to a numeric value with more significant digits than will fit in a + double, it is best to encode it as a string.

      +
      +
      Parameters:
      +
      value - a long integer numeric value
      +
      Returns:
      +
      an LDValue containing that value
      +
      +
      +
    • +
    • +
      +

      of

      +
      public static LDValue of(float value)
      +
      Returns an instance for a numeric value.
      +
      +
      Parameters:
      +
      value - a floating-point numeric value
      +
      Returns:
      +
      an LDValue containing that value
      +
      +
      +
    • +
    • +
      +

      of

      +
      public static LDValue of(double value)
      +
      Returns an instance for a numeric value.
      +
      +
      Parameters:
      +
      value - a floating-point numeric value
      +
      Returns:
      +
      an LDValue containing that value
      +
      +
      +
    • +
    • +
      +

      of

      +
      public static LDValue of(String value)
      +
      Returns an instance for a string value (or a null).
      +
      +
      Parameters:
      +
      value - a nullable String reference
      +
      Returns:
      +
      an LDValue containing a string, or ofNull() if the value was null.
      +
      +
      +
    • +
    • +
      +

      buildArray

      +
      public static ArrayBuilder buildArray()
      +
      Starts building an array value. The elements can be of any type supported by LDValue. +
      
      +     LDValue arrayOfInts = LDValue.buildArray().add(2).add("three").build():
      + 
      + If the values are all of the same type, you may also use LDValue.Converter.arrayFrom(Iterable) + or LDValue.Converter.arrayOf(Object...).
      +
      +
      Returns:
      +
      an ArrayBuilder
      +
      +
      +
    • +
    • +
      +

      arrayOf

      +
      public static LDValue arrayOf(LDValue... values)
      +
      Creates an array value from the specified values. The elements can be of any type supported by LDValue. +
      
      +     LDValue arrayOfMixedValues = LDValue.arrayOf(LDValue.of(2), LDValue.of("three"));
      + 
      + If the values are all of the same type, you may also use LDValue.Converter.arrayFrom(Iterable) + or LDValue.Converter.arrayOf(Object...).
      +
      +
      Parameters:
      +
      values - any number of values
      +
      Returns:
      +
      an immutable array value
      +
      +
      +
    • +
    • +
      +

      buildObject

      +
      public static ObjectBuilder buildObject()
      +
      Starts building an object value. +
      
      +     LDValue objectVal = LDValue.buildObject().put("key", LDValue.int(1)).build():
      + 
      + If the values are all of the same type, you may also use LDValue.Converter.objectFrom(Map).
      +
      +
      Returns:
      +
      an ObjectBuilder
      +
      +
      +
    • +
    • +
      +

      parse

      +
      public static LDValue parse(String json)
      +
      Parses an LDValue from a JSON representation. +

      + This convenience method is equivalent to using JsonSerialization.deserialize(String, Class) + with the LDValue class, except for two things: +

      + 1. You do not have to provide the class parameter. +

      + 2. Parsing errors are thrown as an unchecked RuntimeException that wraps the checked + SerializationException, making this method somewhat more convenient in cases such as + test code where explicit error handling is less important.

      +
      +
      Parameters:
      +
      json - a JSON string
      +
      Returns:
      +
      an LDValue
      +
      +
      +
    • +
    • +
      +

      getType

      +
      public abstract LDValueType getType()
      +
      Gets the JSON type for this value.
      +
      +
      Returns:
      +
      the appropriate LDValueType
      +
      +
      +
    • +
    • +
      +

      isNull

      +
      public boolean isNull()
      +
      Tests whether this value is a null.
      +
      +
      Returns:
      +
      true if this is a null value
      +
      +
      +
    • +
    • +
      +

      booleanValue

      +
      public boolean booleanValue()
      +
      Returns this value as a boolean if it is explicitly a boolean. Otherwise returns false.
      +
      +
      Returns:
      +
      a boolean
      +
      +
      +
    • +
    • +
      +

      isNumber

      +
      public boolean isNumber()
      +
      Tests whether this value is a number (not a numeric string).
      +
      +
      Returns:
      +
      true if this is a numeric value
      +
      +
      +
    • +
    • +
      +

      isInt

      +
      public boolean isInt()
      +
      Tests whether this value is a number that is also an integer. +

      + JSON does not have separate types for integer and floating-point values; they are both just + numbers. This method returns true if and only if the actual numeric value has no fractional + component, so LDValue.of(2).isInt() and LDValue.of(2.0f).isInt() are both true.

      +
      +
      Returns:
      +
      true if this is an integer value
      +
      +
      +
    • +
    • +
      +

      intValue

      +
      public int intValue()
      +
      Returns this value as an int if it is numeric. Returns zero for all non-numeric values. +

      + If the value is a number but not an integer, it will be rounded toward zero (truncated). + This is consistent with Java casting behavior, and with most other LaunchDarkly SDKs.

      +
      +
      Returns:
      +
      an int value
      +
      +
      +
    • +
    • +
      +

      longValue

      +
      public long longValue()
      +
      Returns this value as a long if it is numeric. Returns zero for all non-numeric values. +

      + If the value is a number but not an integer, it will be rounded toward zero (truncated). + This is consistent with Java casting behavior, and with most other LaunchDarkly SDKs.

      +
      +
      Returns:
      +
      a long value
      +
      +
      +
    • +
    • +
      +

      floatValue

      +
      public float floatValue()
      +
      Returns this value as a float if it is numeric. Returns zero for all non-numeric values.
      +
      +
      Returns:
      +
      a float value
      +
      +
      +
    • +
    • +
      +

      doubleValue

      +
      public double doubleValue()
      +
      Returns this value as a double if it is numeric. Returns zero for all non-numeric values.
      +
      +
      Returns:
      +
      a double value
      +
      +
      +
    • +
    • +
      +

      isString

      +
      public boolean isString()
      +
      Tests whether this value is a string.
      +
      +
      Returns:
      +
      true if this is a string value
      +
      +
      +
    • +
    • +
      +

      stringValue

      +
      public String stringValue()
      +
      Returns this value as a String if it is a string. Returns null for all non-string values.
      +
      +
      Returns:
      +
      a nullable string value
      +
      +
      +
    • +
    • +
      +

      size

      +
      public int size()
      +
      Returns the number of elements in an array or object. Returns zero for all other types.
      +
      +
      Returns:
      +
      the number of array elements or object properties
      +
      +
      +
    • +
    • +
      +

      keys

      +
      public Iterable<String> keys()
      +
      Enumerates the property names in an object. Returns an empty iterable for all other types.
      +
      +
      Returns:
      +
      the property names
      +
      +
      +
    • +
    • +
      +

      values

      +
      public Iterable<LDValue> values()
      +
      Enumerates the values in an array or object. Returns an empty iterable for all other types.
      +
      +
      Returns:
      +
      an iterable of LDValue values
      +
      +
      +
    • +
    • +
      +

      valuesAs

      +
      public <T> Iterable<T> valuesAs(LDValue.Converter<T> converter)
      +
      Enumerates the values in an array or object, converting them to a specific type. Returns an empty + iterable for all other types. +

      + This is an efficient method because it does not copy values to a new list, but returns a view + into the existing array. +

      + Example: +

      
      +     LDValue anArrayOfInts = LDValue.Convert.Integer.arrayOf(1, 2, 3);
      +     for (int i: anArrayOfInts.valuesAs(LDValue.Convert.Integer)) { println(i); }
      + 
      +

      + For boolean and numeric types, even though the corresponding Java type is a nullable class like + Boolean or Integer, valuesAs will never return a null element; instead, + it will use the appropriate default value for the primitive type (false or zero).

      +
      +
      Type Parameters:
      +
      T - the desired type
      +
      Parameters:
      +
      converter - the LDValue.Converter for the specified type
      +
      Returns:
      +
      an iterable of values of the specified type
      +
      +
      +
    • +
    • +
      +

      get

      +
      public LDValue get(int index)
      +
      Returns an array element by index. Returns ofNull() if this is not an array or if the + index is out of range (will never throw an exception).
      +
      +
      Parameters:
      +
      index - the array index
      +
      Returns:
      +
      the element value or ofNull()
      +
      +
      +
    • +
    • +
      +

      get

      +
      public LDValue get(String name)
      +
      Returns an object property by name. Returns ofNull() if this is not an object or if the + key is not found (will never throw an exception).
      +
      +
      Parameters:
      +
      name - the property name
      +
      Returns:
      +
      the property value or ofNull()
      +
      +
      +
    • +
    • +
      +

      toJsonString

      +
      public String toJsonString()
      +
      Converts this value to its JSON serialization. +

      + This method is equivalent to passing the LDValue instance to + JsonSerialization.serialize(JsonSerializable).

      +
      +
      Returns:
      +
      a JSON string
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns a string representation of this value. +

      + This method currently returns the same JSON serialization as toJsonString(). However, + like most toString() implementations, it is intended mainly for convenience in + debugging or other use cases where the goal is simply to have a human-readable format; it is + not guaranteed to always match toJsonString() in the future. If you need to verify + the value type or other properties programmatically, use the getter methods of LDValue.

      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object o)
      +
      Returns true if the other object is an LDValue that is logically equal. +

      + This is a deep equality comparison: for JSON arrays each element is compared recursively, and + for JSON objects all property names and values must be deeply equal regardless of ordering.

      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/LDValueType.html b/com/launchdarkly/sdk/LDValueType.html new file mode 100644 index 00000000..ff6591dd --- /dev/null +++ b/com/launchdarkly/sdk/LDValueType.html @@ -0,0 +1,269 @@ + + + + +LDValueType (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class LDValueType

+
+
java.lang.Object +
java.lang.Enum<LDValueType> +
com.launchdarkly.sdk.LDValueType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<LDValueType>, Constable
+
+
+
public enum LDValueType +extends Enum<LDValueType>
+
Describes the type of an LDValue. These correspond to the standard types in JSON.
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      NULL

      +
      public static final LDValueType NULL
      +
      The value is null.
      +
      +
    • +
    • +
      +

      BOOLEAN

      +
      public static final LDValueType BOOLEAN
      +
      The value is a boolean.
      +
      +
    • +
    • +
      +

      NUMBER

      +
      public static final LDValueType NUMBER
      +
      The value is numeric. JSON does not have separate types for integers and floating-point values, + but you can convert to either.
      +
      +
    • +
    • +
      +

      STRING

      +
      public static final LDValueType STRING
      +
      The value is a string.
      +
      +
    • +
    • +
      +

      ARRAY

      +
      public static final LDValueType ARRAY
      +
      The value is an array.
      +
      +
    • +
    • +
      +

      OBJECT

      +
      public static final LDValueType OBJECT
      +
      The value is an object (map).
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static LDValueType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static LDValueType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/ObjectBuilder.html b/com/launchdarkly/sdk/ObjectBuilder.html new file mode 100644 index 00000000..d811dabc --- /dev/null +++ b/com/launchdarkly/sdk/ObjectBuilder.html @@ -0,0 +1,317 @@ + + + + +ObjectBuilder (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ObjectBuilder

+
+
java.lang.Object +
com.launchdarkly.sdk.ObjectBuilder
+
+
+
+
public final class ObjectBuilder +extends Object
+
A builder created by LDValue.buildObject(). +

+ Builder methods are not thread-safe.

+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Returns an object containing the builder's current elements.
    +
    + +
    put(String key, + boolean value)
    +
    +
    Sets a key-value pair in the builder, overwriting any previous value for that key.
    +
    + +
    put(String key, + double value)
    +
    +
    Sets a key-value pair in the builder, overwriting any previous value for that key.
    +
    + +
    put(String key, + float value)
    +
    +
    Sets a key-value pair in the builder, overwriting any previous value for that key.
    +
    + +
    put(String key, + int value)
    +
    +
    Sets a key-value pair in the builder, overwriting any previous value for that key.
    +
    + +
    put(String key, + long value)
    +
    +
    Sets a key-value pair in the builder, overwriting any previous value for that key.
    +
    + +
    put(String key, + LDValue value)
    +
    +
    Sets a key-value pair in the builder, overwriting any previous value for that key.
    +
    + +
    put(String key, + String value)
    +
    +
    Sets a key-value pair in the builder, overwriting any previous value for that key.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ObjectBuilder

      +
      public ObjectBuilder()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      put

      +
      public ObjectBuilder put(String key, + LDValue value)
      +
      Sets a key-value pair in the builder, overwriting any previous value for that key.
      +
      +
      Parameters:
      +
      key - a string key
      +
      value - a value
      +
      Returns:
      +
      the same builder
      +
      +
      +
    • +
    • +
      +

      put

      +
      public ObjectBuilder put(String key, + boolean value)
      +
      Sets a key-value pair in the builder, overwriting any previous value for that key.
      +
      +
      Parameters:
      +
      key - a string key
      +
      value - a value
      +
      Returns:
      +
      the same builder
      +
      +
      +
    • +
    • +
      +

      put

      +
      public ObjectBuilder put(String key, + int value)
      +
      Sets a key-value pair in the builder, overwriting any previous value for that key.
      +
      +
      Parameters:
      +
      key - a string key
      +
      value - a value
      +
      Returns:
      +
      the same builder
      +
      +
      +
    • +
    • +
      +

      put

      +
      public ObjectBuilder put(String key, + long value)
      +
      Sets a key-value pair in the builder, overwriting any previous value for that key.
      +
      +
      Parameters:
      +
      key - a string key
      +
      value - a value
      +
      Returns:
      +
      the same builder
      +
      +
      +
    • +
    • +
      +

      put

      +
      public ObjectBuilder put(String key, + float value)
      +
      Sets a key-value pair in the builder, overwriting any previous value for that key.
      +
      +
      Parameters:
      +
      key - a string key
      +
      value - a value
      +
      Returns:
      +
      the same builder
      +
      +
      +
    • +
    • +
      +

      put

      +
      public ObjectBuilder put(String key, + double value)
      +
      Sets a key-value pair in the builder, overwriting any previous value for that key.
      +
      +
      Parameters:
      +
      key - a string key
      +
      value - a value
      +
      Returns:
      +
      the same builder
      +
      +
      +
    • +
    • +
      +

      put

      +
      public ObjectBuilder put(String key, + String value)
      +
      Sets a key-value pair in the builder, overwriting any previous value for that key.
      +
      +
      Parameters:
      +
      key - a string key
      +
      value - a value
      +
      Returns:
      +
      the same builder
      +
      +
      +
    • +
    • +
      +

      build

      +
      public LDValue build()
      +
      Returns an object containing the builder's current elements. Subsequent changes to the builder + will not affect this value (it uses copy-on-write logic, so the previous values will only be + copied to a new map if you continue to add elements after calling build().
      +
      +
      Returns:
      +
      an LDValue that is a JSON object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/UserAttribute.html b/com/launchdarkly/sdk/UserAttribute.html new file mode 100644 index 00000000..51f58b39 --- /dev/null +++ b/com/launchdarkly/sdk/UserAttribute.html @@ -0,0 +1,396 @@ + + + + +UserAttribute (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UserAttribute

+
+
java.lang.Object +
com.launchdarkly.sdk.UserAttribute
+
+
+
+
All Implemented Interfaces:
+
JsonSerializable
+
+
+
@Deprecated +public final class UserAttribute +extends Object +implements JsonSerializable
+
Deprecated. +
LDUser replaced by LDContext
+
+
Represents a built-in or custom attribute name supported by LDUser. +

+ Application code rarely needs to use this type; it is used internally by the SDK for + efficiency in flag evaluations. It can also be used as a reference for the constant + names of built-in attributes such as EMAIL. However, in the newer + LDContext model, there are very few reserved attribute names, so the + equivalent of EMAIL would simply be a custom attribute called "email". +

+ For a fuller description of user attributes and how they can be referenced in feature flag rules, see the reference + guides on Setting user attributes + and Targeting users.

+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final UserAttribute
    + +
    +
    Deprecated.
    +
    Represents the anonymous attribute.
    +
    +
    static final UserAttribute
    + +
    +
    Deprecated.
    +
    Represents the avatar URL attribute.
    +
    +
    static final UserAttribute
    + +
    +
    Deprecated.
    +
    Represents the country attribute.
    +
    +
    static final UserAttribute
    + +
    +
    Deprecated.
    +
    Represents the user key attribute.
    +
    +
    static final UserAttribute
    + +
    +
    Deprecated.
    +
    Represents the first name attribute.
    +
    +
    static final UserAttribute
    + +
    +
    Deprecated.
    +
    Represents the IP address attribute.
    +
    +
    static final UserAttribute
    + +
    +
    Deprecated.
    +
    Represents the user key attribute.
    +
    +
    static final UserAttribute
    + +
    +
    Deprecated.
    +
    Represents the last name attribute.
    +
    +
    static final UserAttribute
    + +
    +
    Deprecated.
    +
    Represents the full name attribute.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    boolean
    +
    equals(Object other)
    +
    +
    Deprecated.
    + + +
    +
    Deprecated.
    +
    Returns a UserAttribute instance for the specified attribute name.
    +
    + + +
    +
    Deprecated.
    +
    Returns the case-sensitive attribute name.
    +
    +
    int
    + +
    +
    Deprecated.
    +
    boolean
    + +
    +
    Deprecated.
    +
    Returns true for a built-in attribute or false for a custom attribute.
    +
    + + +
    +
    Deprecated.
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      KEY

      +
      public static final UserAttribute KEY
      +
      Deprecated.
      +
      Represents the user key attribute.
      +
      +
    • +
    • +
      +

      IP

      +
      public static final UserAttribute IP
      +
      Deprecated.
      +
      Represents the IP address attribute.
      +
      +
    • +
    • +
      +

      EMAIL

      +
      public static final UserAttribute EMAIL
      +
      Deprecated.
      +
      Represents the user key attribute.
      +
      +
    • +
    • +
      +

      NAME

      +
      public static final UserAttribute NAME
      +
      Deprecated.
      +
      Represents the full name attribute.
      +
      +
    • +
    • +
      +

      AVATAR

      +
      public static final UserAttribute AVATAR
      +
      Deprecated.
      +
      Represents the avatar URL attribute.
      +
      +
    • +
    • +
      +

      FIRST_NAME

      +
      public static final UserAttribute FIRST_NAME
      +
      Deprecated.
      +
      Represents the first name attribute.
      +
      +
    • +
    • +
      +

      LAST_NAME

      +
      public static final UserAttribute LAST_NAME
      +
      Deprecated.
      +
      Represents the last name attribute.
      +
      +
    • +
    • +
      +

      COUNTRY

      +
      public static final UserAttribute COUNTRY
      +
      Deprecated.
      +
      Represents the country attribute.
      +
      +
    • +
    • +
      +

      ANONYMOUS

      +
      public static final UserAttribute ANONYMOUS
      +
      Deprecated.
      +
      Represents the anonymous attribute.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      forName

      +
      public static UserAttribute forName(String name)
      +
      Deprecated.
      +
      Returns a UserAttribute instance for the specified attribute name. +

      + For built-in attributes, the same instances are always reused and isBuiltIn() will + return true. For custom attributes, a new instance is created and isBuiltIn() will + return false.

      +
      +
      Parameters:
      +
      name - the attribute name
      +
      Returns:
      +
      a UserAttribute
      +
      +
      +
    • +
    • +
      +

      getName

      +
      public String getName()
      +
      Deprecated.
      +
      Returns the case-sensitive attribute name.
      +
      +
      Returns:
      +
      the attribute name
      +
      +
      +
    • +
    • +
      +

      isBuiltIn

      +
      public boolean isBuiltIn()
      +
      Deprecated.
      +
      Returns true for a built-in attribute or false for a custom attribute.
      +
      +
      Returns:
      +
      true if it is a built-in attribute
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object other)
      +
      Deprecated.
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      Deprecated.
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Deprecated.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/AutoEnvContextModifier.html b/com/launchdarkly/sdk/android/AutoEnvContextModifier.html new file mode 100644 index 00000000..bac7968f --- /dev/null +++ b/com/launchdarkly/sdk/android/AutoEnvContextModifier.html @@ -0,0 +1,188 @@ + + + + +AutoEnvContextModifier (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AutoEnvContextModifier

+
+
java.lang.Object +
com.launchdarkly.sdk.android.AutoEnvContextModifier
+
+
+
+
All Implemented Interfaces:
+
IContextModifier
+
+
+
public class AutoEnvContextModifier +extends Object +implements IContextModifier
+
An IContextModifier that will add a few context kinds with environmental + information that is useful out of the box.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AutoEnvContextModifier

      +
      public AutoEnvContextModifier(com.launchdarkly.sdk.android.PersistentDataStoreWrapper persistentData, + IEnvironmentReporter environmentReporter, + LDLogger logger)
      +
      +
      Parameters:
      +
      persistentData - for retrieving/storing generated context keys
      +
      environmentReporter - for retrieving attributes
      +
      logger - for logging messages
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      modifyContext

      +
      public LDContext modifyContext(LDContext context)
      +
      Description copied from interface: IContextModifier
      +
      Modifies the provided context and returns a resulting context. May result in no changes at + the discretion of the implementation.
      +
      +
      Specified by:
      +
      modifyContext in interface IContextModifier
      +
      Parameters:
      +
      context - to be modified
      +
      Returns:
      +
      another context that is the result of modification
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/BuildConfig.html b/com/launchdarkly/sdk/android/BuildConfig.html new file mode 100644 index 00000000..bd8ac69b --- /dev/null +++ b/com/launchdarkly/sdk/android/BuildConfig.html @@ -0,0 +1,215 @@ + + + + +BuildConfig (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BuildConfig

+
+
java.lang.Object +
com.launchdarkly.sdk.android.BuildConfig
+
+
+
+
public final class BuildConfig +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    + +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BuildConfig

      +
      public BuildConfig()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/Components.html b/com/launchdarkly/sdk/android/Components.html new file mode 100644 index 00000000..d1a85d80 --- /dev/null +++ b/com/launchdarkly/sdk/android/Components.html @@ -0,0 +1,374 @@ + + + + +Components (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Components

+
+
java.lang.Object +
com.launchdarkly.sdk.android.Components
+
+
+
+
public abstract class Components +extends Object
+
Provides configurable factories for the standard implementations of LaunchDarkly component interfaces. +

+ Some of the configuration options in LDConfig.Builder affect the entire SDK, but others are + specific to one area of functionality, such as how the SDK receives feature flag updates or processes + analytics events. For the latter, the standard way to specify a configuration is to call one of the + static methods in Components, apply any desired configuration change to the object that that + method returns, and then use the corresponding method in LDConfig.Builder to use that + configured component in the SDK.

+
+
Since:
+
3.3.0
+
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/ConnectionInformation.ConnectionMode.html b/com/launchdarkly/sdk/android/ConnectionInformation.ConnectionMode.html new file mode 100644 index 00000000..48f42094 --- /dev/null +++ b/com/launchdarkly/sdk/android/ConnectionInformation.ConnectionMode.html @@ -0,0 +1,290 @@ + + + + +ConnectionInformation.ConnectionMode (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class ConnectionInformation.ConnectionMode

+
+
java.lang.Object +
java.lang.Enum<ConnectionInformation.ConnectionMode> +
com.launchdarkly.sdk.android.ConnectionInformation.ConnectionMode
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<ConnectionInformation.ConnectionMode>, Constable
+
+
+
Enclosing interface:
+
ConnectionInformation
+
+
+
public static enum ConnectionInformation.ConnectionMode +extends Enum<ConnectionInformation.ConnectionMode>
+
Enumerated type defining the possible values of ConnectionInformation.getConnectionMode().
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      STREAMING

      +
      public static final ConnectionInformation.ConnectionMode STREAMING
      +
      The SDK is either connected to the flag stream, or is actively attempting to acquire a connection.
      +
      +
    • +
    • +
      +

      POLLING

      +
      public static final ConnectionInformation.ConnectionMode POLLING
      +
      The SDK is in foreground polling mode because it was configured with streaming disabled.
      +
      +
    • +
    • +
      +

      BACKGROUND_POLLING

      +
      public static final ConnectionInformation.ConnectionMode BACKGROUND_POLLING
      +
      The SDK has detected the application is in the background and has transitioned to battery-saving background + polling.
      +
      +
    • +
    • +
      +

      BACKGROUND_DISABLED

      +
      public static final ConnectionInformation.ConnectionMode BACKGROUND_DISABLED
      +
      The SDK was configured with background polling disabled. The SDK has detected the application is in the + background and is not attempting to update the flag cache.
      +
      +
    • +
    • +
      +

      OFFLINE

      +
      public static final ConnectionInformation.ConnectionMode OFFLINE
      +
      The SDK has detected that the mobile device does not have an active network connection. It has ceased flag + update attempts until the network status changes.
      +
      +
    • +
    • +
      +

      SET_OFFLINE

      +
      public static final ConnectionInformation.ConnectionMode SET_OFFLINE
      +
      The SDK has been explicitly set offline, either in the initial configuration, by + LDClient.setOffline(), or as a result of failed authentication to LaunchDarkly. The SDK will stay + offline unless LDClient.setOnline() is called.
      +
      +
    • +
    • +
      +

      SHUTDOWN

      +
      public static final ConnectionInformation.ConnectionMode SHUTDOWN
      +
      The shutdown state indicates the SDK has been permanently shutdown as a result of a call to close().
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static ConnectionInformation.ConnectionMode[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static ConnectionInformation.ConnectionMode valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/ConnectionInformation.html b/com/launchdarkly/sdk/android/ConnectionInformation.html new file mode 100644 index 00000000..863d9756 --- /dev/null +++ b/com/launchdarkly/sdk/android/ConnectionInformation.html @@ -0,0 +1,185 @@ + + + + +ConnectionInformation (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ConnectionInformation

+
+
+
+
public interface ConnectionInformation
+
Provides various information about a current or previous connection.
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getConnectionMode

      + +
      +
      Returns:
      +
      the ConnectionInformation.ConnectionMode
      +
      +
      +
    • +
    • +
      +

      getLastFailure

      +
      LDFailure getLastFailure()
      +
      +
      Returns:
      +
      the last LDFailure
      +
      +
      +
    • +
    • +
      +

      getLastSuccessfulConnection

      +
      Long getLastSuccessfulConnection()
      +
      +
      Returns:
      +
      millis since epoch when the last successful connection occurred
      +
      +
      +
    • +
    • +
      +

      getLastFailedConnection

      +
      Long getLastFailedConnection()
      +
      +
      Returns:
      +
      millis since epoch when the last connection connection failure occurred
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/DataModel.Flag.html b/com/launchdarkly/sdk/android/DataModel.Flag.html new file mode 100644 index 00000000..4d13242b --- /dev/null +++ b/com/launchdarkly/sdk/android/DataModel.Flag.html @@ -0,0 +1,270 @@ + + + + +DataModel.Flag (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DataModel.Flag

+
+
java.lang.Object +
com.launchdarkly.sdk.android.DataModel.Flag
+
+
+
+
Enclosing class:
+
DataModel
+
+
+
public static final class DataModel.Flag +extends Object
+
Represents the state of a feature flag evaluation received from LaunchDarkly.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Flag

      +
      public Flag(@NonNull + String key, + @NonNull + LDValue value, + int version, + @Nullable + Integer flagVersion, + @Nullable + Integer variation, + boolean trackEvents, + boolean trackReason, + @Nullable + Long debugEventsUntilDate, + @Nullable + EvaluationReason reason)
      +
      Constructs an instance, specifying all properties.
      +
      +
      Parameters:
      +
      key - the flag key
      +
      value - the current value
      +
      version - a value that is incremented with each update
      +
      flagVersion - the current flag version for analytics events
      +
      variation - variation index of the result
      +
      trackEvents - true if full event tracking is enabled
      +
      trackReason - true if events must include evaluation reasons
      +
      debugEventsUntilDate - non-null if debugging is enabled
      +
      reason - evaluation reason of the result, or null if not available
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/DataModel.html b/com/launchdarkly/sdk/android/DataModel.html new file mode 100644 index 00000000..a525617a --- /dev/null +++ b/com/launchdarkly/sdk/android/DataModel.html @@ -0,0 +1,124 @@ + + + + +DataModel (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DataModel

+
+
java.lang.Object +
com.launchdarkly.sdk.android.DataModel
+
+
+
+
public abstract class DataModel +extends Object
+
Contains information about the internal data model for feature flag state. +

+ The details of the data model are not public to application code (although of course developers can easily + look at the code or the data) so that changes to LaunchDarkly SDK implementation details will not be breaking + changes to the application. Therefore, most of the members of this class are package-private. The public members + provide a high-level description of model objects so that custom integration code or test code can store or + serialize them.

+
+
Since:
+
4.0.0
+
+
+
+ +
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/FeatureFlagChangeListener.html b/com/launchdarkly/sdk/android/FeatureFlagChangeListener.html new file mode 100644 index 00000000..74e415d7 --- /dev/null +++ b/com/launchdarkly/sdk/android/FeatureFlagChangeListener.html @@ -0,0 +1,147 @@ + + + + +FeatureFlagChangeListener (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface FeatureFlagChangeListener

+
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface FeatureFlagChangeListener
+
Callback interface used for listening to changes to a feature flag.
+
+
See Also:
+
+ +
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    The SDK calls this method when a feature flag value has changed for the current evaluation context.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      onFeatureFlagChange

      +
      void onFeatureFlagChange(String flagKey)
      +
      The SDK calls this method when a feature flag value has changed for the current evaluation context. +

      + To obtain the new value, call one of the client methods such as LDClientInterface.boolVariation(String, boolean).

      +
      +
      Parameters:
      +
      flagKey - the feature flag key
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/IContextModifier.html b/com/launchdarkly/sdk/android/IContextModifier.html new file mode 100644 index 00000000..d57c51b1 --- /dev/null +++ b/com/launchdarkly/sdk/android/IContextModifier.html @@ -0,0 +1,139 @@ + + + + +IContextModifier (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IContextModifier

+
+
+
+
All Known Implementing Classes:
+
AutoEnvContextModifier, NoOpContextModifier
+
+
+
public interface IContextModifier
+
Modifies contexts when invoked.
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Modifies the provided context and returns a resulting context.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      modifyContext

      +
      LDContext modifyContext(LDContext context)
      +
      Modifies the provided context and returns a resulting context. May result in no changes at + the discretion of the implementation.
      +
      +
      Parameters:
      +
      context - to be modified
      +
      Returns:
      +
      another context that is the result of modification
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/LDAllFlagsListener.html b/com/launchdarkly/sdk/android/LDAllFlagsListener.html new file mode 100644 index 00000000..a9fab883 --- /dev/null +++ b/com/launchdarkly/sdk/android/LDAllFlagsListener.html @@ -0,0 +1,138 @@ + + + + +LDAllFlagsListener (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface LDAllFlagsListener

+
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface LDAllFlagsListener
+
Callback interface used for listening to changes to the flag store.
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    onChange(List<String> flagKey)
    +
    +
    Called by the SDK whenever it receives an update for the stored flag values of the current context.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      onChange

      +
      void onChange(List<String> flagKey)
      +
      Called by the SDK whenever it receives an update for the stored flag values of the current context.
      +
      +
      Parameters:
      +
      flagKey - A list of flag keys which were created, updated, or deleted as part of the update. + This list may be empty if the update resulted in no changed flag values.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/LDAndroidLogging.html b/com/launchdarkly/sdk/android/LDAndroidLogging.html new file mode 100644 index 00000000..ff1463b8 --- /dev/null +++ b/com/launchdarkly/sdk/android/LDAndroidLogging.html @@ -0,0 +1,178 @@ + + + + +LDAndroidLogging (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDAndroidLogging

+
+
java.lang.Object +
com.launchdarkly.sdk.android.LDAndroidLogging
+
+
+
+
public abstract class LDAndroidLogging +extends Object
+
Allows LaunchDarkly log output to be sent directly to the native Android Log API. +

+ By default, the SDK sends logging to Timber. If you want to bypass Timber and use Android + logging directly instead, use this class with LDConfig.Builder.logAdapter(LDLogAdapter): +


+     LDConfig config = new LDConfig.Builder()
+         .logAdapter(LDAndroidLogging.adapter())
+         .build();
+ 
+

+ By default, debug-level logging is disabled and all other levels are enabled. To change this, + use LDConfig.Builder.logLevel(LDLogLevel).

+
+
Since:
+
3.2.0
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LDAndroidLogging

      +
      public LDAndroidLogging()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/LDClient.html b/com/launchdarkly/sdk/android/LDClient.html new file mode 100644 index 00000000..c1b82fdb --- /dev/null +++ b/com/launchdarkly/sdk/android/LDClient.html @@ -0,0 +1,1170 @@ + + + + +LDClient (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDClient

+
+
java.lang.Object +
com.launchdarkly.sdk.android.LDClient
+
+
+
+
All Implemented Interfaces:
+
LDClientInterface, Closeable, AutoCloseable
+
+
+
public class LDClient +extends Object +implements LDClientInterface, Closeable
+
Client for accessing LaunchDarkly's Feature Flag system. This class enforces a singleton pattern. + The main entry point is the init(Application, LDConfig, LDContext) method. +

+ Like all client-side LaunchDarkly SDKs, the LDClient always has a single current + LDContext (evaluation context). You specify this context at initialization time, and you + can change it later with identify(LDContext). All subsequent calls to evaluation + methods like boolVariation(java.lang.String, boolean) refer to the flag values for the current context. +

+ Normally, the SDK uses the exact context that you have specified in th LDContext. + However, you can also tell the SDK to generate a randomized identifier and use this as the + context's key; see LDConfig.Builder.generateAnonymousKeys(boolean).

+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LDClient

      +
      protected LDClient(@NonNull + com.launchdarkly.sdk.android.PlatformState platformState, + @NonNull + IEnvironmentReporter environmentReporter, + @NonNull + com.launchdarkly.sdk.android.TaskExecutor taskExecutor, + @NonNull + com.launchdarkly.sdk.android.PersistentDataStoreWrapper.PerEnvironmentData environmentStore, + @NonNull + LDContext initialContext, + @NonNull + LDConfig config, + @NonNull + String mobileKey, + @NonNull + String environmentName) + throws LaunchDarklyException
      +
      +
      Parameters:
      +
      platformState - the platform state
      +
      environmentReporter - the environment reporter
      +
      taskExecutor - the task executor
      +
      environmentStore - the environment store
      +
      initialContext - initial context
      +
      config - the config
      +
      mobileKey - the mobile key
      +
      environmentName - the environment name
      +
      Throws:
      +
      LaunchDarklyException - if LDClient cannot be created
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      init

      +
      public static Future<LDClient> init(@NonNull + android.app.Application application, + @NonNull + LDConfig config, + @NonNull + LDContext context)
      +
      Initializes the singleton/primary instance. The result is a Future which + will complete once the client has been initialized with the latest feature flag values. For + immediate access to the Client (possibly with out of date feature flags), it is safe to ignore + the return value of this method, and afterward call get() +

      + If the client has already been initialized, is configured for offline mode, or the device is + not connected to the internet, this method will return a Future that is + already in the completed state.

      +
      +
      Parameters:
      +
      application - your Android application
      +
      config - configuration used to set up the client
      +
      context - the initial evaluation context; see LDClient for more information + about setting the context and optionally requesting a unique key for it
      +
      Returns:
      +
      a Future which will complete once the client has been initialized
      +
      Since:
      +
      3.0.0
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      init

      +
      public static LDClient init(android.app.Application application, + LDConfig config, + LDContext context, + int startWaitSeconds)
      +
      Initializes the singleton instance and blocks for up to startWaitSeconds seconds + until the client has been initialized. If the client does not initialize within + startWaitSeconds seconds, it is returned anyway and can be used, but may not + have fetched the most recent feature flag values.
      +
      +
      Parameters:
      +
      application - your Android application
      +
      config - configuration used to set up the client
      +
      context - the initial evaluation context; see LDClient for more + information about setting the context and optionally requesting a + unique key for it
      +
      startWaitSeconds - maximum number of seconds to wait for the client to initialize
      +
      Returns:
      +
      the primary LDClient instance
      +
      Since:
      +
      3.0.0
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      get

      +
      public static LDClient get() + throws LaunchDarklyException
      +
      Returns the LDClient instance that was previously created with init(Application, LDConfig, LDContext, int) + or init(Application, LDConfig, LDContext). +

      + If you have configured multiple environments, this method returns the instance for the + primary environment.

      +
      +
      Returns:
      +
      the singleton instance
      +
      Throws:
      +
      LaunchDarklyException - if init has not been called
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getForMobileKey

      +
      public static LDClient getForMobileKey(String keyName) + throws LaunchDarklyException
      +
      Returns the LDClient instance that was previously created with init(Application, LDConfig, LDContext, int) + or init(Application, LDConfig, LDContext), for a specific environment. +

      + This method is only relevant if you have configured multiple environments with + LDConfig.Builder.secondaryMobileKeys(Map).

      +
      +
      Parameters:
      +
      keyName - the name you gave to this environment (this must be one of the keys in the + map you passed to LDConfig.Builder.secondaryMobileKeys(Map))
      +
      Returns:
      +
      the singleton instance for the environment associated with the given name
      +
      Throws:
      +
      LaunchDarklyException - if init has not been called
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      trackMetric

      +
      public void trackMetric(String eventName, + LDValue data, + double metricValue)
      +
      Description copied from interface: LDClientInterface
      +
      Tracks that an application-defined event occurred, and provides an additional numeric value + for custom metrics. +

      + This method creates a "custom" analytics event containing the specified event name (key) + the current evaluation context, optional custom data, and a numeric metric value. +

      + Note that event delivery is asynchronous, so the event may not actually be sent until + later; see LDClientInterface.flush().

      +
      +
      Specified by:
      +
      trackMetric in interface LDClientInterface
      +
      Parameters:
      +
      eventName - the name of the event
      +
      data - an LDValue containing additional data associated with the event; + if not applicable, you may pass either null or + LDValue.ofNull()
      +
      metricValue - a numeric value used by the LaunchDarkly experimentation feature in + numeric custom metrics; this field will also be returned as part of the + custom event for Data Export
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      trackData

      +
      public void trackData(String eventName, + LDValue data)
      +
      Description copied from interface: LDClientInterface
      +
      Tracks that an application-defined event occurred, and provides additional custom data. +

      + This method creates a "custom" analytics event containing the specified event name (key) + the current evaluation context, and optional custom data. To specify a numeric metric, use + LDClientInterface.trackMetric(String, LDValue, double) instead. +

      + Note that event delivery is asynchronous, so the event may not actually be sent until + later; see LDClientInterface.flush().

      +
      +
      Specified by:
      +
      trackData in interface LDClientInterface
      +
      Parameters:
      +
      eventName - the name of the event
      +
      data - an LDValue containing additional data associated with the event; + if not applicable, you may pass either null or + LDValue.ofNull()
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      track

      +
      public void track(String eventName)
      +
      Description copied from interface: LDClientInterface
      +
      Tracks that an application-defined event occurred. +

      + This method creates a "custom" analytics event containing the specified event name (key) + and the current evaluation context. You may attach other data to the event by calling + LDClientInterface.trackData(String, LDValue) or LDClientInterface.trackMetric(String, LDValue, double) + instead. +

      + Note that event delivery is asynchronous, so the event may not actually be sent until + later; see LDClientInterface.flush().

      +
      +
      Specified by:
      +
      track in interface LDClientInterface
      +
      Parameters:
      +
      eventName - the name of the event
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      identify

      +
      public Future<Void> identify(LDContext context)
      +
      Description copied from interface: LDClientInterface
      +
      Changes the current evaluation context, requests flags for that context from LaunchDarkly if we are online, + and generates an analytics event to tell LaunchDarkly about the context. +

      + If the SDK is online, the returned Future is completed once the SDK has received feature + flag values for the new context from LaunchDarkly, or received an unrecoverable error. If the SDK + is offline, the returned Future is completed immediately. +

      + The SDK normally caches flag settings for recently used evaluation contexts; this behavior + can be configured with LDConfig.Builder.maxCachedContexts(int).

      +
      +
      Specified by:
      +
      identify in interface LDClientInterface
      +
      Parameters:
      +
      context - the new evaluation context; see LDClient for more about + setting the context and optionally requesting a unique key for it
      +
      Returns:
      +
      a Future whose success indicates the flag values for the new evaluation context have + been stored locally and are ready for use
      +
      +
      +
    • +
    • +
      +

      allFlags

      +
      public Map<String,LDValue> allFlags()
      +
      Description copied from interface: LDClientInterface
      +
      Returns a map of all feature flags for the current evaluation context. No events are sent to LaunchDarkly.
      +
      +
      Specified by:
      +
      allFlags in interface LDClientInterface
      +
      Returns:
      +
      a map of all feature flags
      +
      +
      +
    • +
    • +
      +

      boolVariation

      +
      public boolean boolVariation(@NonNull + String key, + boolean defaultValue)
      +
      Description copied from interface: LDClientInterface
      +
      Returns the boolean value of a feature flag for the current evaluation context. +

      + If the flag variation does not have a boolean value, or if an error makes it impossible to + evaluate the flag (for instance, if flagKey does not match any existing flag), + defaultValue is returned.

      +
      +
      Specified by:
      +
      boolVariation in interface LDClientInterface
      +
      Parameters:
      +
      key - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag
      +
      Returns:
      +
      value of the flag or the default value
      +
      +
      +
    • +
    • +
      +

      boolVariationDetail

      +
      public EvaluationDetail<Boolean> boolVariationDetail(@NonNull + String key, + boolean defaultValue)
      +
      Description copied from interface: LDClientInterface
      +
      Returns the boolean value of a feature flag for the current evaluation context, along with + information about how it was calculated. +

      + Note that this will only work if you have set evaluationReasons to true with + LDConfig.Builder.evaluationReasons(boolean). Otherwise, the reason property of the result + will be null. +

      + The evaluation reason will also be included in analytics events, if you are capturing + detailed event data for this flag.

      +
      +
      Specified by:
      +
      boolVariationDetail in interface LDClientInterface
      +
      Parameters:
      +
      key - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag (see LDClientInterface.boolVariation(String, boolean))
      +
      Returns:
      +
      an EvaluationDetail object containing the value and other information
      +
      +
      +
    • +
    • +
      +

      intVariation

      +
      public int intVariation(@NonNull + String key, + int defaultValue)
      +
      Description copied from interface: LDClientInterface
      +
      Returns the integer value of a feature flag for the current evaluation context. +

      + If the flag variation has a numeric value that is not an integer, it is rounded toward zero. +

      + If the flag variation does not have a numeric value, or if an error makes it impossible to + evaluate the flag (for instance, if flagKey does not match any existing flag), + defaultValue is returned.

      +
      +
      Specified by:
      +
      intVariation in interface LDClientInterface
      +
      Parameters:
      +
      key - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag
      +
      Returns:
      +
      value of the flag or the default value
      +
      +
      +
    • +
    • +
      +

      intVariationDetail

      +
      public EvaluationDetail<Integer> intVariationDetail(@NonNull + String key, + int defaultValue)
      +
      Description copied from interface: LDClientInterface
      +
      Returns the integer value of a feature flag for the current evaluation context, along with + information about how it was calculated. +

      + Note that this will only work if you have set evaluationReasons to true with + LDConfig.Builder.evaluationReasons(boolean). Otherwise, the reason property of the result + will be null. +

      + The evaluation reason will also be included in analytics events, if you are capturing + detailed event data for this flag. +

      + The behavior is otherwise identical to LDClientInterface.intVariation(java.lang.String, int).

      +
      +
      Specified by:
      +
      intVariationDetail in interface LDClientInterface
      +
      Parameters:
      +
      key - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag (see LDClientInterface.intVariation(String, int))
      +
      Returns:
      +
      an EvaluationDetail object containing the value and other information
      +
      +
      +
    • +
    • +
      +

      doubleVariation

      +
      public double doubleVariation(String flagKey, + double defaultValue)
      +
      Description copied from interface: LDClientInterface
      +
      Returns the double-precision floating-point numeric value of a feature flag for the + current evaluation context. +

      + If the flag variation does not have a numeric value, or if an error makes it impossible to + evaluate the flag (for instance, if flagKey does not match any existing flag), + defaultValue is returned.

      +
      +
      Specified by:
      +
      doubleVariation in interface LDClientInterface
      +
      Parameters:
      +
      flagKey - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag
      +
      Returns:
      +
      value of the flag or the default value
      +
      +
      +
    • +
    • +
      +

      doubleVariationDetail

      +
      public EvaluationDetail<Double> doubleVariationDetail(String flagKey, + double defaultValue)
      +
      Description copied from interface: LDClientInterface
      +
      Returns the double-precision floating-point numeric value of a feature flag for the + current evaluation context, along with information about how it was calculated. + + Note that this will only work if you have set evaluationReasons to true with + LDConfig.Builder.evaluationReasons(boolean). Otherwise, the reason property of the result + will be null. +

      + The evaluation reason will also be included in analytics events, if you are capturing + detailed event data for this flag. +

      + The behavior is otherwise identical to LDClientInterface.doubleVariation(java.lang.String, double).

      +
      +
      Specified by:
      +
      doubleVariationDetail in interface LDClientInterface
      +
      Parameters:
      +
      flagKey - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag (see LDClientInterface.doubleVariation(String, double))
      +
      Returns:
      +
      an EvaluationDetail object containing the value and other information.
      +
      +
      +
    • +
    • +
      +

      stringVariation

      +
      public String stringVariation(@NonNull + String key, + String defaultValue)
      +
      Description copied from interface: LDClientInterface
      +
      Returns the string value of a feature flag for the current evaluation context. +

      + If the flag variation does not have a string value, or if an error makes it impossible to + evaluate the flag (for instance, if flagKey does not match any existing flag), + defaultValue is returned.

      +
      +
      Specified by:
      +
      stringVariation in interface LDClientInterface
      +
      Parameters:
      +
      key - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag
      +
      Returns:
      +
      value of the flag or the default value
      +
      +
      +
    • +
    • +
      +

      stringVariationDetail

      +
      public EvaluationDetail<String> stringVariationDetail(@NonNull + String key, + String defaultValue)
      +
      Description copied from interface: LDClientInterface
      +
      Returns the string value of a feature flag for the current evaluation context, along with + information about how it was calculated. +

      + Note that this will only work if you have set evaluationReasons to true with + LDConfig.Builder.evaluationReasons(boolean). Otherwise, the reason property of the result + will be null. +

      + The evaluation reason will also be included in analytics events, if you are capturing + detailed event data for this flag. +

      + The behavior is otherwise identical to LDClientInterface.stringVariation(java.lang.String, java.lang.String).

      +
      +
      Specified by:
      +
      stringVariationDetail in interface LDClientInterface
      +
      Parameters:
      +
      key - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag (see LDClientInterface.stringVariation(String, String))
      +
      Returns:
      +
      an EvaluationDetail object containing the value and other information.
      +
      +
      +
    • +
    • +
      +

      jsonValueVariation

      +
      public LDValue jsonValueVariation(@NonNull + String key, + LDValue defaultValue)
      +
      Description copied from interface: LDClientInterface
      +
      Returns the value of a feature flag for the current evaluation context, which may be of any + type. +

      + The type LDValue is used to represent any of the value types that can exist in JSON. + Use LDValue methods to examine its type and value.

      +
      +
      Specified by:
      +
      jsonValueVariation in interface LDClientInterface
      +
      Parameters:
      +
      key - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag
      +
      Returns:
      +
      value of the flag or the default value. Result will never be null, but may be LDValue#ofNull()
      +
      +
      +
    • +
    • +
      +

      jsonValueVariationDetail

      +
      public EvaluationDetail<LDValue> jsonValueVariationDetail(@NonNull + String key, + LDValue defaultValue)
      +
      Description copied from interface: LDClientInterface
      +
      Returns the value of a feature flag for the current evaluation context, which may be of any + type, along with information about how it was calculated. +

      + The type LDValue is used to represent any of the value types that can exist in JSON. + Use LDValue methods to examine its type and value. +

      + Note that this will only work if you have set evaluationReasons to true with + LDConfig.Builder.evaluationReasons(boolean). Otherwise, the reason property of the result + will be null. +

      + The evaluation reason will also be included in analytics events, if you are capturing + detailed event data for this flag. +

      + The behavior is otherwise identical to LDClientInterface.jsonValueVariation(java.lang.String, com.launchdarkly.sdk.LDValue).

      +
      +
      Specified by:
      +
      jsonValueVariationDetail in interface LDClientInterface
      +
      Parameters:
      +
      key - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag (see LDClientInterface.jsonValueVariation(String, LDValue))
      +
      Returns:
      +
      an EvaluationDetail object containing the value and other information.
      +
      +
      +
    • +
    • +
      +

      close

      +
      public void close() + throws IOException
      +
      Closes the client. This should only be called at the end of a client's lifecycle.
      +
      +
      Specified by:
      +
      close in interface AutoCloseable
      +
      Specified by:
      +
      close in interface Closeable
      +
      Throws:
      +
      IOException - declared by the Closeable interface, but will not be thrown by the client
      +
      +
      +
    • +
    • +
      +

      flush

      +
      public void flush()
      +
      Description copied from interface: LDClientInterface
      +
      Sends all pending events to LaunchDarkly.
      +
      +
      Specified by:
      +
      flush in interface LDClientInterface
      +
      +
      +
    • +
    • +
      +

      isInitialized

      +
      public boolean isInitialized()
      +
      Description copied from interface: LDClientInterface
      +
      Checks whether the client is ready to return feature flag values. This is true if either + the client has successfully connected to LaunchDarkly and received feature flags, or the + client has been put into offline mode (in which case it will return only default flag values).
      +
      +
      Specified by:
      +
      isInitialized in interface LDClientInterface
      +
      Returns:
      +
      true if the client is initialized or offline
      +
      +
      +
    • +
    • +
      +

      isOffline

      +
      public boolean isOffline()
      +
      Description copied from interface: LDClientInterface
      +
      Checks whether the client has been put into offline mode. This is true only if LDClientInterface.setOffline() + was called, or if the configuration had LDConfig.Builder.offline(boolean) set to true, + not if the client is simply offline due to a loss of network connectivity.
      +
      +
      Specified by:
      +
      isOffline in interface LDClientInterface
      +
      Returns:
      +
      true if the client is in offline mode
      +
      +
      +
    • +
    • +
      +

      setOffline

      +
      public void setOffline()
      +
      Description copied from interface: LDClientInterface
      +
      Shuts down any network connections maintained by the client and puts the client in offline + mode, preventing the client from opening new network connections until + setOnline() is called. +

      + Note: The client automatically monitors the device's network connectivity and app foreground + status, so calling setOffline() or setOnline() is normally + unnecessary in most situations.

      +
      +
      Specified by:
      +
      setOffline in interface LDClientInterface
      +
      +
      +
    • +
    • +
      +

      setOnline

      +
      public void setOnline()
      +
      Description copied from interface: LDClientInterface
      +
      Restores network connectivity for the client, if the client was previously in offline mode. + This operation may be throttled if it is called too frequently. +

      + Note: The client automatically monitors the device's network connectivity and app foreground + status, so calling setOffline() or setOnline() is normally + unnecessary in most situations.

      +
      +
      Specified by:
      +
      setOnline in interface LDClientInterface
      +
      +
      +
    • +
    • +
      +

      registerFeatureFlagListener

      +
      public void registerFeatureFlagListener(String flagKey, + FeatureFlagChangeListener listener)
      +
      Description copied from interface: LDClientInterface
      +
      Registers a FeatureFlagChangeListener to be called when the flagKey changes + from its current value. If the feature flag is deleted, the listener will be unregistered.
      +
      +
      Specified by:
      +
      registerFeatureFlagListener in interface LDClientInterface
      +
      Parameters:
      +
      flagKey - the flag key to attach the listener to
      +
      listener - the listener to attach to the flag key
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      unregisterFeatureFlagListener

      +
      public void unregisterFeatureFlagListener(String flagKey, + FeatureFlagChangeListener listener)
      +
      Description copied from interface: LDClientInterface
      +
      Unregisters a FeatureFlagChangeListener for the flagKey.
      +
      +
      Specified by:
      +
      unregisterFeatureFlagListener in interface LDClientInterface
      +
      Parameters:
      +
      flagKey - the flag key to remove the listener from
      +
      listener - the listener to remove from the flag key
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      isDisableBackgroundPolling

      +
      public boolean isDisableBackgroundPolling()
      +
      Description copied from interface: LDClientInterface
      +
      Checks whether LDConfig.Builder.disableBackgroundUpdating(boolean) was set to + true in the configuration.
      +
      +
      Specified by:
      +
      isDisableBackgroundPolling in interface LDClientInterface
      +
      Returns:
      +
      true if background polling is disabled
      +
      +
      +
    • +
    • +
      +

      getConnectionInformation

      +
      public ConnectionInformation getConnectionInformation()
      +
      Description copied from interface: LDClientInterface
      +
      Gets a ConnectionInformation object from the client representing the current state + of the clients connection.
      +
      +
      Specified by:
      +
      getConnectionInformation in interface LDClientInterface
      +
      Returns:
      +
      An object representing the status of the connection to LaunchDarkly.
      +
      +
      +
    • +
    • +
      +

      registerStatusListener

      +
      public void registerStatusListener(LDStatusListener statusListener)
      +
      Description copied from interface: LDClientInterface
      +
      Registers a LDStatusListener to be called on connection status updates.
      +
      +
      Specified by:
      +
      registerStatusListener in interface LDClientInterface
      +
      Parameters:
      +
      statusListener - the listener to be called on a connection status update
      +
      +
      +
    • +
    • +
      +

      unregisterStatusListener

      +
      public void unregisterStatusListener(LDStatusListener statusListener)
      +
      Description copied from interface: LDClientInterface
      +
      Unregisters a LDStatusListener so it will no longer be called on connection status updates.
      +
      +
      Specified by:
      +
      unregisterStatusListener in interface LDClientInterface
      +
      Parameters:
      +
      statusListener - the listener to be removed
      +
      +
      +
    • +
    • +
      +

      registerAllFlagsListener

      +
      public void registerAllFlagsListener(LDAllFlagsListener allFlagsListener)
      +
      Description copied from interface: LDClientInterface
      +
      Registers a LDAllFlagsListener to be called when a flag update is processed by the + SDK.
      +
      +
      Specified by:
      +
      registerAllFlagsListener in interface LDClientInterface
      +
      Parameters:
      +
      allFlagsListener - the listener to be called with a list of flag keys on a flag update
      +
      +
      +
    • +
    • +
      +

      unregisterAllFlagsListener

      +
      public void unregisterAllFlagsListener(LDAllFlagsListener allFlagsListener)
      +
      Description copied from interface: LDClientInterface
      +
      Unregisters a LDAllFlagsListener so it will no longer be called on flag updates.
      +
      +
      Specified by:
      +
      unregisterAllFlagsListener in interface LDClientInterface
      +
      Parameters:
      +
      allFlagsListener - the listener to be removed
      +
      +
      +
    • +
    • +
      +

      getVersion

      +
      public String getVersion()
      +
      Description copied from interface: LDClientInterface
      +
      Returns the version of the SDK, for instance "2.7.0".
      +
      +
      Specified by:
      +
      getVersion in interface LDClientInterface
      +
      Returns:
      +
      the version string
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/LDClientInterface.html b/com/launchdarkly/sdk/android/LDClientInterface.html new file mode 100644 index 00000000..46b3afe2 --- /dev/null +++ b/com/launchdarkly/sdk/android/LDClientInterface.html @@ -0,0 +1,838 @@ + + + + +LDClientInterface (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface LDClientInterface

+
+
+
+
All Superinterfaces:
+
AutoCloseable, Closeable
+
+
+
All Known Implementing Classes:
+
LDClient
+
+
+
public interface LDClientInterface +extends Closeable
+
The interface for the LaunchDarkly SDK client. +

+ To obtain a client instance, use LDClient methods such as LDClient.init(Application, LDConfig, LDContext).

+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isInitialized

      +
      boolean isInitialized()
      +
      Checks whether the client is ready to return feature flag values. This is true if either + the client has successfully connected to LaunchDarkly and received feature flags, or the + client has been put into offline mode (in which case it will return only default flag values).
      +
      +
      Returns:
      +
      true if the client is initialized or offline
      +
      +
      +
    • +
    • +
      +

      isOffline

      +
      boolean isOffline()
      +
      Checks whether the client has been put into offline mode. This is true only if setOffline() + was called, or if the configuration had LDConfig.Builder.offline(boolean) set to true, + not if the client is simply offline due to a loss of network connectivity.
      +
      +
      Returns:
      +
      true if the client is in offline mode
      +
      +
      +
    • +
    • +
      +

      setOffline

      +
      void setOffline()
      +
      Shuts down any network connections maintained by the client and puts the client in offline + mode, preventing the client from opening new network connections until + setOnline() is called. +

      + Note: The client automatically monitors the device's network connectivity and app foreground + status, so calling setOffline() or setOnline() is normally + unnecessary in most situations.

      +
      +
    • +
    • +
      +

      setOnline

      +
      void setOnline()
      +
      Restores network connectivity for the client, if the client was previously in offline mode. + This operation may be throttled if it is called too frequently. +

      + Note: The client automatically monitors the device's network connectivity and app foreground + status, so calling setOffline() or setOnline() is normally + unnecessary in most situations.

      +
      +
    • +
    • +
      +

      trackMetric

      +
      void trackMetric(String eventName, + LDValue data, + double metricValue)
      +
      Tracks that an application-defined event occurred, and provides an additional numeric value + for custom metrics. +

      + This method creates a "custom" analytics event containing the specified event name (key) + the current evaluation context, optional custom data, and a numeric metric value. +

      + Note that event delivery is asynchronous, so the event may not actually be sent until + later; see flush().

      +
      +
      Parameters:
      +
      eventName - the name of the event
      +
      data - an LDValue containing additional data associated with the event; + if not applicable, you may pass either null or + LDValue.ofNull()
      +
      metricValue - a numeric value used by the LaunchDarkly experimentation feature in + numeric custom metrics; this field will also be returned as part of the + custom event for Data Export
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      trackData

      +
      void trackData(String eventName, + LDValue data)
      +
      Tracks that an application-defined event occurred, and provides additional custom data. +

      + This method creates a "custom" analytics event containing the specified event name (key) + the current evaluation context, and optional custom data. To specify a numeric metric, use + trackMetric(String, LDValue, double) instead. +

      + Note that event delivery is asynchronous, so the event may not actually be sent until + later; see flush().

      +
      +
      Parameters:
      +
      eventName - the name of the event
      +
      data - an LDValue containing additional data associated with the event; + if not applicable, you may pass either null or + LDValue.ofNull()
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      track

      +
      void track(String eventName)
      +
      Tracks that an application-defined event occurred. +

      + This method creates a "custom" analytics event containing the specified event name (key) + and the current evaluation context. You may attach other data to the event by calling + trackData(String, LDValue) or trackMetric(String, LDValue, double) + instead. +

      + Note that event delivery is asynchronous, so the event may not actually be sent until + later; see flush().

      +
      +
      Parameters:
      +
      eventName - the name of the event
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      identify

      +
      Future<Void> identify(LDContext context)
      +
      Changes the current evaluation context, requests flags for that context from LaunchDarkly if we are online, + and generates an analytics event to tell LaunchDarkly about the context. +

      + If the SDK is online, the returned Future is completed once the SDK has received feature + flag values for the new context from LaunchDarkly, or received an unrecoverable error. If the SDK + is offline, the returned Future is completed immediately. +

      + The SDK normally caches flag settings for recently used evaluation contexts; this behavior + can be configured with LDConfig.Builder.maxCachedContexts(int).

      +
      +
      Parameters:
      +
      context - the new evaluation context; see LDClient for more about + setting the context and optionally requesting a unique key for it
      +
      Returns:
      +
      a Future whose success indicates the flag values for the new evaluation context have + been stored locally and are ready for use
      +
      Since:
      +
      3.0.0
      +
      +
      +
    • +
    • +
      +

      flush

      +
      void flush()
      +
      Sends all pending events to LaunchDarkly.
      +
      +
    • +
    • +
      +

      allFlags

      +
      Map<String,LDValue> allFlags()
      +
      Returns a map of all feature flags for the current evaluation context. No events are sent to LaunchDarkly.
      +
      +
      Returns:
      +
      a map of all feature flags
      +
      +
      +
    • +
    • +
      +

      boolVariation

      +
      boolean boolVariation(String flagKey, + boolean defaultValue)
      +
      Returns the boolean value of a feature flag for the current evaluation context. +

      + If the flag variation does not have a boolean value, or if an error makes it impossible to + evaluate the flag (for instance, if flagKey does not match any existing flag), + defaultValue is returned.

      +
      +
      Parameters:
      +
      flagKey - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag
      +
      Returns:
      +
      value of the flag or the default value
      +
      +
      +
    • +
    • +
      +

      boolVariationDetail

      +
      EvaluationDetail<Boolean> boolVariationDetail(String flagKey, + boolean defaultValue)
      +
      Returns the boolean value of a feature flag for the current evaluation context, along with + information about how it was calculated. +

      + Note that this will only work if you have set evaluationReasons to true with + LDConfig.Builder.evaluationReasons(boolean). Otherwise, the reason property of the result + will be null. +

      + The evaluation reason will also be included in analytics events, if you are capturing + detailed event data for this flag.

      +
      +
      Parameters:
      +
      flagKey - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag (see boolVariation(String, boolean))
      +
      Returns:
      +
      an EvaluationDetail object containing the value and other information
      +
      Since:
      +
      2.7.0
      +
      +
      +
    • +
    • +
      +

      intVariation

      +
      int intVariation(String flagKey, + int defaultValue)
      +
      Returns the integer value of a feature flag for the current evaluation context. +

      + If the flag variation has a numeric value that is not an integer, it is rounded toward zero. +

      + If the flag variation does not have a numeric value, or if an error makes it impossible to + evaluate the flag (for instance, if flagKey does not match any existing flag), + defaultValue is returned.

      +
      +
      Parameters:
      +
      flagKey - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag
      +
      Returns:
      +
      value of the flag or the default value
      +
      +
      +
    • +
    • +
      +

      intVariationDetail

      +
      EvaluationDetail<Integer> intVariationDetail(String flagKey, + int defaultValue)
      +
      Returns the integer value of a feature flag for the current evaluation context, along with + information about how it was calculated. +

      + Note that this will only work if you have set evaluationReasons to true with + LDConfig.Builder.evaluationReasons(boolean). Otherwise, the reason property of the result + will be null. +

      + The evaluation reason will also be included in analytics events, if you are capturing + detailed event data for this flag. +

      + The behavior is otherwise identical to intVariation(java.lang.String, int).

      +
      +
      Parameters:
      +
      flagKey - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag (see intVariation(String, int))
      +
      Returns:
      +
      an EvaluationDetail object containing the value and other information
      +
      Since:
      +
      2.7.0
      +
      +
      +
    • +
    • +
      +

      doubleVariation

      +
      double doubleVariation(String flagKey, + double defaultValue)
      +
      Returns the double-precision floating-point numeric value of a feature flag for the + current evaluation context. +

      + If the flag variation does not have a numeric value, or if an error makes it impossible to + evaluate the flag (for instance, if flagKey does not match any existing flag), + defaultValue is returned.

      +
      +
      Parameters:
      +
      flagKey - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag
      +
      Returns:
      +
      value of the flag or the default value
      +
      +
      +
    • +
    • +
      +

      doubleVariationDetail

      +
      EvaluationDetail<Double> doubleVariationDetail(String flagKey, + double defaultValue)
      +
      Returns the double-precision floating-point numeric value of a feature flag for the + current evaluation context, along with information about how it was calculated. + + Note that this will only work if you have set evaluationReasons to true with + LDConfig.Builder.evaluationReasons(boolean). Otherwise, the reason property of the result + will be null. +

      + The evaluation reason will also be included in analytics events, if you are capturing + detailed event data for this flag. +

      + The behavior is otherwise identical to doubleVariation(java.lang.String, double).

      +
      +
      Parameters:
      +
      flagKey - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag (see doubleVariation(String, double))
      +
      Returns:
      +
      an EvaluationDetail object containing the value and other information.
      +
      +
      +
    • +
    • +
      +

      stringVariation

      +
      String stringVariation(String flagKey, + String defaultValue)
      +
      Returns the string value of a feature flag for the current evaluation context. +

      + If the flag variation does not have a string value, or if an error makes it impossible to + evaluate the flag (for instance, if flagKey does not match any existing flag), + defaultValue is returned.

      +
      +
      Parameters:
      +
      flagKey - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag
      +
      Returns:
      +
      value of the flag or the default value
      +
      +
      +
    • +
    • +
      +

      stringVariationDetail

      +
      EvaluationDetail<String> stringVariationDetail(String flagKey, + String defaultValue)
      +
      Returns the string value of a feature flag for the current evaluation context, along with + information about how it was calculated. +

      + Note that this will only work if you have set evaluationReasons to true with + LDConfig.Builder.evaluationReasons(boolean). Otherwise, the reason property of the result + will be null. +

      + The evaluation reason will also be included in analytics events, if you are capturing + detailed event data for this flag. +

      + The behavior is otherwise identical to stringVariation(java.lang.String, java.lang.String).

      +
      +
      Parameters:
      +
      flagKey - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag (see stringVariation(String, String))
      +
      Returns:
      +
      an EvaluationDetail object containing the value and other information.
      +
      Since:
      +
      2.7.0
      +
      +
      +
    • +
    • +
      +

      registerFeatureFlagListener

      +
      void registerFeatureFlagListener(String flagKey, + FeatureFlagChangeListener listener)
      +
      Registers a FeatureFlagChangeListener to be called when the flagKey changes + from its current value. If the feature flag is deleted, the listener will be unregistered.
      +
      +
      Parameters:
      +
      flagKey - the flag key to attach the listener to
      +
      listener - the listener to attach to the flag key
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      jsonValueVariation

      +
      LDValue jsonValueVariation(String flagKey, + LDValue defaultValue)
      +
      Returns the value of a feature flag for the current evaluation context, which may be of any + type. +

      + The type LDValue is used to represent any of the value types that can exist in JSON. + Use LDValue methods to examine its type and value.

      +
      +
      Parameters:
      +
      flagKey - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag
      +
      Returns:
      +
      value of the flag or the default value. Result will never be null, but may be LDValue#ofNull()
      +
      +
      +
    • +
    • +
      +

      jsonValueVariationDetail

      +
      EvaluationDetail<LDValue> jsonValueVariationDetail(String flagKey, + LDValue defaultValue)
      +
      Returns the value of a feature flag for the current evaluation context, which may be of any + type, along with information about how it was calculated. +

      + The type LDValue is used to represent any of the value types that can exist in JSON. + Use LDValue methods to examine its type and value. +

      + Note that this will only work if you have set evaluationReasons to true with + LDConfig.Builder.evaluationReasons(boolean). Otherwise, the reason property of the result + will be null. +

      + The evaluation reason will also be included in analytics events, if you are capturing + detailed event data for this flag. +

      + The behavior is otherwise identical to jsonValueVariation(java.lang.String, com.launchdarkly.sdk.LDValue).

      +
      +
      Parameters:
      +
      flagKey - key for the flag to evaluate
      +
      defaultValue - default value in case of errors evaluating the flag (see jsonValueVariation(String, LDValue))
      +
      Returns:
      +
      an EvaluationDetail object containing the value and other information.
      +
      +
      +
    • +
    • +
      +

      unregisterFeatureFlagListener

      +
      void unregisterFeatureFlagListener(String flagKey, + FeatureFlagChangeListener listener)
      +
      Unregisters a FeatureFlagChangeListener for the flagKey.
      +
      +
      Parameters:
      +
      flagKey - the flag key to remove the listener from
      +
      listener - the listener to remove from the flag key
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getConnectionInformation

      +
      ConnectionInformation getConnectionInformation()
      +
      Gets a ConnectionInformation object from the client representing the current state + of the clients connection.
      +
      +
      Returns:
      +
      An object representing the status of the connection to LaunchDarkly.
      +
      +
      +
    • +
    • +
      +

      unregisterStatusListener

      +
      void unregisterStatusListener(LDStatusListener LDStatusListener)
      +
      Unregisters a LDStatusListener so it will no longer be called on connection status updates.
      +
      +
      Parameters:
      +
      LDStatusListener - the listener to be removed
      +
      +
      +
    • +
    • +
      +

      registerStatusListener

      +
      void registerStatusListener(LDStatusListener LDStatusListener)
      +
      Registers a LDStatusListener to be called on connection status updates.
      +
      +
      Parameters:
      +
      LDStatusListener - the listener to be called on a connection status update
      +
      +
      +
    • +
    • +
      +

      registerAllFlagsListener

      +
      void registerAllFlagsListener(LDAllFlagsListener allFlagsListener)
      +
      Registers a LDAllFlagsListener to be called when a flag update is processed by the + SDK.
      +
      +
      Parameters:
      +
      allFlagsListener - the listener to be called with a list of flag keys on a flag update
      +
      +
      +
    • +
    • +
      +

      unregisterAllFlagsListener

      +
      void unregisterAllFlagsListener(LDAllFlagsListener allFlagsListener)
      +
      Unregisters a LDAllFlagsListener so it will no longer be called on flag updates.
      +
      +
      Parameters:
      +
      allFlagsListener - the listener to be removed
      +
      +
      +
    • +
    • +
      +

      isDisableBackgroundPolling

      +
      boolean isDisableBackgroundPolling()
      +
      Checks whether LDConfig.Builder.disableBackgroundUpdating(boolean) was set to + true in the configuration.
      +
      +
      Returns:
      +
      true if background polling is disabled
      +
      +
      +
    • +
    • +
      +

      getVersion

      +
      String getVersion()
      +
      Returns the version of the SDK, for instance "2.7.0".
      +
      +
      Returns:
      +
      the version string
      +
      Since:
      +
      2.7.0
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/LDConfig.Builder.AutoEnvAttributes.html b/com/launchdarkly/sdk/android/LDConfig.Builder.AutoEnvAttributes.html new file mode 100644 index 00000000..3cd0e45a --- /dev/null +++ b/com/launchdarkly/sdk/android/LDConfig.Builder.AutoEnvAttributes.html @@ -0,0 +1,237 @@ + + + + +LDConfig.Builder.AutoEnvAttributes (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class LDConfig.Builder.AutoEnvAttributes

+
+
java.lang.Object +
java.lang.Enum<LDConfig.Builder.AutoEnvAttributes> +
com.launchdarkly.sdk.android.LDConfig.Builder.AutoEnvAttributes
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<LDConfig.Builder.AutoEnvAttributes>, Constable
+
+
+
Enclosing class:
+
LDConfig.Builder
+
+
+
public static enum LDConfig.Builder.AutoEnvAttributes +extends Enum<LDConfig.Builder.AutoEnvAttributes>
+
Enable / disable options for Auto Environment Attributes functionality. When enabled, the SDK will automatically + provide data about the mobile environment where the application is running. This data makes it simpler to target + your mobile customers based on application name or version, or on device characteristics including manufacturer, + model, operating system, locale, and so on. We recommend enabling this when you configure the SDK. See TKTK + for more documentation. + For example, consider a “dark mode” feature being added to an app. Versions 10 through 14 contain early, + incomplete versions of the feature. These versions are available to all customers, but the “dark mode” feature is only + enabled for testers. With version 15, the feature is considered complete. With Auto Environment Attributes enabled, + you can use targeting rules to enable "dark mode" for all customers who are using version 15 or greater, and ensure + that customers on previous versions don't use the earlier, unfinished version of the feature.
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static LDConfig.Builder.AutoEnvAttributes[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static LDConfig.Builder.AutoEnvAttributes valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/LDConfig.Builder.html b/com/launchdarkly/sdk/android/LDConfig.Builder.html new file mode 100644 index 00000000..14c44598 --- /dev/null +++ b/com/launchdarkly/sdk/android/LDConfig.Builder.html @@ -0,0 +1,716 @@ + + + + +LDConfig.Builder (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDConfig.Builder

+
+
java.lang.Object +
com.launchdarkly.sdk.android.LDConfig.Builder
+
+
+
+
Enclosing class:
+
LDConfig
+
+
+
public static class LDConfig.Builder +extends Object
+
A builder that helps construct + LDConfig objects. Builder calls can be chained, enabling the following pattern: +
+ LDConfig config = new LDConfig.Builder()
+          .mobileKey("mobile-key")
+          .evaluationReasons(true)
+          .build();
+ 
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Builder

      +
      public Builder(LDConfig.Builder.AutoEnvAttributes autoEnvAttributes)
      +
      LDConfig.Builder constructor. Configurable values are all set to their default values. The client app can + modify these values as desired.
      +
      +
      Parameters:
      +
      autoEnvAttributes - - Enable / disable Auto Environment Attributes functionality. When enabled, the SDK + will automatically provide data about the mobile environment where the application is + running. This data makes it simpler to target your mobile customers based on + application name or version, or on device characteristics including manufacturer, + model, operating system, locale, and so on. We recommend enabling this when you + configure the SDK. See TKTK for more documentation.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      mobileKey

      +
      public LDConfig.Builder mobileKey(String mobileKey)
      +
      Sets the key for authenticating with LaunchDarkly. This is required unless you're using the client in offline mode.
      +
      +
      Parameters:
      +
      mobileKey - Get this from the LaunchDarkly web app under Team Settings.
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      secondaryMobileKeys

      +
      public LDConfig.Builder secondaryMobileKeys(Map<String,String> secondaryMobileKeys)
      +
      Sets the secondary keys for authenticating to additional LaunchDarkly environments.
      +
      +
      Parameters:
      +
      secondaryMobileKeys - A map of identifying names to unique mobile keys to access secondary environments
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      serviceEndpoints

      +
      public LDConfig.Builder serviceEndpoints(ServiceEndpointsBuilder serviceEndpointsBuilder)
      +
      Sets the base service URIs used by SDK components. +

      + This object is a configuration builder obtained from Components.serviceEndpoints(), + which has methods for setting each external endpoint to a custom URI. +

      
      +     LDConfig config = new LDConfig.Builder().mobileKey("key")
      +         .serviceEndpoints(
      +             Components.serviceEndpoints().relayProxy("http://my-relay-proxy-host")
      +         );
      + 
      +
      +
      Parameters:
      +
      serviceEndpointsBuilder - a configuration builder object returned by Components.serviceEndpoints()
      +
      Returns:
      +
      the builder
      +
      Since:
      +
      4.0.0
      +
      +
      +
    • +
    • +
      +

      applicationInfo

      +
      public LDConfig.Builder applicationInfo(ApplicationInfoBuilder applicationInfoBuilder)
      +
      Sets the SDK's application metadata, which may be used in LaunchDarkly analytics or other product features, + but does not affect feature flag evaluations. +

      + This object is normally a configuration builder obtained from Components.applicationInfo(), + which has methods for setting individual metadata properties.

      +
      +
      Parameters:
      +
      applicationInfoBuilder - a configuration builder object returned by Components.applicationInfo()
      +
      Returns:
      +
      the builder
      +
      Since:
      +
      4.1.0
      +
      +
      +
    • +
    • +
      +

      dataSource

      +
      public LDConfig.Builder dataSource(ComponentConfigurer<DataSource> dataSourceConfigurer)
      +
      Sets the configuration of the component that receives feature flag data from LaunchDarkly. +

      + The default is Components.streamingDataSource(); you may instead use + Components.pollingDataSource(), or a test fixture such as + TestData. See Components.streamingDataSource() + and Components.pollingDataSource() for details on how to configure them with + options that are specific to streaming or polling mode. +

      + Setting offline(boolean) to true will supersede this setting + and completely disable all data sources. +

      
      +     // Setting custom options when using streaming mode
      +     LDConfig config = new LDConfig.Builder()
      +         .dataSource(
      +             Components.streamingDataSource()
      +                 .initialReconnectDelayMillis(100)
      +         )
      +         .build();
      +
      +     // Using polling mode instead of streaming, and setting custom options for polling
      +     LDConfig config = new LDConfig.Builder()
      +         .dataSource(
      +             Components.pollingDataSource()
      +                 .pollingIntervalMillis(60_000)
      +         )
      +         .build();
      + 
      +
      +
      Parameters:
      +
      dataSourceConfigurer - the data source configuration builder
      +
      Returns:
      +
      the main configuration builder
      +
      Since:
      +
      3.3.0
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      events

      +
      public LDConfig.Builder events(ComponentConfigurer<EventProcessor> eventsConfigurer)
      +
      Sets the implementation of EventProcessor to be used for processing analytics events. +

      + The default is Components.sendEvents() with no custom options. You may instead call + Components.sendEvents() and then set custom options for event processing; or, disable + events with Components.noEvents(); or, choose to use a custom implementation (for + instance, a test fixture). +

      + Setting offline(boolean) to true will supersede this setting + and completely disable network requests. +

      
      +     // Setting custom event processing options
      +     LDConfig config = new LDConfig.Builder()
      +         .events(Components.sendEvents().capacity(100))
      +         .build();
      +
      +     // Disabling events
      +     LDConfig config = new LDConfig.Builder()
      +         .events(Components.noEvents())
      +         .build();
      + 
      +
      +
      Parameters:
      +
      eventsConfigurer - the events configuration builder
      +
      Returns:
      +
      the main configuration builder
      +
      Since:
      +
      3.3.0
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      http

      + +
      Sets the SDK's networking configuration, using a configuration builder. This builder is + obtained from Components.httpConfiguration(), and has methods for setting individual + HTTP-related properties. +
      
      +     LDConfig config = new LDConfig.Builder()
      +         .http(Components.httpConfiguration().connectTimeoutMillis(5000))
      +         .build();
      + 
      +
      +
      Parameters:
      +
      httpConfigurer - the HTTP configuration builder
      +
      Returns:
      +
      the main configuration builder
      +
      Since:
      +
      3.3.0
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      disableBackgroundUpdating

      +
      public LDConfig.Builder disableBackgroundUpdating(boolean disableBackgroundUpdating)
      +
      Sets whether feature flag updates should be disabled when your app is in the background. +

      + The default value is false (flag updates will be done in the background).

      +
      +
      Parameters:
      +
      disableBackgroundUpdating - true if the client should skip updating flags when in the background
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      offline

      +
      public LDConfig.Builder offline(boolean offline)
      +
      Disables all network calls from the LaunchDarkly client. +

      + This can also be specified after the client has been created, using + LDClientInterface.setOffline(). +

      + The default value is true (the client will make network calls).

      +
      +
      Parameters:
      +
      offline - true if the client should run in offline mode
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      evaluationReasons

      +
      public LDConfig.Builder evaluationReasons(boolean evaluationReasons)
      +
      If enabled, LaunchDarkly will provide additional information about how flag values were + calculated. The additional information will then be available through the client's + "detail" methods (LDClientInterface.boolVariationDetail(String, boolean), etc.). + + Since this increases the size of network requests, the default is false (detail + information will not be sent).
      +
      +
      Parameters:
      +
      evaluationReasons - true if detail/reason information should be made available
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      diagnosticOptOut

      +
      public LDConfig.Builder diagnosticOptOut(boolean diagnosticOptOut)
      +
      Set to true to opt out of sending diagnostics data. + + Unless the diagnosticOptOut field is set to true, the client will send some diagnostics data to the + LaunchDarkly servers in order to assist in the development of future SDK improvements. These diagnostics + consist of an initial payload containing some details of SDK in use, the SDK's configuration, and the platform + the SDK is being run on; as well as payloads sent periodically with information on irregular occurrences such + as dropped events.
      +
      +
      Parameters:
      +
      diagnosticOptOut - true if you want to opt out of sending any diagnostics data.
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      maxCachedContexts

      +
      public LDConfig.Builder maxCachedContexts(int maxCachedContexts)
      +
      Sets the maximum number of evaluation contexts to cache the flag values for locally in + the device's SharedPreferences. +

      + Note that the active evaluation context is not considered part of this limit, as it will + always be served from the backing SharedPreferences. +

      + If not specified, the default is LDConfig.DEFAULT_MAX_CACHED_CONTEXTS (5).

      +
      +
      Parameters:
      +
      maxCachedContexts - The maximum number of evaluation contexts to cache; negative + values represent allowing an unlimited number of cached contexts
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      generateAnonymousKeys

      +
      public LDConfig.Builder generateAnonymousKeys(boolean generateAnonymousKeys)
      +
      Set to true to make the SDK provide unique keys for anonymous contexts. +

      + If enabled, this option changes the SDK's behavior whenever the LDContext (as + given to methods like LDClient.init(android.app.Application, LDConfig, LDContext, int) or + LDClient.identify(LDContext)) has an LDContext.isAnonymous() property of + true, as follows: +

        +
      • The first time this happens in the application, the SDK will generate a + pseudo-random GUID and overwrite the context's key with this string.
      • +
      • The SDK will then cache this key so that the same key will be reused next time.
      • +
      • This uses the same persistent storage (shared preferences) mechanism as the caching + of flag values, so that the key can persist across restarts.
      • +
      +

      + If you use multiple ContextKinds, this behavior is per-kind: that is, a separate + randomized key is generated and cached for each context kind. +

      + Every LDContext must always have a key, even if the key will later be overwritten + by the SDK, so if you use this functionality you must still provide a placeholder key. + This ensures that if the SDK configuration is changed so generateAnonymousKeys is + no longer enabled, the SDK will still be able to use the context for evaluations.

      +
      +
      Parameters:
      +
      generateAnonymousKeys - true to enable automatic anonymous key generation
      +
      Returns:
      +
      the same builder
      +
      Since:
      +
      4.0.0
      +
      +
      +
    • +
    • +
      +

      logAdapter

      +
      public LDConfig.Builder logAdapter(LDLogAdapter logAdapter)
      +
      Specifies the implementation of logging to use. +

      + The com.launchdarkly.logging + API defines the LDLogAdapter interface to specify where log output should be sent. By default, + it is set to LDTimberLogging.adapter(), meaning that output will be sent to the + Timber framework and controlled by whatever Timber + configuration the application has created. You may change this to LDAndroidLogging.adapter() + to bypass Timber and use Android native logging directly; or, use the + Logs factory methods, or a custom implementation, to handle log + output differently. +

      + Specifying logAdapter(Logs.none()) completely disables log output. +

      + For more about logging adapters, + see the SDK reference guide + and the API documentation for + com.launchdarkly.logging.

      +
      +
      Parameters:
      +
      logAdapter - an LDLogAdapter for the desired logging implementation
      +
      Returns:
      +
      the builder
      +
      Since:
      +
      3.2.0
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      logLevel

      +
      public LDConfig.Builder logLevel(LDLogLevel logLevel)
      +
      Specifies the lowest level of logging to enable. +

      + This is only applicable when using an implementation of logging that does not have its own + external filter/configuration mechanism, such as LDAndroidLogging. It adds + a log level filter so that log messages at lower levels are suppressed. The default is + LDLogLevel.INFO, meaning that INFO, WARN, and ERROR levels + are enabled, but DEBUG is disabled. To enable DEBUG level as well: +

      
      +     LDConfig config = new LDConfig.Builder()
      +         .logAdapter(LDAndroidLogging.adapter())
      +         .level(LDLogLevel.DEBUG)
      +         .build();
      + 
      +

      + Or, to raise the logging threshold so that only WARN and ERROR levels are enabled, and + DEBUG and INFO are disabled: +

      
      +     LDConfig config = new LDConfig.Builder()
      +         .logAdapter(LDAndroidLogging.adapter())
      +         .level(LDLogLevel.WARN)
      +         .build();
      + 
      +

      + When using LDTimberLogging, Timber has its own mechanism for determining whether + to enable debug-level logging, so this method has no effect.

      +
      +
      Parameters:
      +
      logLevel - the lowest level of logging to enable
      +
      Returns:
      +
      the builder
      +
      Since:
      +
      3.2.0
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      loggerName

      +
      public LDConfig.Builder loggerName(String loggerName)
      +
      Specifies a custom logger name/tag for the SDK. +

      + When using Timber or native Android logging, this becomes the tag for all SDK log output. + If you have specified a different logging implementation with logAdapter(LDLogAdapter), + the meaning of the logger name depends on the logging framework. +

      + If not specified, the default is "LaunchDarklySdk".

      +
      +
      Parameters:
      +
      loggerName - the logger name or tag
      +
      Returns:
      +
      the builder
      +
      Since:
      +
      3.2.0
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      build

      +
      public LDConfig build()
      +
      Returns the configured LDConfig object.
      +
      +
      Returns:
      +
      the configuration
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/LDConfig.html b/com/launchdarkly/sdk/android/LDConfig.html new file mode 100644 index 00000000..a511e70b --- /dev/null +++ b/com/launchdarkly/sdk/android/LDConfig.html @@ -0,0 +1,301 @@ + + + + +LDConfig (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDConfig

+
+
java.lang.Object +
com.launchdarkly.sdk.android.LDConfig
+
+
+
+
public class LDConfig +extends Object
+
This class exposes advanced configuration options for LDClient. Instances of this class + must be constructed with LDConfig.Builder.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getMobileKey

      +
      public String getMobileKey()
      +
      +
      Returns:
      +
      the mobile key
      +
      +
      +
    • +
    • +
      +

      getMobileKeys

      +
      public Map<String,String> getMobileKeys()
      +
      +
      Returns:
      +
      a map of mobile keys keyed by environment name
      +
      +
      +
    • +
    • +
      +

      isOffline

      +
      public boolean isOffline()
      +
      +
      Returns:
      +
      true if offline mode is enabled, false otherwise
      +
      +
      +
    • +
    • +
      +

      isDisableBackgroundPolling

      +
      public boolean isDisableBackgroundPolling()
      +
      +
      Returns:
      +
      true if background polling is disabled, false otherwise
      +
      +
      +
    • +
    • +
      +

      isEvaluationReasons

      +
      public boolean isEvaluationReasons()
      +
      +
      Returns:
      +
      true if evaluation reasons are turned on, false otherwise
      +
      +
      +
    • +
    • +
      +

      isGenerateAnonymousKeys

      +
      public boolean isGenerateAnonymousKeys()
      +
      +
      Returns:
      +
      true if keys should be generated for anonymous contexts, false otherwise
      +
      +
      +
    • +
    • +
      +

      isAutoEnvAttributes

      +
      public boolean isAutoEnvAttributes()
      +
      +
      Returns:
      +
      true if automatic environment attributes should be included in contexts, false otherwise
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/LDFailure.FailureType.html b/com/launchdarkly/sdk/android/LDFailure.FailureType.html new file mode 100644 index 00000000..9419f139 --- /dev/null +++ b/com/launchdarkly/sdk/android/LDFailure.FailureType.html @@ -0,0 +1,262 @@ + + + + +LDFailure.FailureType (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class LDFailure.FailureType

+
+
java.lang.Object +
java.lang.Enum<LDFailure.FailureType> +
com.launchdarkly.sdk.android.LDFailure.FailureType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<LDFailure.FailureType>, Constable
+
+
+
Enclosing class:
+
LDFailure
+
+
+
public static enum LDFailure.FailureType +extends Enum<LDFailure.FailureType>
+
Enumerated type defining the possible values of LDFailure.getFailureType().
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      INVALID_RESPONSE_BODY

      +
      public static final LDFailure.FailureType INVALID_RESPONSE_BODY
      +
      A response body received either through polling or streaming was unable to be parsed.
      +
      +
    • +
    • +
      +

      NETWORK_FAILURE

      +
      public static final LDFailure.FailureType NETWORK_FAILURE
      +
      A network request for polling, or the EventSource stream reported a failure.
      +
      +
    • +
    • +
      +

      UNEXPECTED_STREAM_ELEMENT_TYPE

      +
      public static final LDFailure.FailureType UNEXPECTED_STREAM_ELEMENT_TYPE
      +
      An event was received through the stream with an unknown event key. This could indicate a newer SDK is + available if new event kinds have become available through the flag stream since the SDK's release.
      +
      +
    • +
    • +
      +

      UNEXPECTED_RESPONSE_CODE

      +
      public static final LDFailure.FailureType UNEXPECTED_RESPONSE_CODE
      +
      This indicates the LDFailure is an instance of LDInvalidResponseCodeFailure.
      +
      +
    • +
    • +
      +

      UNKNOWN_ERROR

      +
      public static final LDFailure.FailureType UNKNOWN_ERROR
      +
      Some other issue occurred.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static LDFailure.FailureType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static LDFailure.FailureType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/LDFailure.html b/com/launchdarkly/sdk/android/LDFailure.html new file mode 100644 index 00000000..d618a27f --- /dev/null +++ b/com/launchdarkly/sdk/android/LDFailure.html @@ -0,0 +1,233 @@ + + + + +LDFailure (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDFailure

+
+ +
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
Direct Known Subclasses:
+
LDInvalidResponseCodeFailure
+
+
+
public class LDFailure +extends LaunchDarklyException
+
Container class representing a communication failure with LaunchDarkly servers.
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LDFailure

      +
      public LDFailure(String message, + @NonNull + LDFailure.FailureType failureType)
      +
      +
      Parameters:
      +
      message - the message
      +
      failureType - the failure type
      +
      +
      +
    • +
    • +
      +

      LDFailure

      +
      public LDFailure(String message, + Throwable cause, + @NonNull + LDFailure.FailureType failureType)
      +
      +
      Parameters:
      +
      message - the message
      +
      cause - the cause of the failure
      +
      failureType - the failure type
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getFailureType

      +
      @NonNull +public LDFailure.FailureType getFailureType()
      +
      +
      Returns:
      +
      the failure type
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/LDHeaderUpdater.html b/com/launchdarkly/sdk/android/LDHeaderUpdater.html new file mode 100644 index 00000000..abdfec3d --- /dev/null +++ b/com/launchdarkly/sdk/android/LDHeaderUpdater.html @@ -0,0 +1,133 @@ + + + + +LDHeaderUpdater (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface LDHeaderUpdater

+
+
+
+
public interface LDHeaderUpdater
+
An interface to provide the SDK with a function used to modify HTTP headers before each request + to the LaunchDarkly service.
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    An application provided method for dynamic configuration of HTTP headers.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      updateHeaders

      +
      void updateHeaders(Map<String,String> headers)
      +
      An application provided method for dynamic configuration of HTTP headers.
      +
      +
      Parameters:
      +
      headers - The unmodified headers the SDK prepared for the request
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/LDInvalidResponseCodeFailure.html b/com/launchdarkly/sdk/android/LDInvalidResponseCodeFailure.html new file mode 100644 index 00000000..fede5720 --- /dev/null +++ b/com/launchdarkly/sdk/android/LDInvalidResponseCodeFailure.html @@ -0,0 +1,242 @@ + + + + +LDInvalidResponseCodeFailure (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDInvalidResponseCodeFailure

+
+ +
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class LDInvalidResponseCodeFailure +extends LDFailure
+
Container class representing a communication failure with LaunchDarkly servers in which the response was unexpected.
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LDInvalidResponseCodeFailure

      +
      public LDInvalidResponseCodeFailure(String message, + int responseCode, + boolean retryable)
      +
      +
      Parameters:
      +
      message - the message
      +
      responseCode - the response code
      +
      retryable - whether or not retrying may resolve the issue
      +
      +
      +
    • +
    • +
      +

      LDInvalidResponseCodeFailure

      +
      public LDInvalidResponseCodeFailure(String message, + Throwable cause, + int responseCode, + boolean retryable)
      +
      +
      Parameters:
      +
      message - the message
      +
      cause - the cause of the failure
      +
      responseCode - the response code
      +
      retryable - whether or not retrying may resolve the issue
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isRetryable

      +
      public boolean isRetryable()
      +
      +
      Returns:
      +
      true if retrying may resolve the issue
      +
      +
      +
    • +
    • +
      +

      getResponseCode

      +
      public int getResponseCode()
      +
      +
      Returns:
      +
      the response code
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/LDPackageConsts.html b/com/launchdarkly/sdk/android/LDPackageConsts.html new file mode 100644 index 00000000..24f3feab --- /dev/null +++ b/com/launchdarkly/sdk/android/LDPackageConsts.html @@ -0,0 +1,229 @@ + + + + +LDPackageConsts (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDPackageConsts

+
+
java.lang.Object +
com.launchdarkly.sdk.android.LDPackageConsts
+
+
+
+
public class LDPackageConsts +extends Object
+
Constants related to the SDK package
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      SDK_NAME

      +
      public static final String SDK_NAME
      +
      Name of the SDK
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      SDK_PLATFORM_NAME

      +
      public static final String SDK_PLATFORM_NAME
      +
      Name of the platform this SDK is primarily for
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      SDK_CLIENT_NAME

      +
      public static final String SDK_CLIENT_NAME
      +
      Name that will be used for identifying this SDK when using a network client. An example would be the + user agent in HTTP.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      DEFAULT_LOGGER_NAME

      +
      public static final String DEFAULT_LOGGER_NAME
      +
      Name the logger will use to identify this SDK.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LDPackageConsts

      +
      public LDPackageConsts()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/LDStatusListener.html b/com/launchdarkly/sdk/android/LDStatusListener.html new file mode 100644 index 00000000..2528eb92 --- /dev/null +++ b/com/launchdarkly/sdk/android/LDStatusListener.html @@ -0,0 +1,148 @@ + + + + +LDStatusListener (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface LDStatusListener

+
+
+
+
public interface LDStatusListener
+
Listener for various SDK state changes.
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Invoked when the connection mode changes
    +
    +
    void
    + +
    +
    Invoked when an internal issue results in a failure to connect to LaunchDarkly
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      onConnectionModeChanged

      +
      void onConnectionModeChanged(ConnectionInformation connectionInformation)
      +
      Invoked when the connection mode changes
      +
      +
      Parameters:
      +
      connectionInformation - the connection information that gives details about the connection
      +
      +
      +
    • +
    • +
      +

      onInternalFailure

      +
      void onInternalFailure(LDFailure ldFailure)
      +
      Invoked when an internal issue results in a failure to connect to LaunchDarkly
      +
      +
      Parameters:
      +
      ldFailure - the failure
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/LDTimberLogging.Adapter.html b/com/launchdarkly/sdk/android/LDTimberLogging.Adapter.html new file mode 100644 index 00000000..e493277f --- /dev/null +++ b/com/launchdarkly/sdk/android/LDTimberLogging.Adapter.html @@ -0,0 +1,190 @@ + + + + +LDTimberLogging.Adapter (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDTimberLogging.Adapter

+
+
java.lang.Object +
com.launchdarkly.sdk.android.LDTimberLogging.Adapter
+
+
+
+
All Implemented Interfaces:
+
LDLogAdapter, LDLogAdapter.IsConfiguredExternally
+
+
+
Enclosing class:
+
LDTimberLogging
+
+
+
public static final class LDTimberLogging.Adapter +extends Object +implements LDLogAdapter, LDLogAdapter.IsConfiguredExternally
+
A Timber implementation of the LDLogAdapter interface.
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      autoPlantDebugTree

      +
      public LDTimberLogging.Adapter autoPlantDebugTree(boolean autoPlantDebugTree)
      +
      Returns a modified logging adapter with the automatic debug tree behavior changed. +

      + By default, this property is true, meaning that the SDK will automatically call + Timber.plant(new Timber.DebugTree) at initialization time if and only if + BuildConfig.DEBUG is true. If you set it to false as shown below, then the + SDK will never create a DebugTree and the application is responsible for + doing so if desired. +

      
      +     LDConfig config = new LDConfig.Builder()
      +         .mobileKey("mobile-key")
      +         .logAdapter(LDTimberLogging.adapter().autoPlantDebugTree(false))
      +         .build();
      + 
      +

      + In a future version, this automatic behavior may be removed, since it is arguably more + correct for library code to leave all Tree-planting to the application. The behavior is + retained in the current release for backward compatibility. +

      +
      +
      Parameters:
      +
      autoPlantDebugTree - true to retain the default automatic DebugTree + behavior, or false to disable it
      +
      Returns:
      +
      a modified LDTimberLogging.Adapter with the specified behavior
      +
      +
      +
    • +
    • +
      +

      newChannel

      +
      public LDLogAdapter.Channel newChannel(String name)
      +
      +
      Specified by:
      +
      newChannel in interface LDLogAdapter
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/LDTimberLogging.html b/com/launchdarkly/sdk/android/LDTimberLogging.html new file mode 100644 index 00000000..44f4845e --- /dev/null +++ b/com/launchdarkly/sdk/android/LDTimberLogging.html @@ -0,0 +1,193 @@ + + + + +LDTimberLogging (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDTimberLogging

+
+
java.lang.Object +
com.launchdarkly.sdk.android.LDTimberLogging
+
+
+
+
public abstract class LDTimberLogging +extends Object
+
Allows LaunchDarkly log output to be forwarded to Timber. +

+ Currently this is the default logging implementation; in the future, we may change the default to + LDAndroidLogging. +

+ When this logging implementation is active, the SDK will automatically call + Timber.plant(new Timber.DebugTree) at initialization time if and only if + BuildConfig.DEBUG is true. This behavior is for consistency with the default behavior of + earlier SDK versions and may be removed in the future. It can be changed with + LDTimberLogging.Adapter.autoPlantDebugTree(boolean).

+
+
Since:
+
3.2.0
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LDTimberLogging

      +
      public LDTimberLogging()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/LDUtil.html b/com/launchdarkly/sdk/android/LDUtil.html new file mode 100644 index 00000000..9d8b331c --- /dev/null +++ b/com/launchdarkly/sdk/android/LDUtil.html @@ -0,0 +1,187 @@ + + + + +LDUtil (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDUtil

+
+
java.lang.Object +
com.launchdarkly.sdk.android.LDUtil
+
+
+
+
public class LDUtil +extends Object
+
Various utility functions
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LDUtil

      +
      public LDUtil()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      validateStringValue

      +
      @Nullable +public static String validateStringValue(@NonNull + String s)
      +
      +
      Parameters:
      +
      s - the string to validate
      +
      Returns:
      +
      null if valid, otherwise string describing issue
      +
      +
      +
    • +
    • +
      +

      sanitizeSpaces

      +
      public static String sanitizeSpaces(String s)
      +
      Replaces spaces with hyphens. In the future, if this function is made more generic, + understand that customer data may already exist and changing this sanitization may + have adverse consequences.
      +
      +
      Parameters:
      +
      s - the string to sanitize
      +
      Returns:
      +
      the sanitized string
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/LaunchDarklyException.html b/com/launchdarkly/sdk/android/LaunchDarklyException.html new file mode 100644 index 00000000..ead47cc5 --- /dev/null +++ b/com/launchdarkly/sdk/android/LaunchDarklyException.html @@ -0,0 +1,155 @@ + + + + +LaunchDarklyException (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LaunchDarklyException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
com.launchdarkly.sdk.android.LaunchDarklyException
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
Direct Known Subclasses:
+
LDFailure
+
+
+
public class LaunchDarklyException +extends Exception
+
Exception class that can be thrown by LaunchDarkly client methods.
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LaunchDarklyException

      +
      public LaunchDarklyException(String message)
      +
      +
      Parameters:
      +
      message - for the exception
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/NoOpContextModifier.html b/com/launchdarkly/sdk/android/NoOpContextModifier.html new file mode 100644 index 00000000..8a50975e --- /dev/null +++ b/com/launchdarkly/sdk/android/NoOpContextModifier.html @@ -0,0 +1,177 @@ + + + + +NoOpContextModifier (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class NoOpContextModifier

+
+
java.lang.Object +
com.launchdarkly.sdk.android.NoOpContextModifier
+
+
+
+
All Implemented Interfaces:
+
IContextModifier
+
+
+
public class NoOpContextModifier +extends Object +implements IContextModifier
+
Context modifier that does nothing to the context.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      NoOpContextModifier

      +
      public NoOpContextModifier()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      modifyContext

      +
      public LDContext modifyContext(LDContext context)
      +
      Description copied from interface: IContextModifier
      +
      Modifies the provided context and returns a resulting context. May result in no changes at + the discretion of the implementation.
      +
      +
      Specified by:
      +
      modifyContext in interface IContextModifier
      +
      Parameters:
      +
      context - to be modified
      +
      Returns:
      +
      another context that is the result of modification
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/env/EnvironmentReporterBuilder.html b/com/launchdarkly/sdk/android/env/EnvironmentReporterBuilder.html new file mode 100644 index 00000000..e0d0cc53 --- /dev/null +++ b/com/launchdarkly/sdk/android/env/EnvironmentReporterBuilder.html @@ -0,0 +1,197 @@ + + + + +EnvironmentReporterBuilder (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class EnvironmentReporterBuilder

+
+
java.lang.Object +
com.launchdarkly.sdk.android.env.EnvironmentReporterBuilder
+
+
+
+
public class EnvironmentReporterBuilder +extends Object
+
Builder for making an IEnvironmentReporter with various options.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      EnvironmentReporterBuilder

      +
      public EnvironmentReporterBuilder()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setApplicationInfo

      +
      public void setApplicationInfo(ApplicationInfo applicationInfo)
      +
      Sets the application info that this environment reporter will report when asked in the future, + overriding the automatically sourced ApplicationInfo
      +
      +
      Parameters:
      +
      applicationInfo - to report.
      +
      +
      +
    • +
    • +
      +

      enableCollectionFromPlatform

      +
      public void enableCollectionFromPlatform(android.app.Application application)
      +
      Enables automatically collecting attributes from the platform.
      +
      +
      Parameters:
      +
      application - reference for platform calls
      +
      +
      +
    • +
    • +
      +

      build

      +
      public IEnvironmentReporter build()
      +
      +
      Returns:
      +
      the IEnvironmentReporter
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/env/IEnvironmentReporter.html b/com/launchdarkly/sdk/android/env/IEnvironmentReporter.html new file mode 100644 index 00000000..c27f05c6 --- /dev/null +++ b/com/launchdarkly/sdk/android/env/IEnvironmentReporter.html @@ -0,0 +1,215 @@ + + + + +IEnvironmentReporter (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IEnvironmentReporter

+
+
+
+
public interface IEnvironmentReporter
+
Reports information about the software/hardware environment that the SDK is + executing within.
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getApplicationInfo

      +
      @NonNull +ApplicationInfo getApplicationInfo()
      +
      +
      Returns:
      +
      the ApplicationInfo for the application environment.
      +
      +
      +
    • +
    • +
      +

      getManufacturer

      +
      @NonNull +String getManufacturer()
      +
      +
      Returns:
      +
      the manufacturer of the device the application is running in
      +
      +
      +
    • +
    • +
      +

      getModel

      +
      @NonNull +String getModel()
      +
      +
      Returns:
      +
      the model of the device the application is running in
      +
      +
      +
    • +
    • +
      +

      getLocale

      +
      @NonNull +String getLocale()
      +
      +
      Returns:
      +
      a BCP47 language tag representing the locale
      +
      +
      +
    • +
    • +
      +

      getOSFamily

      +
      @NonNull +String getOSFamily()
      +
      +
      Returns:
      +
      the OS Family that this application is running in
      +
      +
      +
    • +
    • +
      +

      getOSName

      +
      @NonNull +String getOSName()
      +
      +
      Returns:
      +
      the name of the OS that this application is running in
      +
      +
      +
    • +
    • +
      +

      getOSVersion

      +
      @NonNull +String getOSVersion()
      +
      +
      Returns:
      +
      the version of the OS that this application is running in
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/env/package-summary.html b/com/launchdarkly/sdk/android/env/package-summary.html new file mode 100644 index 00000000..fe3868ec --- /dev/null +++ b/com/launchdarkly/sdk/android/env/package-summary.html @@ -0,0 +1,123 @@ + + + + +com.launchdarkly.sdk.android.env (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.launchdarkly.sdk.android.env

+
+
+
package com.launchdarkly.sdk.android.env
+
+ +
+
+
+
+ + diff --git a/com/launchdarkly/sdk/android/env/package-tree.html b/com/launchdarkly/sdk/android/env/package-tree.html new file mode 100644 index 00000000..8b3f9b7d --- /dev/null +++ b/com/launchdarkly/sdk/android/env/package-tree.html @@ -0,0 +1,77 @@ + + + + +com.launchdarkly.sdk.android.env Class Hierarchy (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.launchdarkly.sdk.android.env

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ + diff --git a/com/launchdarkly/sdk/android/integrations/ApplicationInfoBuilder.html b/com/launchdarkly/sdk/android/integrations/ApplicationInfoBuilder.html new file mode 100644 index 00000000..31d3d2ed --- /dev/null +++ b/com/launchdarkly/sdk/android/integrations/ApplicationInfoBuilder.html @@ -0,0 +1,286 @@ + + + + +ApplicationInfoBuilder (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ApplicationInfoBuilder

+
+
java.lang.Object +
com.launchdarkly.sdk.android.integrations.ApplicationInfoBuilder
+
+
+
+
public final class ApplicationInfoBuilder +extends Object
+
Contains methods for configuring the SDK's application metadata. +

+ Application metadata may be used in LaunchDarkly analytics or other product features, but does not affect feature flag evaluations. +

+ If you want to set non-default values for any of these fields, create a builder with + Components.applicationInfo(), change its properties with the methods of this class, + and pass it to LDConfig.Builder.applicationInfo(ApplicationInfoBuilder): +


+     LDConfig config = new LDConfig.Builder()
+         .applicationInfo(
+             Components.applicationInfo()
+                 .applicationId("authentication-service")
+                 .applicationVersion("1.0.0")
+         )
+         .build();
+ 
+
+
Since:
+
4.1.0
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ApplicationInfoBuilder

      +
      public ApplicationInfoBuilder()
      +
      Create an empty ApplicationInfoBuilder.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      applicationId

      +
      public ApplicationInfoBuilder applicationId(String applicationId)
      +
      Sets a unique identifier representing the application where the LaunchDarkly SDK is running. +

      + This can be specified as any string value as long as it only uses the following characters: ASCII + letters, ASCII digits, period, hyphen, underscore. A string containing any other characters will be + ignored.

      +
      +
      Parameters:
      +
      applicationId - the application identifier
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      applicationName

      +
      public ApplicationInfoBuilder applicationName(String applicationName)
      +
      Sets a human friendly name for the application in which the LaunchDarkly SDK is running. +

      + This can be specified as any string value as long as it only uses the following characters: ASCII + letters, ASCII digits, period, hyphen, underscore. A string containing any other characters will be + ignored.

      +
      +
      Parameters:
      +
      applicationName - the human friendly name
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      applicationVersion

      +
      public ApplicationInfoBuilder applicationVersion(String version)
      +
      Sets a unique identifier representing the version of the application where the LaunchDarkly SDK + is running. +

      + This can be specified as any string value as long as it only uses the following characters: ASCII + letters, ASCII digits, period, hyphen, underscore. A string containing any other characters will be + ignored.

      +
      +
      Parameters:
      +
      version - the application version
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      applicationVersionName

      +
      public ApplicationInfoBuilder applicationVersionName(String versionName)
      +
      Sets a human friendly name for the version of the application in which the LaunchDarkly SDK is running. +

      + This can be specified as any string value as long as it only uses the following characters: ASCII + letters, ASCII digits, period, hyphen, underscore. A string containing any other characters will be + ignored.

      +
      +
      Parameters:
      +
      versionName - the human friendly version name
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      createApplicationInfo

      +
      public ApplicationInfo createApplicationInfo()
      +
      Called internally by the SDK to create the configuration object.
      +
      +
      Returns:
      +
      the configuration object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/integrations/EventProcessorBuilder.html b/com/launchdarkly/sdk/android/integrations/EventProcessorBuilder.html new file mode 100644 index 00000000..8a4b38f6 --- /dev/null +++ b/com/launchdarkly/sdk/android/integrations/EventProcessorBuilder.html @@ -0,0 +1,459 @@ + + + + +EventProcessorBuilder (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class EventProcessorBuilder

+
+
java.lang.Object +
com.launchdarkly.sdk.android.integrations.EventProcessorBuilder
+
+
+
+
All Implemented Interfaces:
+
ComponentConfigurer<EventProcessor>
+
+
+
public abstract class EventProcessorBuilder +extends Object +implements ComponentConfigurer<EventProcessor>
+
Contains methods for configuring delivery of analytics events. +

+ The SDK normally buffers analytics events and sends them to LaunchDarkly at intervals. If you want + to customize this behavior, create a builder with Components.sendEvents(), change its + properties with the methods of this class, and pass it to LDConfig.Builder.events(ComponentConfigurer): +


+     LDConfig config = new LDConfig.Builder()
+         .events(Components.sendEvents().capacity(500).flushIntervalMillis(2000))
+         .build();
+ 
+

+ Note that this class is abstract; the actual implementation is created by calling Components.sendEvents().

+
+
Since:
+
3.3.0
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      DEFAULT_CAPACITY

      +
      public static final int DEFAULT_CAPACITY
      +
      The default value for capacity(int).
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      DEFAULT_DIAGNOSTIC_RECORDING_INTERVAL_MILLIS

      +
      public static final int DEFAULT_DIAGNOSTIC_RECORDING_INTERVAL_MILLIS
      +
      The default value for diagnosticRecordingIntervalMillis(int): 15 minutes.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      DEFAULT_FLUSH_INTERVAL_MILLIS

      +
      public static final int DEFAULT_FLUSH_INTERVAL_MILLIS
      +
      The default value for flushIntervalMillis(int): 30 seconds.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      MIN_DIAGNOSTIC_RECORDING_INTERVAL_MILLIS

      +
      public static final int MIN_DIAGNOSTIC_RECORDING_INTERVAL_MILLIS
      +
      The minimum value for diagnosticRecordingIntervalMillis(int): 5 minutes.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      allAttributesPrivate

      +
      protected boolean allAttributesPrivate
      +
      All attributes should be treated as private
      +
      +
    • +
    • +
      +

      capacity

      +
      protected int capacity
      +
      The capacity of the event buffer
      +
      +
    • +
    • +
      +

      diagnosticRecordingIntervalMillis

      +
      protected int diagnosticRecordingIntervalMillis
      +
      The diagnostic interval in millis
      +
      +
    • +
    • +
      +

      flushIntervalMillis

      +
      protected int flushIntervalMillis
      +
      The flush interval in millis
      +
      +
    • +
    • +
      +

      privateAttributes

      +
      protected Set<AttributeRef> privateAttributes
      +
      Set of attributes by reference that will be treated as private
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      EventProcessorBuilder

      +
      public EventProcessorBuilder()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      allAttributesPrivate

      +
      public EventProcessorBuilder allAttributesPrivate(boolean allAttributesPrivate)
      +
      Sets whether or not all optional context attributes should be hidden from LaunchDarkly. +

      + If this is true, all context attribute values (other than the key) will be private, not just + the attributes specified in privateAttributes(String...). By default, it is false.

      +
      +
      Parameters:
      +
      allAttributesPrivate - true if all context attributes should be private
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      capacity

      +
      public EventProcessorBuilder capacity(int capacity)
      +
      Set the capacity of the events buffer. +

      + The client buffers up to this many events in memory before flushing. If the capacity is exceeded before + the buffer is flushed (see flushIntervalMillis(int), events will be discarded. Increasing the + capacity means that events are less likely to be discarded, at the cost of consuming more memory. +

      + The default value is DEFAULT_CAPACITY.

      +
      +
      Parameters:
      +
      capacity - the capacity of the event buffer
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      diagnosticRecordingIntervalMillis

      +
      public EventProcessorBuilder diagnosticRecordingIntervalMillis(int diagnosticRecordingIntervalMillis)
      +
      Sets the interval at which periodic diagnostic data is sent. +

      + The default value is DEFAULT_DIAGNOSTIC_RECORDING_INTERVAL_MILLIS; the minimum value is + MIN_DIAGNOSTIC_RECORDING_INTERVAL_MILLIS. This property is ignored if + LDConfig.Builder.diagnosticOptOut(boolean) is set to true.

      +
      +
      Parameters:
      +
      diagnosticRecordingIntervalMillis - the diagnostics interval in milliseconds
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      flushIntervalMillis

      +
      public EventProcessorBuilder flushIntervalMillis(int flushIntervalMillis)
      +
      Sets the interval between flushes of the event buffer. +

      + Decreasing the flush interval means that the event buffer is less likely to reach capacity. +

      + The default value is DEFAULT_FLUSH_INTERVAL_MILLIS.

      +
      +
      Parameters:
      +
      flushIntervalMillis - the flush interval in milliseconds
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      privateAttributes

      +
      public EventProcessorBuilder privateAttributes(String... attributeNames)
      +
      Marks a set of attribute names or subproperties as private. +

      + Any contexts sent to LaunchDarkly with this configuration active will have attributes with these + names removed. This is in addition to any attributes that were marked as private for an + individual context with ContextBuilder methods. +

      + This method replaces any previous private attributes that were set on the same builder, rather + than adding to them.

      +
      +
      Parameters:
      +
      attributeNames - a set of attribute names that will be removed from context data set to LaunchDarkly
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/integrations/HttpConfigurationBuilder.html b/com/launchdarkly/sdk/android/integrations/HttpConfigurationBuilder.html new file mode 100644 index 00000000..4f72c930 --- /dev/null +++ b/com/launchdarkly/sdk/android/integrations/HttpConfigurationBuilder.html @@ -0,0 +1,365 @@ + + + + +HttpConfigurationBuilder (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class HttpConfigurationBuilder

+
+
java.lang.Object +
com.launchdarkly.sdk.android.integrations.HttpConfigurationBuilder
+
+
+
+
All Implemented Interfaces:
+
ComponentConfigurer<HttpConfiguration>
+
+
+
public abstract class HttpConfigurationBuilder +extends Object +implements ComponentConfigurer<HttpConfiguration>
+
Contains methods for configuring the SDK's networking behavior. +

+ If you want to set non-default values for any of these properties, create a builder with + Components.httpConfiguration(), change its properties with the methods of this class, + and pass it to LDConfig.Builder.http(ComponentConfigurer): +


+     LDConfig config = new LDConfig.Builder()
+         .http(
+           Components.httpConfiguration()
+             .connectTimeoutMillis(3000)
+             .proxyHostAndPort("my-proxy", 8080)
+          )
+         .build();
+ 
+

+ Note that this class is abstract; the actual implementation is created by calling Components.httpConfiguration().

+
+
Since:
+
3.3.0
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      DEFAULT_CONNECT_TIMEOUT_MILLIS

      +
      public static final int DEFAULT_CONNECT_TIMEOUT_MILLIS
      +
      The default value for connectTimeoutMillis(int): ten seconds.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      connectTimeoutMillis

      +
      protected int connectTimeoutMillis
      +
      Connection timeout in millis
      +
      +
    • +
    • +
      +

      headerTransform

      +
      protected LDHeaderUpdater headerTransform
      +
      LDHeaderUpdater that will be applied to requests
      +
      +
    • +
    • +
      +

      useReport

      +
      protected boolean useReport
      +
      Whether or not Http REPORT method will be used
      +
      +
    • +
    • +
      +

      wrapperName

      +
      protected String wrapperName
      +
      Name of the wrapping library
      +
      +
    • +
    • +
      +

      wrapperVersion

      +
      protected String wrapperVersion
      +
      Version of the wrapping library
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      HttpConfigurationBuilder

      +
      public HttpConfigurationBuilder()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      connectTimeoutMillis

      +
      public HttpConfigurationBuilder connectTimeoutMillis(int connectTimeoutMillis)
      +
      Sets the connection timeout. This is the time allowed for the SDK to make a socket connection to + any of the LaunchDarkly services. +

      + The default is DEFAULT_CONNECT_TIMEOUT_MILLIS.

      +
      +
      Parameters:
      +
      connectTimeoutMillis - the connection timeout in milliseconds
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      headerTransform

      +
      public HttpConfigurationBuilder headerTransform(LDHeaderUpdater headerTransform)
      +
      Provides a callback for dynamically modifying headers used on requests to LaunchDarkly services.
      +
      +
      Parameters:
      +
      headerTransform - the transformation to apply to requests
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      useReport

      +
      public HttpConfigurationBuilder useReport(boolean useReport)
      +
      Sets whether to use the HTTP REPORT method for feature flag requests. +

      + By default, polling and streaming connections are made with the GET method, with the context + data encoded into the request URI. Using REPORT allows the context data to be sent in the + request body instead, which is somewhat more secure and efficient. +

      + However, the REPORT method is not always supported by operating systems or network gateways. + Therefore it is disabled in the SDK by default. You can enable it if you know your code will + not be running in an environment that disallows REPORT.

      +
      +
      Parameters:
      +
      useReport - true to enable the REPORT method
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      wrapper

      +
      public HttpConfigurationBuilder wrapper(String wrapperName, + String wrapperVersion)
      +
      For use by wrapper libraries to set an identifying name for the wrapper being used. This will be included in a + header during requests to the LaunchDarkly servers to allow recording metrics on the usage of + these wrapper libraries.
      +
      +
      Parameters:
      +
      wrapperName - an identifying name for the wrapper library
      +
      wrapperVersion - version string for the wrapper library
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/integrations/PollingDataSourceBuilder.html b/com/launchdarkly/sdk/android/integrations/PollingDataSourceBuilder.html new file mode 100644 index 00000000..d5df5d70 --- /dev/null +++ b/com/launchdarkly/sdk/android/integrations/PollingDataSourceBuilder.html @@ -0,0 +1,302 @@ + + + + +PollingDataSourceBuilder (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PollingDataSourceBuilder

+
+
java.lang.Object +
com.launchdarkly.sdk.android.integrations.PollingDataSourceBuilder
+
+
+
+
All Implemented Interfaces:
+
ComponentConfigurer<DataSource>
+
+
+
public abstract class PollingDataSourceBuilder +extends Object +implements ComponentConfigurer<DataSource>
+
Contains methods for configuring the polling data source. +

+ Polling is not the default behavior; by default, the SDK uses a streaming connection to receive + feature flag data from LaunchDarkly whenever the application is in the foreground. In polling + mode, the SDK instead makes a new HTTP request to LaunchDarkly at regular intervals. HTTP + caching allows it to avoid redundantly downloading data if there have been no changes, but + polling is still less efficient than streaming and should only be used on the advice of + LaunchDarkly support. +

+ To use polling mode, create a builder with Components.pollingDataSource(), set any custom + options if desired with the methods of this class, and pass it to + LDConfig.Builder.dataSource(ComponentConfigurer): +


+     LDConfig config = new LDConfig.Builder()
+         .dataSource(Components.pollingDataSource().pollIntervalMillis(30000))
+         .build();
+ 
+

+ Note that this class is abstract; the actual implementation is created by calling + Components.pollingDataSource().

+
+
Since:
+
3.3.0
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      DEFAULT_POLL_INTERVAL_MILLIS

      +
      public static final int DEFAULT_POLL_INTERVAL_MILLIS
      +
      The default value for pollIntervalMillis(int): 5 minutes.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      backgroundPollIntervalMillis

      +
      protected int backgroundPollIntervalMillis
      +
      The background polling interval in millis
      +
      +
    • +
    • +
      +

      pollIntervalMillis

      +
      protected int pollIntervalMillis
      +
      The foreground polling interval in millis
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PollingDataSourceBuilder

      +
      public PollingDataSourceBuilder()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/integrations/ServiceEndpointsBuilder.html b/com/launchdarkly/sdk/android/integrations/ServiceEndpointsBuilder.html new file mode 100644 index 00000000..0902551f --- /dev/null +++ b/com/launchdarkly/sdk/android/integrations/ServiceEndpointsBuilder.html @@ -0,0 +1,468 @@ + + + + +ServiceEndpointsBuilder (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ServiceEndpointsBuilder

+
+
java.lang.Object +
com.launchdarkly.sdk.android.integrations.ServiceEndpointsBuilder
+
+
+
+
public abstract class ServiceEndpointsBuilder +extends Object
+
Contains methods for configuring the SDK's service URIs. +

+ If you want to set non-default values for any of these properties, create a builder with Components.serviceEndpoints(), + change its properties with the methods of this class, and pass it to LDConfig.Builder.serviceEndpoints(ServiceEndpointsBuilder). +

+ The default behavior, if you do not change any of these properties, is that the SDK will connect to the standard endpoints + in the LaunchDarkly production service. There are several use cases for changing these properties: +

    +
  • You are using the LaunchDarkly Relay Proxy. + In this case, set relayProxy(URI). +
  • You are connecting to a private instance of LaunchDarkly, rather than the standard production services. + In this case, there will be custom base URIs for each service, so you must set streaming(URI), + polling(URI), and events(URI). +
  • You are connecting to a test fixture that simulates the service endpoints. In this case, you may set the + base URIs to whatever you want, although the SDK will still set the URI paths to the expected paths for + LaunchDarkly services. +
+

+ Each of the setter methods can be called with either a URI or an equivalent string. + Passing a string that is not a valid URI will cause an immediate IllegalArgumentException. +

+ If you are using a private instance and you set some of the base URIs, but not all of them, the SDK + will log an error and may not work properly. The only exception is if you have explicitly disabled + the SDK's use of one of the services: for instance, if you have disabled analytics events, you do + not have to set events(URI). + +


+     // Example of specifying a Relay Proxy instance
+     LDConfig config = new LDConfig.Builder()
+         .serviceEndpoints(
+             Components.serviceEndpoints()
+                 .relayProxy("http://my-relay-hostname:80")
+         )
+         .build();
+
+     // Example of specifying a private LaunchDarkly instance
+     LDConfig config = new LDConfig.Builder()
+         .serviceEndpoints(
+             Components.serviceEndpoints()
+                 .streaming("https://stream.mycompany.launchdarkly.com")
+                 .polling("https://app.mycompany.launchdarkly.com")
+                 .events("https://events.mycompany.launchdarkly.com"))
+         )
+         .build();
+ 
+
+
Since:
+
4.0.0
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      streamingBaseUri

      +
      protected URI streamingBaseUri
      +
      Base URI for streaming requests
      +
      +
    • +
    • +
      +

      pollingBaseUri

      +
      protected URI pollingBaseUri
      +
      Base URI for polling requests
      +
      +
    • +
    • +
      +

      eventsBaseUri

      +
      protected URI eventsBaseUri
      +
      Base URI for events
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ServiceEndpointsBuilder

      +
      public ServiceEndpointsBuilder()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      events

      +
      public ServiceEndpointsBuilder events(URI eventsBaseUri)
      +
      Sets a custom base URI for the events service. +

      + You should only call this method if you are using a private instance or test fixture + (see ServiceEndpointsBuilder). If you are using the LaunchDarkly Relay Proxy, + call relayProxy(URI) instead. +

      
      +     LDConfig config = new LDConfig.Builder()
      +       .serviceEndpoints(
      +           Components.serviceEndpoints()
      +               .streaming("https://stream.mycompany.launchdarkly.com")
      +               .polling("https://app.mycompany.launchdarkly.com")
      +               .events("https://events.mycompany.launchdarkly.com")
      +       )
      +       .build();
      + 
      +
      +
      Parameters:
      +
      eventsBaseUri - the base URI of the events service; null to use the default
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      events

      +
      public ServiceEndpointsBuilder events(String eventsBaseUri)
      +
      Equivalent to events(URI), specifying the URI as a string.
      +
      +
      Parameters:
      +
      eventsBaseUri - the base URI of the events service; null to use the default
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      polling

      +
      public ServiceEndpointsBuilder polling(URI pollingBaseUri)
      +
      Sets a custom base URI for the polling service. +

      + You should only call this method if you are using a private instance or test fixture + (see ServiceEndpointsBuilder). If you are using the LaunchDarkly Relay Proxy, + call relayProxy(URI) instead. +

      
      +     LDConfig config = new LDConfig.Builder()
      +       .serviceEndpoints(
      +           Components.serviceEndpoints()
      +               .streaming("https://stream.mycompany.launchdarkly.com")
      +               .polling("https://app.mycompany.launchdarkly.com")
      +               .events("https://events.mycompany.launchdarkly.com")
      +       )
      +       .build();
      + 
      +
      +
      Parameters:
      +
      pollingBaseUri - the base URI of the polling service; null to use the default
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      polling

      +
      public ServiceEndpointsBuilder polling(String pollingBaseUri)
      +
      Equivalent to polling(URI), specifying the URI as a string.
      +
      +
      Parameters:
      +
      pollingBaseUri - the base URI of the events service; null to use the default
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      relayProxy

      +
      public ServiceEndpointsBuilder relayProxy(URI relayProxyBaseUri)
      +
      Specifies a single base URI for a Relay Proxy instance. +

      + When using the LaunchDarkly Relay Proxy, the SDK only needs to know the single base URI + of the Relay Proxy, which will provide all the proxied service endpoints. +

      
      +     LDConfig config = new LDConfig.Builder()
      +       .serviceEndpoints(
      +           Components.serviceEndpoints()
      +               .relayProxy("http://my-relay-hostname:8080")
      +       )
      +       .build();
      + 
      +
      +
      Parameters:
      +
      relayProxyBaseUri - the Relay Proxy base URI, or null to reset to default endpoints
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      relayProxy

      +
      public ServiceEndpointsBuilder relayProxy(String relayProxyBaseUri)
      +
      Equivalent to relayProxy(URI), specifying the URI as a string.
      +
      +
      Parameters:
      +
      relayProxyBaseUri - the Relay Proxy base URI, or null to reset to default endpoints
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      streaming

      +
      public ServiceEndpointsBuilder streaming(URI streamingBaseUri)
      +
      Sets a custom base URI for the streaming service. +

      + You should only call this method if you are using a private instance or test fixture + (see ServiceEndpointsBuilder). If you are using the LaunchDarkly Relay Proxy, + call relayProxy(URI) instead. +

      
      +     LDConfig config = new LDConfig.Builder()
      +       .serviceEndpoints(
      +           Components.serviceEndpoints()
      +               .streaming("https://stream.mycompany.launchdarkly.com")
      +               .polling("https://app.mycompany.launchdarkly.com")
      +               .events("https://events.mycompany.launchdarkly.com")
      +       )
      +       .build();
      + 
      +
      +
      Parameters:
      +
      streamingBaseUri - the base URI of the streaming service; null to use the default
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      streaming

      +
      public ServiceEndpointsBuilder streaming(String streamingBaseUri)
      +
      Equivalent to streaming(URI), specifying the URI as a string.
      +
      +
      Parameters:
      +
      streamingBaseUri - the base URI of the events service; null to use the default
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      createServiceEndpoints

      +
      public abstract ServiceEndpoints createServiceEndpoints()
      +
      Called internally by the SDK to create a configuration instance. Applications do not need + to call this method.
      +
      +
      Returns:
      +
      the configuration object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/integrations/StreamingDataSourceBuilder.html b/com/launchdarkly/sdk/android/integrations/StreamingDataSourceBuilder.html new file mode 100644 index 00000000..fc140e5f --- /dev/null +++ b/com/launchdarkly/sdk/android/integrations/StreamingDataSourceBuilder.html @@ -0,0 +1,326 @@ + + + + +StreamingDataSourceBuilder (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class StreamingDataSourceBuilder

+
+
java.lang.Object +
com.launchdarkly.sdk.android.integrations.StreamingDataSourceBuilder
+
+
+
+
All Implemented Interfaces:
+
ComponentConfigurer<DataSource>
+
+
+
public abstract class StreamingDataSourceBuilder +extends Object +implements ComponentConfigurer<DataSource>
+
Contains methods for configuring the streaming data source. +

+ By default, the SDK uses a streaming connection to receive feature flag data from LaunchDarkly. If you want + to customize the behavior of the connection, create a builder with Components.streamingDataSource(), + change its properties with the methods of this class, and pass it to LDConfig.Builder.dataSource(ComponentConfigurer): +


+     LDConfig config = new LDConfig.Builder()
+         .dataSource(Components.streamingDataSource().initialReconnectDelayMillis(500))
+         .build();
+ 
+

+ Note that this class is abstract; the actual implementation is created by calling Components.streamingDataSource().

+
+
Since:
+
3.3.0
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      DEFAULT_INITIAL_RECONNECT_DELAY_MILLIS

      +
      public static final int DEFAULT_INITIAL_RECONNECT_DELAY_MILLIS
      +
      The default value for initialReconnectDelayMillis(int): 1000 milliseconds.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      backgroundPollIntervalMillis

      +
      protected int backgroundPollIntervalMillis
      +
      Background polling interval in millis
      +
      +
    • +
    • +
      +

      initialReconnectDelayMillis

      +
      protected int initialReconnectDelayMillis
      +
      The initial reconnection delay in millis
      +
      +
    • +
    • +
      +

      streamEvenInBackground

      +
      protected boolean streamEvenInBackground
      +
      True if the data source will attempt to continue streaming when in the background
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      StreamingDataSourceBuilder

      +
      public StreamingDataSourceBuilder()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      backgroundPollIntervalMillis

      +
      public StreamingDataSourceBuilder backgroundPollIntervalMillis(int backgroundPollIntervalMillis)
      +
      Sets the interval between feature flag updates when the application is running in the background. +

      + Even when configured to use streaming, the SDK will switch to polling when in the background + (unless LDConfig.Builder.disableBackgroundUpdating(boolean) is set). This property determines + how often polling will happen. +

      + The default value is LDConfig.DEFAULT_BACKGROUND_POLL_INTERVAL_MILLIS; the minimum + is LDConfig.MIN_BACKGROUND_POLL_INTERVAL_MILLIS.

      +
      +
      Parameters:
      +
      backgroundPollIntervalMillis - the reconnect time base value in milliseconds
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      initialReconnectDelayMillis

      +
      public StreamingDataSourceBuilder initialReconnectDelayMillis(int initialReconnectDelayMillis)
      +
      Sets the initial reconnect delay for the streaming connection. +

      + The streaming service uses a backoff algorithm (with jitter) every time the connection needs + to be reestablished. The delay for the first reconnection will start near this value, and then + increase exponentially for any subsequent connection failures. +

      + The default value is DEFAULT_INITIAL_RECONNECT_DELAY_MILLIS.

      +
      +
      Parameters:
      +
      initialReconnectDelayMillis - the reconnect time base value in milliseconds
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      streamEvenInBackground

      +
      public StreamingDataSourceBuilder streamEvenInBackground(boolean streamEvenInBackground)
      +
      Sets whether streaming should be used even if the application is in the background. +

      + By default, this option is false, meaning that if the application is in the background then + the SDK will turn off the stream connection and use infrequent polling, until the application + is in the foreground again. +

      + If you set this option to true, the SDK will continue to use the stream connection + regardless of foreground/background state. Use this option with caution, since normally it is + preferable to limit network usage by backgrounded applications.

      +
      +
      Parameters:
      +
      streamEvenInBackground - true if streaming should be used even in the background
      +
      Returns:
      +
      the builder
      +
      Since:
      +
      4.1.0
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/integrations/TestData.FlagBuilder.VariationFunc.html b/com/launchdarkly/sdk/android/integrations/TestData.FlagBuilder.VariationFunc.html new file mode 100644 index 00000000..27efa6d7 --- /dev/null +++ b/com/launchdarkly/sdk/android/integrations/TestData.FlagBuilder.VariationFunc.html @@ -0,0 +1,143 @@ + + + + +TestData.FlagBuilder.VariationFunc (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface TestData.FlagBuilder.VariationFunc<T>

+
+
+
+
Type Parameters:
+
T - the return type
+
+
+
Enclosing class:
+
TestData.FlagBuilder
+
+
+
public static interface TestData.FlagBuilder.VariationFunc<T>
+ +
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    apply(LDContext context)
    +
    +
    Returns the result for the specified context, or null if undefined.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      T apply(LDContext context)
      +
      Returns the result for the specified context, or null if undefined.
      +
      +
      Parameters:
      +
      context - the evaluation context
      +
      Returns:
      +
      the result or null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/integrations/TestData.FlagBuilder.html b/com/launchdarkly/sdk/android/integrations/TestData.FlagBuilder.html new file mode 100644 index 00000000..7bf96c9f --- /dev/null +++ b/com/launchdarkly/sdk/android/integrations/TestData.FlagBuilder.html @@ -0,0 +1,557 @@ + + + + +TestData.FlagBuilder (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class TestData.FlagBuilder

+
+
java.lang.Object +
com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder
+
+
+
+
Enclosing class:
+
TestData
+
+
+
public static final class TestData.FlagBuilder +extends Object
+
A builder for feature flag configurations to be used with TestData.
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      booleanFlag

      +
      public TestData.FlagBuilder booleanFlag()
      +
      A shortcut for setting the flag to use the standard boolean configuration. +

      + This is the default for all new flags created with TestData.flag(String). The flag + will have two variations, true and false (in that order); it will return + false whenever targeting is off, and true when targeting is on if no other + settings specify otherwise.

      +
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      variation

      +
      public TestData.FlagBuilder variation(boolean variation)
      +
      Sets the flag to return the specified boolean variation for all contexts by default. +

      + The flag's variations are set to true and false if they are not already + (equivalent to calling booleanFlag()).

      +
      +
      Parameters:
      +
      variation - the desired true/false variation to be returned by default
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      variation

      +
      public TestData.FlagBuilder variation(int variationIndex)
      +
      Sets the flag to return the specified variation for all contexts by default. +

      + The variation is specified by number, out of whatever variation values have already been + defined.

      +
      +
      Parameters:
      +
      variationIndex - the desired variation: 0 for the first, 1 for the second, etc.
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      variation

      +
      public TestData.FlagBuilder variation(LDValue value)
      +
      Sets the flag to return the specified variation for all contexts by default. +

      + The value may be of any JSON type, as defined by LDValue. If the value matches + one of the values previously specified with variations(LDValue...), then the + variation index is set to the index of that value. Otherwise, the value is added to the + variation list.

      +
      +
      Parameters:
      +
      value - the desired value to be returned for all contexts
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      variationForUser

      +
      public TestData.FlagBuilder variationForUser(String userKey, + boolean variation)
      +
      Sets the flag to return the specified boolean variation for a specific user key, + overriding any other defaults. +

      + The flag's variations are set to true and false if they are not already + (equivalent to calling booleanFlag()).

      +
      +
      Parameters:
      +
      userKey - a user key
      +
      variation - the desired true/false variation to be returned for this user
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      variationForUser

      +
      public TestData.FlagBuilder variationForUser(String userKey, + int variationIndex)
      +
      Sets the flag to return the specified variation for a specific user key, overriding any + other defaults.
      +
      +
      Parameters:
      +
      userKey - a user key
      +
      variationIndex - the desired variation: 0 for the first, 1 for the second, etc.
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      variationForUser

      +
      public TestData.FlagBuilder variationForUser(String userKey, + LDValue value)
      +
      Sets the flag to return the specified variation for a specific user key, overriding any + other defaults. +

      + The value may be of any JSON type, as defined by LDValue. If the value matches + one of the values previously specified with variations(LDValue...), then the + variation index is set to the index of that value. Otherwise, the value is added to the + variation list.

      +
      +
      Parameters:
      +
      userKey - a user key
      +
      value - the desired variation value
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      variationForKey

      +
      public TestData.FlagBuilder variationForKey(ContextKind contextKind, + String contextKey, + boolean variation)
      +
      Sets the flag to return the specified boolean variation for a specific context by kind + and key, overriding any other defaults. +

      + The flag's variations are set to true and false if they are not already + (equivalent to calling booleanFlag()).

      +
      +
      Parameters:
      +
      contextKind - the context kind (if null, ContextKind.DEFAULT is used)
      +
      contextKey - the context key
      +
      variation - the desired true/false variation to be returned for this context
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      variationForKey

      +
      public TestData.FlagBuilder variationForKey(ContextKind contextKind, + String contextKey, + int variationIndex)
      +
      Sets the flag to return the specified variation for a specific context by kind and key, + overriding any other defaults.
      +
      +
      Parameters:
      +
      contextKind - the context kind (if null, ContextKind.DEFAULT is used)
      +
      contextKey - the context key
      +
      variationIndex - the desired variation: 0 for the first, 1 for the second, etc.
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      variationForKey

      +
      public TestData.FlagBuilder variationForKey(ContextKind contextKind, + String contextKey, + LDValue value)
      +
      Sets the flag to return the specified variation for a specific context by kind and key, + overriding any other defaults. +

      + The value may be of any JSON type, as defined by LDValue. If the value matches + one of the values previously specified with variations(LDValue...), then the + variation index is set to the index of that value. Otherwise, the value is added to the + variation list.

      +
      +
      Parameters:
      +
      contextKind - the context kind (if null, ContextKind.DEFAULT is used)
      +
      contextKey - the context key
      +
      value - the desired variation value
      +
      Returns:
      +
      the builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      variationFunc

      +
      public TestData.FlagBuilder variationFunc(TestData.FlagBuilder.VariationFunc<Boolean> variationFunc)
      +
      Sets the flag to use a function to determine whether to return true or false for any + given context. +

      + This function takes an evaluation context and returns true, false, or + null. A null result means that the flag will fall back to its default + variation. +

      + The flag's variations are set to true and false if they are not already + (equivalent to calling booleanFlag()). +

      + This function is called only if the context was not specifically targeted with + variationForUser(String, boolean) or variationForKey(ContextKind, String, boolean).

      +
      +
      Parameters:
      +
      variationFunc - a function to determine the variation
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      variationValueFunc

      +
      public TestData.FlagBuilder variationValueFunc(TestData.FlagBuilder.VariationFunc<LDValue> variationFunc)
      +
      Sets the flag to use a function to determine the variation index to return for any given + context. +

      + This function takes an evaluation context and returns an LDValue. The value + must match one of the values already specified with variations(LDValue...); + otherwise, the function will have no effect. +

      + This function is called only if the context was not specifically targeted with a method + such as variationForUser(String, int) or variationForKey(ContextKind, String, int).

      +
      +
      Parameters:
      +
      variationFunc - a function to determine the variation
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      variationIndexFunc

      +
      public TestData.FlagBuilder variationIndexFunc(TestData.FlagBuilder.VariationFunc<Integer> variationFunc)
      +
      Sets the flag to use a function to determine the variation index to return for any given + context. +

      + This function takes an evaluation context and returns an integer variation index or + null. A null result means that the flag will fall back to its default + variation. +

      + This function is called only if the context was not specifically targeted with + variationForUser(String, int) or variationForKey(ContextKind, String, int).

      +
      +
      Parameters:
      +
      variationFunc - a function to determine the variation
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    • +
      +

      variations

      +
      public TestData.FlagBuilder variations(LDValue... values)
      +
      Changes the allowable variation values for the flag. +

      + The value may be of any JSON type, as defined by LDValue. For instance, a boolean flag + normally has LDValue.of(true), LDValue.of(false); a string-valued flag might have + LDValue.of("red"), LDValue.of("green"); etc.

      +
      +
      Parameters:
      +
      values - the desired variations
      +
      Returns:
      +
      the builder
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/integrations/TestData.html b/com/launchdarkly/sdk/android/integrations/TestData.html new file mode 100644 index 00000000..dec33e55 --- /dev/null +++ b/com/launchdarkly/sdk/android/integrations/TestData.html @@ -0,0 +1,279 @@ + + + + +TestData (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class TestData

+
+
java.lang.Object +
com.launchdarkly.sdk.android.integrations.TestData
+
+
+
+
All Implemented Interfaces:
+
ComponentConfigurer<DataSource>
+
+
+
public final class TestData +extends Object +implements ComponentConfigurer<DataSource>
+
A mechanism for providing dynamically updatable feature flag state in a simplified form to an SDK + client in test scenarios. +

+ This mechanism does not use any external resources. It provides only the data that the + application has put into it using the update(FlagBuilder) method. +

+ The example code below uses a simple boolean flag, but more complex configurations are possible using + the methods of the TestData.FlagBuilder that is returned by flag(String). + +


+     TestData td = TestData.dataSource();
+     td.update(testData.flag("flag-key-1").booleanFlag().variation(true));
+
+     LDConfig config = new LDConfig.Builder()
+         .mobileKey("my-mobile-key")
+         .dataSource(td)
+         .build();
+     LDClient client = new LDClient(sdkKey, config, initialContext, startWaitSeconds);
+
+     // flags can be updated at any time:
+     td.update(testData.flag("flag-key-2")
+         .variationForUser("some-user-key", false));
+ 
+
+
Since:
+
4.0.0
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      dataSource

      +
      public static TestData dataSource()
      +
      Creates a new instance of the test data source. +

      + See TestData for details.

      +
      +
      Returns:
      +
      a new configurable test data source
      +
      +
      +
    • +
    • +
      +

      flag

      +
      public TestData.FlagBuilder flag(String key)
      +
      Creates or copies a TestData.FlagBuilder for building a test flag configuration. +

      + If this flag key has already been defined in this TestData instance, then the builder + starts with the same configuration that was last provided for this flag. +

      + Otherwise, it starts with a new default configuration in which the flag has true and + false variations, and is true by default for all contexts. You can change + any of those properties, and provide more complex behavior, using the TestData.FlagBuilder\ + methods. +

      + Once you have set the desired configuration, pass the builder to update(FlagBuilder).

      +
      +
      Parameters:
      +
      key - the flag key
      +
      Returns:
      +
      a flag configuration builder
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      update

      +
      public TestData update(TestData.FlagBuilder flagBuilder)
      +
      Updates the test data with the specified flag configuration. +

      + This has the same effect as if a flag were added or modified on the LaunchDarkly dashboard. + It immediately propagates the flag change to any LDClient instance(s) that you have + already configured to use this TestData. If no LDClient has been started yet, + it simply adds this flag to the test data which will be provided to any LDClient that + you subsequently configure. +

      + Any subsequent changes to this TestData.FlagBuilder instance do not affect the test data, + unless you call update(FlagBuilder) again.

      +
      +
      Parameters:
      +
      flagBuilder - a flag configuration builder
      +
      Returns:
      +
      the same TestData instance
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      build

      +
      public DataSource build(ClientContext clientContext)
      +
      Description copied from interface: ComponentConfigurer
      +
      Called internally by the SDK to create an implementation instance. Applications should not need + to call this method.
      +
      +
      Specified by:
      +
      build in interface ComponentConfigurer<DataSource>
      +
      Parameters:
      +
      clientContext - provides configuration properties and other components from the current + SDK client instance
      +
      Returns:
      +
      a instance of the component type
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/integrations/package-summary.html b/com/launchdarkly/sdk/android/integrations/package-summary.html new file mode 100644 index 00000000..0cfb380f --- /dev/null +++ b/com/launchdarkly/sdk/android/integrations/package-summary.html @@ -0,0 +1,153 @@ + + + + +com.launchdarkly.sdk.android.integrations (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.launchdarkly.sdk.android.integrations

+
+
+
package com.launchdarkly.sdk.android.integrations
+
+
This package contains integration tools for connecting the SDK to other software components, or + configuring how it connects to LaunchDarkly.
+
+
+ +
+
+
+
+ + diff --git a/com/launchdarkly/sdk/android/integrations/package-tree.html b/com/launchdarkly/sdk/android/integrations/package-tree.html new file mode 100644 index 00000000..bc554afd --- /dev/null +++ b/com/launchdarkly/sdk/android/integrations/package-tree.html @@ -0,0 +1,84 @@ + + + + +com.launchdarkly.sdk.android.integrations Class Hierarchy (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.launchdarkly.sdk.android.integrations

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ + diff --git a/com/launchdarkly/sdk/android/interfaces/ServiceEndpoints.html b/com/launchdarkly/sdk/android/interfaces/ServiceEndpoints.html new file mode 100644 index 00000000..b420fccb --- /dev/null +++ b/com/launchdarkly/sdk/android/interfaces/ServiceEndpoints.html @@ -0,0 +1,217 @@ + + + + +ServiceEndpoints (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ServiceEndpoints

+
+
java.lang.Object +
com.launchdarkly.sdk.android.interfaces.ServiceEndpoints
+
+
+
+
public final class ServiceEndpoints +extends Object
+
Specifies the base service URIs used by SDK components. +

+ See ServiceEndpointsBuilder for more details on these properties.

+
+
Since:
+
4.0.0
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ServiceEndpoints

      +
      public ServiceEndpoints(URI streamingBaseUri, + URI pollingBaseUri, + URI eventsBaseUri)
      +
      Used internally by the SDK to store service endpoints.
      +
      +
      Parameters:
      +
      streamingBaseUri - the base URI for the streaming service
      +
      pollingBaseUri - the base URI for the polling service
      +
      eventsBaseUri - the base URI for the events service
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getStreamingBaseUri

      +
      public URI getStreamingBaseUri()
      +
      The base URI for the streaming service.
      +
      +
      Returns:
      +
      the base URI, or null
      +
      +
      +
    • +
    • +
      +

      getPollingBaseUri

      +
      public URI getPollingBaseUri()
      +
      The base URI for the polling service.
      +
      +
      Returns:
      +
      the base URI, or null
      +
      +
      +
    • +
    • +
      +

      getEventsBaseUri

      +
      public URI getEventsBaseUri()
      +
      The base URI for the events service.
      +
      +
      Returns:
      +
      the base URI, or null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/interfaces/package-summary.html b/com/launchdarkly/sdk/android/interfaces/package-summary.html new file mode 100644 index 00000000..47d9196b --- /dev/null +++ b/com/launchdarkly/sdk/android/interfaces/package-summary.html @@ -0,0 +1,120 @@ + + + + +com.launchdarkly.sdk.android.interfaces (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.launchdarkly.sdk.android.interfaces

+
+
+
package com.launchdarkly.sdk.android.interfaces
+
+
Types that are part of the public API, but are not needed for basic use of the SDK. +

+ Types in this namespace include: +

    +
  • Interfaces that provide a facade for some part of the SDK API.
  • +
  • Concrete types that are used as parameters within these interfaces, or as containers for + pieces of SDK configuration, like ServiceEndpoints.
  • +
+
+
+ +
+
+
+
+ + diff --git a/com/launchdarkly/sdk/android/interfaces/package-tree.html b/com/launchdarkly/sdk/android/interfaces/package-tree.html new file mode 100644 index 00000000..12129577 --- /dev/null +++ b/com/launchdarkly/sdk/android/interfaces/package-tree.html @@ -0,0 +1,71 @@ + + + + +com.launchdarkly.sdk.android.interfaces Class Hierarchy (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.launchdarkly.sdk.android.interfaces

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/com/launchdarkly/sdk/android/package-summary.html b/com/launchdarkly/sdk/android/package-summary.html new file mode 100644 index 00000000..fb317dec --- /dev/null +++ b/com/launchdarkly/sdk/android/package-summary.html @@ -0,0 +1,234 @@ + + + + +com.launchdarkly.sdk.android (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.launchdarkly.sdk.android

+
+
+
package com.launchdarkly.sdk.android
+
+
Main package for the LaunchDarkly Android SDK, containing the client and configuration classes. +

+ You will most often use LDClient (the SDK client) and + LDConfig (configuration options for the client). +

+ Other commonly used types such as LDContext are in the com.launchdarkly.sdk + package, since those are not Android-specific and are shared with the LaunchDarkly Java server-side SDK.

+
+
+ +
+
+
+
+ + diff --git a/com/launchdarkly/sdk/android/package-tree.html b/com/launchdarkly/sdk/android/package-tree.html new file mode 100644 index 00000000..fe0f5f58 --- /dev/null +++ b/com/launchdarkly/sdk/android/package-tree.html @@ -0,0 +1,137 @@ + + + + +com.launchdarkly.sdk.android Class Hierarchy (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.launchdarkly.sdk.android

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/com/launchdarkly/sdk/android/subsystems/ApplicationInfo.html b/com/launchdarkly/sdk/android/subsystems/ApplicationInfo.html new file mode 100644 index 00000000..3cd4fb32 --- /dev/null +++ b/com/launchdarkly/sdk/android/subsystems/ApplicationInfo.html @@ -0,0 +1,248 @@ + + + + +ApplicationInfo (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ApplicationInfo

+
+
java.lang.Object +
com.launchdarkly.sdk.android.subsystems.ApplicationInfo
+
+
+
+
public final class ApplicationInfo +extends Object
+
Encapsulates the SDK's application metadata. +

+ See ApplicationInfoBuilder for more details on these properties.

+
+
Since:
+
4.1.0
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ApplicationInfo

      +
      public ApplicationInfo(String applicationId, + String applicationVersion, + String applicationName, + String applicationVersionName)
      +
      Used internally by the SDK to store application metadata.
      +
      +
      Parameters:
      +
      applicationId - the application ID
      +
      applicationVersion - the application version
      +
      applicationName - friendly name for the application
      +
      applicationVersionName - friendly name for the version
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getApplicationId

      +
      @Nullable +public String getApplicationId()
      +
      A unique identifier representing the application where the LaunchDarkly SDK is running.
      +
      +
      Returns:
      +
      the application identifier, or null
      +
      +
      +
    • +
    • +
      +

      getApplicationVersion

      +
      @Nullable +public String getApplicationVersion()
      +
      A unique identifier representing the version of the application where the + LaunchDarkly SDK is running.
      +
      +
      Returns:
      +
      the application version, or null
      +
      +
      +
    • +
    • +
      +

      getApplicationName

      +
      @Nullable +public String getApplicationName()
      +
      A human friendly name for the application in which the LaunchDarkly SDK is running.
      +
      +
      Returns:
      +
      the friendly name of the application, or null
      +
      +
      +
    • +
    • +
      +

      getApplicationVersionName

      +
      @Nullable +public String getApplicationVersionName()
      +
      A human friendly name for the version of the application in which the LaunchDarkly SDK is running.
      +
      +
      Returns:
      +
      the friendly name of the version, or null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/subsystems/Callback.html b/com/launchdarkly/sdk/android/subsystems/Callback.html new file mode 100644 index 00000000..f2834dd8 --- /dev/null +++ b/com/launchdarkly/sdk/android/subsystems/Callback.html @@ -0,0 +1,156 @@ + + + + +Callback (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface Callback<T>

+
+
+
+
Type Parameters:
+
T - the return value type
+
+
+
public interface Callback<T>
+
General-purpose interface for callbacks that can succeed or fail.
+
+
Since:
+
4.0.0
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    This method is called on failure.
    +
    +
    void
    +
    onSuccess(T result)
    +
    +
    This method is called on successful completion.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      onSuccess

      +
      void onSuccess(T result)
      +
      This method is called on successful completion.
      +
      +
      Parameters:
      +
      result - the return value
      +
      +
      +
    • +
    • +
      +

      onError

      +
      void onError(Throwable error)
      +
      This method is called on failure.
      +
      +
      Parameters:
      +
      error - the error/exception object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/subsystems/ClientContext.html b/com/launchdarkly/sdk/android/subsystems/ClientContext.html new file mode 100644 index 00000000..e9ea4220 --- /dev/null +++ b/com/launchdarkly/sdk/android/subsystems/ClientContext.html @@ -0,0 +1,456 @@ + + + + +ClientContext (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ClientContext

+
+
java.lang.Object +
com.launchdarkly.sdk.android.subsystems.ClientContext
+
+
+
+
public class ClientContext +extends Object
+
Configuration information provided by the LDClient when + creating components. +

+ The getter methods in this class provide information about the initial configuration of the + client, as well as its current state. This includes properties from LDConfig, and also + values that are computed during initialization. It is preferable for components to copy + properties from this class rather than to retain a reference to the entire LDConfig object. +

+ The actual implementation class may contain other properties that are only relevant to the built-in + SDK components and are therefore not part of this base class; this allows the SDK to add its own + context information as needed without disturbing the public API.

+
+
Since:
+
3.3.0
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setEvaluationContext

      +
      protected ClientContext setEvaluationContext(LDContext context)
      +
      Sets the evaluation context and returns a new instance of ClientContext
      +
      +
      Parameters:
      +
      context - to now use as the evaluation context
      +
      Returns:
      +
      a new instance
      +
      +
      +
    • +
    • +
      +

      getEnvironmentReporter

      +
      public IEnvironmentReporter getEnvironmentReporter()
      +
      +
      Returns:
      +
      the IEnvironmentReporter for this client context
      +
      +
      +
    • +
    • +
      +

      getBaseLogger

      +
      public LDLogger getBaseLogger()
      +
      The base logger for the SDK.
      +
      +
      Returns:
      +
      a logger instance
      +
      +
      +
    • +
    • +
      +

      getConfig

      +
      public LDConfig getConfig()
      +
      Returns the full configuration object. THIS IS A TEMPORARY METHOD that will be removed prior + to release-- the goal is to NOT retain the full LDConfig in these components, but until we + have moved more of the config properties into subconfiguration builders, this is necessary.
      +
      +
      Returns:
      +
      the configuration object
      +
      +
      +
    • +
    • +
      +

      getDataSourceUpdateSink

      +
      public DataSourceUpdateSink getDataSourceUpdateSink()
      +
      +
      Returns:
      +
      the DataSourceUpdateSink
      +
      +
      +
    • +
    • +
      +

      getEnvironmentName

      +
      public String getEnvironmentName()
      +
      Returns the configured environment name.
      +
      +
      Returns:
      +
      the environment name
      +
      +
      +
    • +
    • +
      +

      isEvaluationReasons

      +
      public boolean isEvaluationReasons()
      +
      Returns true if evaluation reasons are enabled.
      +
      +
      Returns:
      +
      true if evaluation reasons are enabled
      +
      +
      +
    • +
    • +
      +

      getHttp

      +
      public HttpConfiguration getHttp()
      +
      Returns the HTTP configuration.
      +
      +
      Returns:
      +
      the HTTP configuration
      +
      +
      +
    • +
    • +
      +

      getEvaluationContext

      +
      public LDContext getEvaluationContext()
      +
      Returns the current evaluation context as of the time that this component was created.
      +
      +
      Returns:
      +
      the current evaluation context
      +
      +
      +
    • +
    • +
      +

      isInBackground

      +
      public boolean isInBackground()
      +
      Returns true if the application was in the background at the time that this component was + created.
      +
      +
      Returns:
      +
      true if in the background
      +
      +
      +
    • +
    • +
      +

      getMobileKey

      +
      public String getMobileKey()
      +
      Returns the configured mobile key. +

      + In multi-environment mode, there is a separate ClientContext for each environment, + corresponding to the LDClient instance for that environment.

      +
      +
      Returns:
      +
      the mobile key
      +
      +
      +
    • +
    • +
      +

      getPreviouslyInBackground

      +
      public Boolean getPreviouslyInBackground()
      +
      Returns the previous background state. +

      + This is initially null when the SDK is initialized. It is set to true or + false when the SDK is restarting the data source due to a state change, in case the + data source might need to have different behavior depending on whether the state change + included a change in foreground/background state.

      +
      +
      Returns:
      +
      true if the application was in the background before the time that this + component was created; false if it was in the foreground; or null if this + is the first time the component is being created during the lifetime of the SDK
      +
      +
      +
    • +
    • +
      +

      getServiceEndpoints

      +
      public ServiceEndpoints getServiceEndpoints()
      +
      Returns the base service URIs used by SDK components.
      +
      +
      Returns:
      +
      the service endpoint URIs
      +
      +
      +
    • +
    • +
      +

      isSetOffline

      +
      public boolean isSetOffline()
      +
      Returns true if the application has specified that the SDK should be offline.
      +
      +
      Returns:
      +
      true if set to be offline
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/subsystems/ComponentConfigurer.html b/com/launchdarkly/sdk/android/subsystems/ComponentConfigurer.html new file mode 100644 index 00000000..c9a74229 --- /dev/null +++ b/com/launchdarkly/sdk/android/subsystems/ComponentConfigurer.html @@ -0,0 +1,149 @@ + + + + +ComponentConfigurer (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ComponentConfigurer<T>

+
+
+
+
Type Parameters:
+
T - the type of SDK component or configuration object being constructed
+
+
+
All Known Implementing Classes:
+
EventProcessorBuilder, HttpConfigurationBuilder, PollingDataSourceBuilder, StreamingDataSourceBuilder, TestData
+
+
+
public interface ComponentConfigurer<T>
+
The common interface for SDK component factories and configuration builders. Applications should not + need to implement this interface.
+
+
Since:
+
3.3.0
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    build(ClientContext clientContext)
    +
    +
    Called internally by the SDK to create an implementation instance.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      build

      +
      T build(ClientContext clientContext)
      +
      Called internally by the SDK to create an implementation instance. Applications should not need + to call this method.
      +
      +
      Parameters:
      +
      clientContext - provides configuration properties and other components from the current + SDK client instance
      +
      Returns:
      +
      a instance of the component type
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/subsystems/DataSource.html b/com/launchdarkly/sdk/android/subsystems/DataSource.html new file mode 100644 index 00000000..810d5a82 --- /dev/null +++ b/com/launchdarkly/sdk/android/subsystems/DataSource.html @@ -0,0 +1,209 @@ + + + + +DataSource (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface DataSource

+
+
+
+
public interface DataSource
+
Interface for an object that receives updates to feature flags from LaunchDarkly. +

+ This component uses a push model. When it is created, the SDK will provide a reference to a + DataSourceUpdateSink component (as part of ClientContext, which is a write-only + abstraction of the SDK state. The SDK never requests feature flag data from the + DataSource-- it only looks at the last known data that was pushed into the state. +

+ Each LDClient instance maintains exactly one active data source instance. It stops and + discards the active data source whenever it needs to create a new one due to a significant state + change, such as if the evaluation context is changed with identify(), or if the SDK goes + online after previously being offline, or if the foreground/background state changes.

+
+
Since:
+
3.3.0
+
See Also:
+
+ +
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default boolean
    +
    needsRefresh(boolean newInBackground, + LDContext newEvaluationContext)
    +
    +
    The SDK calls this method to determine whether it needs to stop the current data source and + start a new one after a state transition.
    +
    +
    void
    +
    start(Callback<Boolean> resultCallback)
    +
    +
    Initializes the data source.
    +
    +
    void
    +
    stop(Callback<Void> completionCallback)
    +
    +
    Tells the data source to stop.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      start

      +
      void start(@NonNull + Callback<Boolean> resultCallback)
      +
      Initializes the data source. This is called only once per instance.
      +
      +
      Parameters:
      +
      resultCallback - called when the data source has successfully acquired the initial data, + or if an error has occurred
      +
      +
      +
    • +
    • +
      +

      stop

      +
      void stop(@NonNull + Callback<Void> completionCallback)
      +
      Tells the data source to stop.
      +
      +
      Parameters:
      +
      completionCallback - called once it has completely stopped (this is allowed to be + asynchronous because it might involve network operations that can't + be done on the main thread)
      +
      +
      +
    • +
    • +
      +

      needsRefresh

      +
      default boolean needsRefresh(boolean newInBackground, + LDContext newEvaluationContext)
      +
      The SDK calls this method to determine whether it needs to stop the current data source and + start a new one after a state transition. +

      + State transitions include going from foreground to background or vice versa, or changing the + evaluation context. The SDK will not call this method unless at least one of those types of + transitions has happened. +

      + If this method returns true, the SDK considers the current data source to be no longer valid, + stops it, and asks the ComponentConfigurer to create a new one. +

      + If this method returns false, the SDK retains the current data source.

      +
      +
      Parameters:
      +
      newInBackground - true if the application is now in the background
      +
      newEvaluationContext - the new evaluation context
      +
      Returns:
      +
      true if the data source should be recreated
      +
      Since:
      +
      4.1.0
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/subsystems/DataSourceUpdateSink.html b/com/launchdarkly/sdk/android/subsystems/DataSourceUpdateSink.html new file mode 100644 index 00000000..f37a9860 --- /dev/null +++ b/com/launchdarkly/sdk/android/subsystems/DataSourceUpdateSink.html @@ -0,0 +1,205 @@ + + + + +DataSourceUpdateSink (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface DataSourceUpdateSink

+
+
+
+
public interface DataSourceUpdateSink
+
Interface that an implementation of DataSource will use to push data into the SDK.
+
+
Since:
+
4.0.0
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    init(LDContext context, + Map<String,DataModel.Flag> items)
    +
    +
    Completely overwrites the current contents of the data store with a new set of items.
    +
    +
    void
    + +
    +
    Informs the SDK of a change in the data source's status or the connection mode.
    +
    +
    void
    + +
    +
    Informs the SDK that the data source is being permanently shut down due to an unrecoverable + problem reported by LaunchDarkly, such as the mobile key being invalid.
    +
    +
    void
    +
    upsert(LDContext context, + DataModel.Flag item)
    +
    +
    Updates or inserts an item.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      init

      +
      void init(@NonNull + LDContext context, + @NonNull + Map<String,DataModel.Flag> items)
      +
      Completely overwrites the current contents of the data store with a new set of items.
      +
      +
      Parameters:
      +
      items - a map of flag keys to flag evaluation results
      +
      +
      +
    • +
    • +
      +

      upsert

      +
      void upsert(@NonNull + LDContext context, + @NonNull + DataModel.Flag item)
      +
      Updates or inserts an item. If an item already exists with the same key, the operation will + only succeed if the existing version is less than the new version. +

      + If a flag has been deleted, the data source should pass a versioned placeholder created with + DataModel.Flag.deletedItemPlaceholder(String, int).

      +
      +
      Parameters:
      +
      item - the new evaluation result data (or a deleted item placeholder)
      +
      +
      +
    • +
    • +
      +

      setStatus

      +
      void setStatus(@NonNull + ConnectionInformation.ConnectionMode connectionMode, + @Nullable + Throwable failure)
      +
      Informs the SDK of a change in the data source's status or the connection mode.
      +
      +
      Parameters:
      +
      connectionMode - the value that should be reported by + ConnectionInformation.getConnectionMode()
      +
      failure - if non-null, represents an error/exception that caused data source + initialization to fail
      +
      +
      +
    • +
    • +
      +

      shutDown

      +
      void shutDown()
      +
      Informs the SDK that the data source is being permanently shut down due to an unrecoverable + problem reported by LaunchDarkly, such as the mobile key being invalid. +

      + This implies that the SDK should also stop other components that communicate with + LaunchDarkly, such as the event processor. It also changes the connection mode to + ConnectionInformation.ConnectionMode.SHUTDOWN.

      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/subsystems/DiagnosticDescription.html b/com/launchdarkly/sdk/android/subsystems/DiagnosticDescription.html new file mode 100644 index 00000000..658038ce --- /dev/null +++ b/com/launchdarkly/sdk/android/subsystems/DiagnosticDescription.html @@ -0,0 +1,148 @@ + + + + +DiagnosticDescription (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface DiagnosticDescription

+
+
+
+
public interface DiagnosticDescription
+
Optional interface for components to describe their own configuration. +

+ The SDK uses a simplified JSON representation of its configuration when recording diagnostics data. + Any class that implements ComponentConfigurer may choose to contribute + values to this representation, although the SDK may or may not use them. For components that do not + implement this interface, the SDK may instead describe them using getClass().getSimpleName(). +

+ The describeConfiguration(ClientContext) method should return either null or a JSON value. For + custom components, the value must be a string that describes the basic nature of this component + implementation (e.g. "Redis"). Built-in LaunchDarkly components may instead return a JSON object + containing multiple properties specific to the LaunchDarkly diagnostic schema.

+
+
Since:
+
3.3.0
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Used internally by the SDK to inspect the configuration.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      describeConfiguration

      +
      LDValue describeConfiguration(ClientContext clientContext)
      +
      Used internally by the SDK to inspect the configuration.
      +
      +
      Parameters:
      +
      clientContext - allows access to the client configuration
      +
      Returns:
      +
      an LDValue or null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/subsystems/EventProcessor.html b/com/launchdarkly/sdk/android/subsystems/EventProcessor.html new file mode 100644 index 00000000..8b3c4548 --- /dev/null +++ b/com/launchdarkly/sdk/android/subsystems/EventProcessor.html @@ -0,0 +1,316 @@ + + + + +EventProcessor (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface EventProcessor

+
+
+
+
All Superinterfaces:
+
AutoCloseable, Closeable
+
+
+
public interface EventProcessor +extends Closeable
+
Interface for an object that can send or store analytics events. +

+ Application code normally does not need to interact with this interface. It is provided + to allow a custom implementation or test fixture to be substituted for the SDK's normal + analytics event logic.

+
+
Since:
+
3.3.0
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      recordEvaluationEvent

      +
      void recordEvaluationEvent(LDContext context, + String flagKey, + int flagVersion, + int variation, + LDValue value, + EvaluationReason reason, + LDValue defaultValue, + boolean requireFullEvent, + Long debugEventsUntilDate)
      +
      Records the action of evaluating a feature flag. +

      + Depending on the feature flag properties and event properties, this may be transmitted to + the events service as an individual event, or may only be added into summary data.

      +
      +
      Parameters:
      +
      context - the current evaluation context
      +
      flagKey - key of the feature flag that was evaluated
      +
      flagVersion - the version of the flag, or NO_VERSION if the flag was not found
      +
      variation - the result variation index, or EvaluationDetail.NO_VARIATION if evaluation failed
      +
      value - the result value
      +
      reason - the evaluation reason, or null if the reason was not requested
      +
      defaultValue - the default value parameter for the evaluation
      +
      requireFullEvent - true if full-fidelity analytics events should be sent for this flag
      +
      debugEventsUntilDate - if non-null, debug events are to be generated until this millisecond time
      +
      +
      +
    • +
    • +
      +

      recordIdentifyEvent

      +
      void recordIdentifyEvent(LDContext context)
      +
      Registers an evaluation context, as when the SDK's identify method is called.
      +
      +
      Parameters:
      +
      context - the evaluation context
      +
      +
      +
    • +
    • +
      +

      recordCustomEvent

      +
      void recordCustomEvent(LDContext context, + String eventKey, + LDValue data, + Double metricValue)
      +
      Creates a custom event, as when the SDK's track method is called.
      +
      +
      Parameters:
      +
      context - the current evaluation context
      +
      eventKey - the event key
      +
      data - optional custom data provided for the event, may be null or LDValue.ofNull() if not used
      +
      metricValue - optional numeric metric value provided for the event, or null
      +
      +
      +
    • +
    • +
      +

      setInBackground

      +
      void setInBackground(boolean inBackground)
      +
      Puts the event processor into background mode if appropriate.
      +
      +
      Parameters:
      +
      inBackground - true if we are running in the background
      +
      +
      +
    • +
    • +
      +

      setOffline

      +
      void setOffline(boolean offline)
      +
      Puts the event processor into offline mode if appropriate.
      +
      +
      Parameters:
      +
      offline - true if the SDK has been put offline
      +
      +
      +
    • +
    • +
      +

      flush

      +
      void flush()
      +
      Specifies that any buffered events should be sent as soon as possible, rather than waiting + for the next flush interval. This method is asynchronous, so events still may not be sent + until a later time. However, calling Closeable.close() will synchronously deliver + any events that were not yet delivered prior to shutting down.
      +
      +
    • +
    • +
      +

      blockingFlush

      +
      void blockingFlush()
      +
      Specifies that any buffered events should be sent immediately, blocking until done.
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/subsystems/HttpConfiguration.html b/com/launchdarkly/sdk/android/subsystems/HttpConfiguration.html new file mode 100644 index 00000000..b70b9ff4 --- /dev/null +++ b/com/launchdarkly/sdk/android/subsystems/HttpConfiguration.html @@ -0,0 +1,244 @@ + + + + +HttpConfiguration (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class HttpConfiguration

+
+
java.lang.Object +
com.launchdarkly.sdk.android.subsystems.HttpConfiguration
+
+
+
+
public final class HttpConfiguration +extends Object
+
Encapsulates top-level HTTP configuration that applies to all SDK components. +

+ Use HttpConfigurationBuilder to construct an instance. +

+ The SDK's built-in components use OkHttp as the HTTP client implementation, but since OkHttp types + are not surfaced in the public API and custom components might use some other implementation, this + class only provides the properties that would be used to create an HTTP client; it does not create + the client itself. SDK implementation code uses its own helper methods to do so.

+
+
Since:
+
3.3.0
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getConnectTimeoutMillis

      +
      public int getConnectTimeoutMillis()
      +
      The connection timeout. This is the time allowed for the underlying HTTP client to connect + to the LaunchDarkly server.
      +
      +
      Returns:
      +
      the connection timeout in milliseconds
      +
      +
      +
    • +
    • +
      +

      getDefaultHeaders

      +
      public Iterable<Map.Entry<String,String>> getDefaultHeaders()
      +
      Returns the basic headers that should be added to all HTTP requests from SDK components to + LaunchDarkly services, based on the current SDK configuration.
      +
      +
      Returns:
      +
      a list of HTTP header names and values
      +
      +
      +
    • +
    • +
      +

      getHeaderTransform

      +
      public LDHeaderUpdater getHeaderTransform()
      +
      Returns the callback for modifying request headers, if any.
      +
      +
      Returns:
      +
      the callback for modifying request headers
      +
      +
      +
    • +
    • +
      +

      isUseReport

      +
      public boolean isUseReport()
      +
      The setting for whether to use the HTTP REPORT method.
      +
      +
      Returns:
      +
      true to use HTTP REPORT
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/subsystems/PersistentDataStore.html b/com/launchdarkly/sdk/android/subsystems/PersistentDataStore.html new file mode 100644 index 00000000..0583e4d6 --- /dev/null +++ b/com/launchdarkly/sdk/android/subsystems/PersistentDataStore.html @@ -0,0 +1,265 @@ + + + + +PersistentDataStore (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface PersistentDataStore

+
+
+
+
public interface PersistentDataStore
+
Interface for a data store that holds feature flag data and other SDK properties in a simple + string format. +

+ The SDK has a default implementation which uses the Android SharedPreferences API. A + custom implementation of this interface could store data somewhere else, or use that API in a + different way. +

+ Each data item is uniquely identified by the combination of a "namespace" and a "key", and has + a string value. These are defined as follows: +

    +
  • Both the namespace and the key are non-empty strings.
  • +
  • Both the namespace and the key contain only alphanumeric characters, hyphens, and + underscores.
  • +
  • The value can be any non-null string, including an empty string.
  • +
+

+ The store implementation does not need to worry about adding a LaunchDarkly-specific prefix to + namespaces to distinguish them from storage that is used for other purposes; the SDK will take + care of that at a higher level. PersistentDataStore is just a low-level storage mechanism. +

+ The SDK will also provide its own caching layer on top of the persistent data store; the data + store implementation should not provide caching, but simply do every query or update that the + SDK tells it to do. +

+ Error handling is defined as follows: if any data store operation encounters an I/O error, or + is otherwise unable to complete its task, it should throw an exception to make the SDK aware + of this. The SDK will decide whether to log the exception.

+
+
Since:
+
4.0.0
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    clear(String storeNamespace, + boolean fullyDelete)
    +
    +
    Removes any values that currently exist in the given namespace.
    +
    + + +
    +
    Returns all namespaces that exist in the data store.
    +
    + +
    getKeys(String storeNamespace)
    +
    +
    Returns all keys that exist in the namespace.
    +
    + +
    getValue(String storeNamespace, + String key)
    +
    +
    Attempts to retrieve a string value from the store.
    +
    +
    void
    +
    setValue(String storeNamespace, + String key, + String value)
    +
    +
    Attempts to update or remove a string value in the store.
    +
    +
    void
    +
    setValues(String storeNamespace, + Map<String,String> keysAndValues)
    +
    +
    Attempts to update multiple values atomically.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getValue

      +
      String getValue(String storeNamespace, + String key)
      +
      Attempts to retrieve a string value from the store.
      +
      +
      Parameters:
      +
      storeNamespace - the namespace identifier
      +
      key - the unique key within that namespace
      +
      Returns:
      +
      the value, or null if not found
      +
      +
      +
    • +
    • +
      +

      setValue

      +
      void setValue(String storeNamespace, + String key, + String value)
      +
      Attempts to update or remove a string value in the store.
      +
      +
      Parameters:
      +
      storeNamespace - the namespace identifier
      +
      key - the unique key within that namespace
      +
      value - the new value, or null to remove the key
      +
      +
      +
    • +
    • +
      +

      setValues

      +
      void setValues(String storeNamespace, + Map<String,String> keysAndValues)
      +
      Attempts to update multiple values atomically.
      +
      +
      Parameters:
      +
      storeNamespace - the namespace identifier
      +
      keysAndValues - the keys and values to update
      +
      +
      +
    • +
    • +
      +

      getKeys

      +
      Collection<String> getKeys(String storeNamespace)
      +
      Returns all keys that exist in the namespace.
      +
      +
      Parameters:
      +
      storeNamespace - the namespace identifier
      +
      Returns:
      +
      the keys
      +
      +
      +
    • +
    • +
      +

      getAllNamespaces

      +
      Collection<String> getAllNamespaces()
      +
      Returns all namespaces that exist in the data store. +

      + This may be an inefficient operation, but the SDK will not call this method on a regular + basis. It is used only when migrating data from earlier SDK versions.

      +
      +
      Returns:
      +
      the namespaces
      +
      +
      +
    • +
    • +
      +

      clear

      +
      void clear(String storeNamespace, + boolean fullyDelete)
      +
      Removes any values that currently exist in the given namespace.
      +
      +
      Parameters:
      +
      storeNamespace - the namespace identifier
      +
      fullyDelete - true to purge all data structures related to the namespace, false to + simply leave it empty
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/subsystems/package-summary.html b/com/launchdarkly/sdk/android/subsystems/package-summary.html new file mode 100644 index 00000000..bb3fc58c --- /dev/null +++ b/com/launchdarkly/sdk/android/subsystems/package-summary.html @@ -0,0 +1,163 @@ + + + + +com.launchdarkly.sdk.android.subsystems (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.launchdarkly.sdk.android.subsystems

+
+
+
package com.launchdarkly.sdk.android.subsystems
+
+
Interfaces for implementation of LaunchDarkly SDK components. +

+ Most applications will not need to refer to these types. You will use them if you are creating a + plugin component, such as a database integration. They are also used as interfaces for the built-in + SDK components, so that plugin components can be used interchangeably with those. +

+ The package also includes concrete types that are used as parameters within these interfaces.

+
+
+ +
+
+
+
+ + diff --git a/com/launchdarkly/sdk/android/subsystems/package-tree.html b/com/launchdarkly/sdk/android/subsystems/package-tree.html new file mode 100644 index 00000000..30bb28e1 --- /dev/null +++ b/com/launchdarkly/sdk/android/subsystems/package-tree.html @@ -0,0 +1,93 @@ + + + + +com.launchdarkly.sdk.android.subsystems Class Hierarchy (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.launchdarkly.sdk.android.subsystems

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ + diff --git a/com/launchdarkly/sdk/android/test/BuildConfig.html b/com/launchdarkly/sdk/android/test/BuildConfig.html new file mode 100644 index 00000000..f0dff560 --- /dev/null +++ b/com/launchdarkly/sdk/android/test/BuildConfig.html @@ -0,0 +1,207 @@ + + + + +BuildConfig (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BuildConfig

+
+
java.lang.Object +
com.launchdarkly.sdk.android.test.BuildConfig
+
+
+
+
public final class BuildConfig +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    + +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BuildConfig

      +
      public BuildConfig()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/android/test/package-summary.html b/com/launchdarkly/sdk/android/test/package-summary.html new file mode 100644 index 00000000..d357f9ea --- /dev/null +++ b/com/launchdarkly/sdk/android/test/package-summary.html @@ -0,0 +1,110 @@ + + + + +com.launchdarkly.sdk.android.test (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.launchdarkly.sdk.android.test

+
+
+
package com.launchdarkly.sdk.android.test
+
+ +
+
+
+
+ + diff --git a/com/launchdarkly/sdk/android/test/package-tree.html b/com/launchdarkly/sdk/android/test/package-tree.html new file mode 100644 index 00000000..bf388044 --- /dev/null +++ b/com/launchdarkly/sdk/android/test/package-tree.html @@ -0,0 +1,71 @@ + + + + +com.launchdarkly.sdk.android.test Class Hierarchy (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.launchdarkly.sdk.android.test

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/com/launchdarkly/sdk/json/JsonSerializable.html b/com/launchdarkly/sdk/json/JsonSerializable.html new file mode 100644 index 00000000..eb77d489 --- /dev/null +++ b/com/launchdarkly/sdk/json/JsonSerializable.html @@ -0,0 +1,93 @@ + + + + +JsonSerializable (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface JsonSerializable

+
+
+
+
All Known Implementing Classes:
+
AttributeRef, ContextKind, EvaluationDetail, EvaluationReason, LDContext, LDUser, LDValue, UserAttribute
+
+
+
public interface JsonSerializable
+
Marker interface for SDK classes that have a custom JSON serialization.
+
+
See Also:
+
+ +
+
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/json/JsonSerialization.html b/com/launchdarkly/sdk/json/JsonSerialization.html new file mode 100644 index 00000000..5854a108 --- /dev/null +++ b/com/launchdarkly/sdk/json/JsonSerialization.html @@ -0,0 +1,195 @@ + + + + +JsonSerialization (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JsonSerialization

+
+
java.lang.Object +
com.launchdarkly.sdk.json.JsonSerialization
+
+
+
+
public abstract class JsonSerialization +extends Object
+
Helper methods for JSON serialization of SDK classes. +

+ While the LaunchDarkly Java-based SDKs have used Gson + internally in the past, they may not always do so-- and even if they do, some SDK distributions may + embed their own copy of Gson with modified (shaded) class names so that it does not conflict with + any Gson instance elsewhere in the classpath. For both of those reasons, applications should not + assume that Gson.toGson() and Gson.fromGson()-- or any other JSON framework that is + based on reflection-- will work correctly for SDK classes, whose correct JSON representations do + not necessarily correspond to their internal field layout. Instead, they should always use one of + the following: +

    +
  1. The JsonSerialization methods. +
  2. A Gson instance that has been configured with LDGson. +
  3. For LDValue, you may also use the convenience methods LDValue.toJsonString() and + LDValue.parse(String). +
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      serialize

      +
      public static <T extends JsonSerializable> String serialize(T instance)
      +
      Converts an object to its JSON representation. +

      + This is only usable for classes that have the JsonSerializable marker interface, + indicating that the SDK knows how to serialize them.

      +
      +
      Type Parameters:
      +
      T - class of the object being serialized
      +
      Parameters:
      +
      instance - the instance to serialize
      +
      Returns:
      +
      the object's JSON encoding as a string
      +
      +
      +
    • +
    • +
      +

      deserialize

      +
      public static <T extends JsonSerializable> T deserialize(String json, + Class<T> objectClass) + throws SerializationException
      +
      Parses an object from its JSON representation. +

      + This is only usable for classes that have the JsonSerializable marker interface, + indicating that the SDK knows how to serialize them. +

      + The current implementation is limited in its ability to handle generic types. Currently, the only + such type defined by the SDKs is EvaluationDetail. You can serialize + any EvaluationDetail<T> instance and it will represent the T value correctly, but + when deserializing, you will always get EvaluationDetail<LDValue>.

      +
      +
      Type Parameters:
      +
      T - class of the object being deserialized
      +
      Parameters:
      +
      json - the object's JSON encoding as a string
      +
      objectClass - class of the object being deserialized
      +
      Returns:
      +
      the deserialized instance
      +
      Throws:
      +
      SerializationException - if the JSON encoding was invalid
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/json/LDGson.html b/com/launchdarkly/sdk/json/LDGson.html new file mode 100644 index 00000000..9ccd31de --- /dev/null +++ b/com/launchdarkly/sdk/json/LDGson.html @@ -0,0 +1,222 @@ + + + + +LDGson (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDGson

+
+
java.lang.Object +
com.launchdarkly.sdk.json.LDGson
+
+
+
+
public abstract class LDGson +extends Object
+
A helper class for interoperability with application code that uses Gson. +

+ While the LaunchDarkly Java-based SDKs have used Gson + internally in the past, they may not always do so-- and even if they do, some SDK distributions may + embed their own copy of Gson with modified (shaded) class names so that it does not conflict with + any Gson instance elsewhere in the classpath. For both of those reasons, applications should not + assume that Gson.toGson() and Gson.fromGson()-- or any other JSON framework that is + based on reflection-- will work correctly for SDK classes, whose correct JSON representations do + not necessarily correspond to their internal field layout. This class addresses that issue + for applications that prefer to use Gson for everything rather than calling + JsonSerialization for individual objects. +

+ An application that wishes to use Gson to serialize or deserialize classes from the SDK should + configure its Gson instance as follows: +


+     import com.launchdarkly.sdk.json.LDGson;
+     
+     Gson gson = new GsonBuilder()
+       .registerTypeAdapterFactory(LDGson.typeAdapters())
+       // any other GsonBuilder options go here
+       .create();
+ 
+

+ This causes Gson to use the correct JSON representation logic (the same that would be used by + JsonSerialization) for any types that have the SDK's JsonSerializable marker + interface, such as LDContext and LDValue, regardless of whether they are the + top-level object being serialized or are contained in something else such as a collection. It + does not affect Gson's behavior for any other classes. +

+ Note that some of the LaunchDarkly SDK distributions deliberately do not expose Gson as a + dependency, so if you are using Gson in your application you will need to make sure you have + defined your own dependency on it. Referencing LDGson will cause a runtime + exception if Gson is not in the caller's classpath.

+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      typeAdapters

      +
      public static com.google.gson.TypeAdapterFactory typeAdapters()
      +
      Returns a Gson TypeAdapterFactory that defines the correct serialization and + deserialization behavior for all LaunchDarkly SDK objects that implement JsonSerializable. +
      
      +     import com.launchdarkly.sdk.json.LDGson;
      +     
      +     Gson gson = new GsonBuilder()
      +       .registerTypeAdapterFactory(LDGson.typeAdapters())
      +       // any other GsonBuilder options go here
      +       .create();
      + 
      +
      +
      Returns:
      +
      a TypeAdapterFactory
      +
      +
      +
    • +
    • +
      +

      valueToJsonElement

      +
      public static com.google.gson.JsonElement valueToJsonElement(LDValue value)
      +
      Returns a Gson JsonElement that is equivalent to the specified LDValue. +

      + This is slightly more efficient than using Gson.toJsonTree().

      +
      +
      Parameters:
      +
      value - an LDValue (null is treated as equivalent to LDValue.ofNull())
      +
      Returns:
      +
      a Gson JsonElement (may be a JsonNull but will never be null)
      +
      +
      +
    • +
    • +
      +

      valueMapToJsonElementMap

      +
      public static <T> +Map<T,com.google.gson.JsonElement> valueMapToJsonElementMap(Map<T,LDValue> valueMap)
      +
      Convenience method for converting a map of LDValue values to a map of Gson JsonElements.
      +
      +
      Type Parameters:
      +
      T - type of the map's keys
      +
      Parameters:
      +
      valueMap - a map containing LDValue values
      +
      Returns:
      +
      an equivalent map containing Gson JsonElement values
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/json/LDJackson.html b/com/launchdarkly/sdk/json/LDJackson.html new file mode 100644 index 00000000..662f845c --- /dev/null +++ b/com/launchdarkly/sdk/json/LDJackson.html @@ -0,0 +1,168 @@ + + + + +LDJackson (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LDJackson

+
+
java.lang.Object +
com.launchdarkly.sdk.json.LDJackson
+
+
+
+
public class LDJackson +extends Object
+
A helper class for interoperability with application code that uses + Jackson. +

+ An application that wishes to use Jackson to serialize or deserialize classes from the SDK should + configure its ObjectMapper instance as follows: +


+     import com.launchdarkly.sdk.json.LDJackson;
+     
+     ObjectMapper mapper = new ObjectMapper();
+     mapper.registerModule(LDJackson.module());
+ 
+

+ This causes Jackson to use the correct JSON representation logic (the same that would be used by + JsonSerialization) for any types that have the SDK's JsonSerializable marker + interface, such as LDContext and LDValue, regardless of whether they are the + top-level object being serialized or are contained in something else such as a collection. It + does not affect Jackson's behavior for any other classes. +

+ The current implementation is limited in its ability to handle generic types. Currently, the only + such type defined by the SDKs is EvaluationDetail. You can serialize + any EvaluationDetail<T> instance and it will represent the T value correctly, but + when deserializing, you will always get EvaluationDetail<LDValue>.

+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      module

      +
      public static com.fasterxml.jackson.databind.Module module()
      +
      Returns a Jackson Module that defines the correct serialization and deserialization + behavior for all LaunchDarkly SDK objects that implement JsonSerializable. +
      
      +     import com.launchdarkly.sdk.json.LDJackson;
      +     
      +     ObjectMapper mapper = new ObjectMapper();
      +     mapper.registerModule(LDJackson.module());
      + 
      +
      +
      Returns:
      +
      a Module
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/json/SerializationException.html b/com/launchdarkly/sdk/json/SerializationException.html new file mode 100644 index 00000000..6147ecac --- /dev/null +++ b/com/launchdarkly/sdk/json/SerializationException.html @@ -0,0 +1,173 @@ + + + + +SerializationException (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SerializationException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
com.launchdarkly.sdk.json.SerializationException
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class SerializationException +extends Exception
+
General exception class for all errors in serializing or deserializing JSON. +

+ The SDK uses this class to avoid depending on exception types from the underlying JSON framework + that it uses. The underlying exception can be inspected with the Throwable.getCause() + method, but application code should not rely on those details since they are subject to change.

+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SerializationException

      +
      public SerializationException(Throwable cause)
      +
      Creates an instance.
      +
      +
      Parameters:
      +
      cause - the underlying exception
      +
      +
      +
    • +
    • +
      +

      SerializationException

      +
      public SerializationException(String message)
      +
      Creates an instance.
      +
      +
      Parameters:
      +
      message - a description of the error
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/launchdarkly/sdk/json/package-summary.html b/com/launchdarkly/sdk/json/package-summary.html new file mode 100644 index 00000000..f174233b --- /dev/null +++ b/com/launchdarkly/sdk/json/package-summary.html @@ -0,0 +1,132 @@ + + + + +com.launchdarkly.sdk.json (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.launchdarkly.sdk.json

+
+
+
package com.launchdarkly.sdk.json
+
+
Helper classes and methods for interoperability with JSON. +

+ This package provides a simple mechanism for converting SDK objects to and from JSON as a string + (JsonSerialization), and also adapters for making the SDK types + serialize and deserialize correctly when used with Gson + (LDGson) or Jackson (LDJackson).

+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    Marker interface for SDK classes that have a custom JSON serialization.
    +
    + +
    +
    Helper methods for JSON serialization of SDK classes.
    +
    + +
    +
    A helper class for interoperability with application code that uses Gson.
    +
    + +
    +
    A helper class for interoperability with application code that uses + Jackson.
    +
    + +
    +
    General exception class for all errors in serializing or deserializing JSON.
    +
    +
    +
    +
    +
  • +
+
+
+
+
+ + diff --git a/com/launchdarkly/sdk/json/package-tree.html b/com/launchdarkly/sdk/json/package-tree.html new file mode 100644 index 00000000..50d0826d --- /dev/null +++ b/com/launchdarkly/sdk/json/package-tree.html @@ -0,0 +1,88 @@ + + + + +com.launchdarkly.sdk.json Class Hierarchy (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.launchdarkly.sdk.json

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ + diff --git a/com/launchdarkly/sdk/package-summary.html b/com/launchdarkly/sdk/package-summary.html new file mode 100644 index 00000000..be733bac --- /dev/null +++ b/com/launchdarkly/sdk/package-summary.html @@ -0,0 +1,185 @@ + + + + +com.launchdarkly.sdk (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.launchdarkly.sdk

+
+
+
package com.launchdarkly.sdk
+
+
Base namespace for LaunchDarkly Java-based SDKs, containing common types.
+
+
+ +
+
+
+
+ + diff --git a/com/launchdarkly/sdk/package-tree.html b/com/launchdarkly/sdk/package-tree.html new file mode 100644 index 00000000..95c57599 --- /dev/null +++ b/com/launchdarkly/sdk/package-tree.html @@ -0,0 +1,102 @@ + + + + +com.launchdarkly.sdk Class Hierarchy (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.launchdarkly.sdk

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/constant-values.html b/constant-values.html new file mode 100644 index 00000000..01ef4793 --- /dev/null +++ b/constant-values.html @@ -0,0 +1,222 @@ + + + + +Constant Field Values (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Constant Field Values

+
+

Contents

+ +
+
+
+

com.launchdarkly.*

+ + + +
    +
  • +
    com.launchdarkly.sdk.android.subsystems.EventProcessor
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    public static final int
    + +
    -1
    +
    +
  • +
+ +
+
+
+
+ + diff --git a/deprecated-list.html b/deprecated-list.html new file mode 100644 index 00000000..e2675ad0 --- /dev/null +++ b/deprecated-list.html @@ -0,0 +1,100 @@ + + + + +Deprecated List (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Deprecated API

+

Contents

+ +
+ + +
+
+
+ + diff --git a/element-list b/element-list new file mode 100644 index 00000000..9b5d4a61 --- /dev/null +++ b/element-list @@ -0,0 +1,8 @@ +com.launchdarkly.sdk +com.launchdarkly.sdk.android +com.launchdarkly.sdk.android.env +com.launchdarkly.sdk.android.integrations +com.launchdarkly.sdk.android.interfaces +com.launchdarkly.sdk.android.subsystems +com.launchdarkly.sdk.android.test +com.launchdarkly.sdk.json diff --git a/help-doc.html b/help-doc.html new file mode 100644 index 00000000..233864c8 --- /dev/null +++ b/help-doc.html @@ -0,0 +1,191 @@ + + + + +API Help (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+

JavaDoc Help

+ +
+
+

Navigation

+Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces + +
+
+
+

Kinds of Pages

+The following sections describe the different kinds of pages in this collection. +
+

Overview

+

The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

+
+
+

Package

+

Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:

+
    +
  • Interfaces
  • +
  • Classes
  • +
  • Enum Classes
  • +
  • Exceptions
  • +
  • Errors
  • +
  • Annotation Interfaces
  • +
+
+
+

Class or Interface

+

Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.

+
    +
  • Class Inheritance Diagram
  • +
  • Direct Subclasses
  • +
  • All Known Subinterfaces
  • +
  • All Known Implementing Classes
  • +
  • Class or Interface Declaration
  • +
  • Class or Interface Description
  • +
+
+
    +
  • Nested Class Summary
  • +
  • Enum Constant Summary
  • +
  • Field Summary
  • +
  • Property Summary
  • +
  • Constructor Summary
  • +
  • Method Summary
  • +
  • Required Element Summary
  • +
  • Optional Element Summary
  • +
+
+
    +
  • Enum Constant Details
  • +
  • Field Details
  • +
  • Property Details
  • +
  • Constructor Details
  • +
  • Method Details
  • +
  • Element Details
  • +
+

Note: Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.

+

The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

+
+
+

Other Files

+

Packages and modules may contain pages with additional information related to the declarations nearby.

+
+
+

Tree (Class Hierarchy)

+

There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

+
    +
  • When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.
  • +
  • When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.
  • +
+
+
+

Deprecated API

+

The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to shortcomings, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.

+
+
+

Constant Field Values

+

The Constant Field Values page lists the static final fields and their values.

+
+
+

Serialized Form

+

Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to those who implement rather than use the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See Also" section of the class description.

+
+
+

All Packages

+

The All Packages page contains an alphabetic index of all packages contained in the documentation.

+
+
+

All Classes and Interfaces

+

The All Classes and Interfaces page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.

+
+
+

Index

+

The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.

+
+
+
+This help file applies to API documentation generated by the standard doclet.
+
+
+ + diff --git a/index-all.html b/index-all.html new file mode 100644 index 00000000..c04eadf8 --- /dev/null +++ b/index-all.html @@ -0,0 +1,2667 @@ + + + + +Index (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

A

+
+
adapter() - Static method in class com.launchdarkly.sdk.android.LDAndroidLogging
+
 
+
adapter() - Static method in class com.launchdarkly.sdk.android.LDTimberLogging
+
 
+
add(boolean) - Method in class com.launchdarkly.sdk.ArrayBuilder
+
+
Adds a new element to the builder.
+
+
add(double) - Method in class com.launchdarkly.sdk.ArrayBuilder
+
+
Adds a new element to the builder.
+
+
add(float) - Method in class com.launchdarkly.sdk.ArrayBuilder
+
+
Adds a new element to the builder.
+
+
add(int) - Method in class com.launchdarkly.sdk.ArrayBuilder
+
+
Adds a new element to the builder.
+
+
add(long) - Method in class com.launchdarkly.sdk.ArrayBuilder
+
+
Adds a new element to the builder.
+
+
add(LDContext) - Method in class com.launchdarkly.sdk.ContextMultiBuilder
+
+
Adds an individual LDContext for a specific kind to the builer.
+
+
add(LDValue) - Method in class com.launchdarkly.sdk.ArrayBuilder
+
+
Adds a new element to the builder.
+
+
add(String) - Method in class com.launchdarkly.sdk.ArrayBuilder
+
+
Adds a new element to the builder.
+
+
allAttributesPrivate - Variable in class com.launchdarkly.sdk.android.integrations.EventProcessorBuilder
+
+
All attributes should be treated as private
+
+
allAttributesPrivate(boolean) - Method in class com.launchdarkly.sdk.android.integrations.EventProcessorBuilder
+
+
Sets whether or not all optional context attributes should be hidden from LaunchDarkly.
+
+
allFlags() - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
allFlags() - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Returns a map of all feature flags for the current evaluation context.
+
+
anonymous(boolean) - Method in class com.launchdarkly.sdk.ContextBuilder
+
+
Sets whether the context is only intended for flag evaluations and should not be + indexed by LaunchDarkly.
+
+
anonymous(boolean) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Sets whether this user is anonymous.
+
+
ANONYMOUS - Static variable in class com.launchdarkly.sdk.UserAttribute
+
+
Deprecated.
+
Represents the anonymous attribute.
+
+
APPLICATION_ID - Static variable in class com.launchdarkly.sdk.android.test.BuildConfig
+
 
+
applicationId(String) - Method in class com.launchdarkly.sdk.android.integrations.ApplicationInfoBuilder
+
+
Sets a unique identifier representing the application where the LaunchDarkly SDK is running.
+
+
applicationInfo() - Static method in class com.launchdarkly.sdk.android.Components
+
+
Returns a configuration builder for the SDK's application metadata.
+
+
applicationInfo(ApplicationInfoBuilder) - Method in class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
Sets the SDK's application metadata, which may be used in LaunchDarkly analytics or other product features, + but does not affect feature flag evaluations.
+
+
ApplicationInfo - Class in com.launchdarkly.sdk.android.subsystems
+
+
Encapsulates the SDK's application metadata.
+
+
ApplicationInfo(String, String, String, String) - Constructor for class com.launchdarkly.sdk.android.subsystems.ApplicationInfo
+
+
Used internally by the SDK to store application metadata.
+
+
ApplicationInfoBuilder - Class in com.launchdarkly.sdk.android.integrations
+
+
Contains methods for configuring the SDK's application metadata.
+
+
ApplicationInfoBuilder() - Constructor for class com.launchdarkly.sdk.android.integrations.ApplicationInfoBuilder
+
+
Create an empty ApplicationInfoBuilder.
+
+
applicationName(String) - Method in class com.launchdarkly.sdk.android.integrations.ApplicationInfoBuilder
+
+
Sets a human friendly name for the application in which the LaunchDarkly SDK is running.
+
+
applicationVersion(String) - Method in class com.launchdarkly.sdk.android.integrations.ApplicationInfoBuilder
+
+
Sets a unique identifier representing the version of the application where the LaunchDarkly SDK + is running.
+
+
applicationVersionName(String) - Method in class com.launchdarkly.sdk.android.integrations.ApplicationInfoBuilder
+
+
Sets a human friendly name for the version of the application in which the LaunchDarkly SDK is running.
+
+
apply(LDContext) - Method in interface com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder.VariationFunc
+
+
Returns the result for the specified context, or null if undefined.
+
+
ARRAY - Enum constant in enum class com.launchdarkly.sdk.LDValueType
+
+
The value is an array.
+
+
ArrayBuilder - Class in com.launchdarkly.sdk
+
+
A builder created by LDValue.buildArray().
+
+
ArrayBuilder() - Constructor for class com.launchdarkly.sdk.ArrayBuilder
+
 
+
arrayFrom(Iterable<T>) - Method in class com.launchdarkly.sdk.LDValue.Converter
+
+
Initializes an LDValue as an array, from a sequence of this type.
+
+
arrayOf(LDValue...) - Static method in class com.launchdarkly.sdk.LDValue
+
+
Creates an array value from the specified values.
+
+
arrayOf(T...) - Method in class com.launchdarkly.sdk.LDValue.Converter
+
+
Initializes an LDValue as an array, from a sequence of this type.
+
+
AttributeRef - Class in com.launchdarkly.sdk
+
+
An attribute name or path expression identifying a value within an LDContext.
+
+
AutoEnvContextModifier - Class in com.launchdarkly.sdk.android
+
+
An IContextModifier that will add a few context kinds with environmental + information that is useful out of the box.
+
+
AutoEnvContextModifier(PersistentDataStoreWrapper, IEnvironmentReporter, LDLogger) - Constructor for class com.launchdarkly.sdk.android.AutoEnvContextModifier
+
 
+
autoPlantDebugTree(boolean) - Method in class com.launchdarkly.sdk.android.LDTimberLogging.Adapter
+
+
Returns a modified logging adapter with the automatic debug tree behavior changed.
+
+
avatar(String) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Sets the user's avatar.
+
+
AVATAR - Static variable in class com.launchdarkly.sdk.UserAttribute
+
+
Deprecated.
+
Represents the avatar URL attribute.
+
+
+

B

+
+
BACKGROUND_DISABLED - Enum constant in enum class com.launchdarkly.sdk.android.ConnectionInformation.ConnectionMode
+
+
The SDK was configured with background polling disabled.
+
+
BACKGROUND_POLLING - Enum constant in enum class com.launchdarkly.sdk.android.ConnectionInformation.ConnectionMode
+
+
The SDK has detected the application is in the background and has transitioned to battery-saving background + polling.
+
+
backgroundPollIntervalMillis - Variable in class com.launchdarkly.sdk.android.integrations.PollingDataSourceBuilder
+
+
The background polling interval in millis
+
+
backgroundPollIntervalMillis - Variable in class com.launchdarkly.sdk.android.integrations.StreamingDataSourceBuilder
+
+
Background polling interval in millis
+
+
backgroundPollIntervalMillis(int) - Method in class com.launchdarkly.sdk.android.integrations.PollingDataSourceBuilder
+
+
Sets the interval between feature flag updates when the application is running in the background.
+
+
backgroundPollIntervalMillis(int) - Method in class com.launchdarkly.sdk.android.integrations.StreamingDataSourceBuilder
+
+
Sets the interval between feature flag updates when the application is running in the background.
+
+
blockingFlush() - Method in interface com.launchdarkly.sdk.android.subsystems.EventProcessor
+
+
Specifies that any buffered events should be sent immediately, blocking until done.
+
+
Boolean - Static variable in class com.launchdarkly.sdk.LDValue.Convert
+
+
A LDValue.Converter for booleans.
+
+
BOOLEAN - Enum constant in enum class com.launchdarkly.sdk.LDValueType
+
+
The value is a boolean.
+
+
booleanFlag() - Method in class com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder
+
+
A shortcut for setting the flag to use the standard boolean configuration.
+
+
booleanValue() - Method in class com.launchdarkly.sdk.LDValue
+
+
Returns this value as a boolean if it is explicitly a boolean.
+
+
boolVariation(String, boolean) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
boolVariation(String, boolean) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Returns the boolean value of a feature flag for the current evaluation context.
+
+
boolVariationDetail(String, boolean) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
boolVariationDetail(String, boolean) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Returns the boolean value of a feature flag for the current evaluation context, along with + information about how it was calculated.
+
+
build() - Method in class com.launchdarkly.sdk.android.env.EnvironmentReporterBuilder
+
 
+
build() - Method in class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
Returns the configured LDConfig object.
+
+
build() - Method in class com.launchdarkly.sdk.ArrayBuilder
+
+
Returns an array containing the builder's current elements.
+
+
build() - Method in class com.launchdarkly.sdk.ContextBuilder
+
+
Creates an LDContext from the current builder properties.
+
+
build() - Method in class com.launchdarkly.sdk.ContextMultiBuilder
+
+
Creates an LDContext from the current builder properties.
+
+
build() - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Builds the configured LDUser object.
+
+
build() - Method in class com.launchdarkly.sdk.ObjectBuilder
+
+
Returns an object containing the builder's current elements.
+
+
build(ClientContext) - Method in class com.launchdarkly.sdk.android.integrations.TestData
+
 
+
build(ClientContext) - Method in interface com.launchdarkly.sdk.android.subsystems.ComponentConfigurer
+
+
Called internally by the SDK to create an implementation instance.
+
+
BUILD_TYPE - Static variable in class com.launchdarkly.sdk.android.BuildConfig
+
 
+
BUILD_TYPE - Static variable in class com.launchdarkly.sdk.android.test.BuildConfig
+
 
+
buildArray() - Static method in class com.launchdarkly.sdk.LDValue
+
+
Starts building an array value.
+
+
BuildConfig - Class in com.launchdarkly.sdk.android
+
 
+
BuildConfig - Class in com.launchdarkly.sdk.android.test
+
 
+
BuildConfig() - Constructor for class com.launchdarkly.sdk.android.BuildConfig
+
 
+
BuildConfig() - Constructor for class com.launchdarkly.sdk.android.test.BuildConfig
+
 
+
builder(ContextKind, String) - Static method in class com.launchdarkly.sdk.LDContext
+
+
Creates a ContextBuilder for building an LDContext, initializing its key and + kind.
+
+
builder(String) - Static method in class com.launchdarkly.sdk.LDContext
+
+
Creates a ContextBuilder for building an LDContext, initializing its key and setting + kind to ContextKind.DEFAULT.
+
+
Builder(LDConfig.Builder.AutoEnvAttributes) - Constructor for class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
LDConfig.Builder constructor.
+
+
Builder(LDUser) - Constructor for class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Creates a builder based on an existing user.
+
+
Builder(String) - Constructor for class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Creates a builder with the specified key.
+
+
builderFromContext(LDContext) - Static method in class com.launchdarkly.sdk.LDContext
+
+
Creates a builder whose properties are the same as an existing single-kind LDContext.
+
+
buildObject() - Static method in class com.launchdarkly.sdk.LDValue
+
+
Starts building an object value.
+
+
+

C

+
+
Callback<T> - Interface in com.launchdarkly.sdk.android.subsystems
+
+
General-purpose interface for callbacks that can succeed or fail.
+
+
capacity - Variable in class com.launchdarkly.sdk.android.integrations.EventProcessorBuilder
+
+
The capacity of the event buffer
+
+
capacity(int) - Method in class com.launchdarkly.sdk.android.integrations.EventProcessorBuilder
+
+
Set the capacity of the events buffer.
+
+
clear(String, boolean) - Method in interface com.launchdarkly.sdk.android.subsystems.PersistentDataStore
+
+
Removes any values that currently exist in the given namespace.
+
+
CLIENT_NOT_READY - Enum constant in enum class com.launchdarkly.sdk.EvaluationReason.ErrorKind
+
+
Indicates that the caller tried to evaluate a flag before the client had successfully initialized.
+
+
ClientContext - Class in com.launchdarkly.sdk.android.subsystems
+
+
Configuration information provided by the LDClient when + creating components.
+
+
ClientContext(ClientContext) - Constructor for class com.launchdarkly.sdk.android.subsystems.ClientContext
+
 
+
ClientContext(String, IEnvironmentReporter, LDLogger, LDConfig, DataSourceUpdateSink, String, boolean, LDContext, HttpConfiguration, boolean, Boolean, ServiceEndpoints, boolean) - Constructor for class com.launchdarkly.sdk.android.subsystems.ClientContext
+
+
Constructs an instance, specifying all properties.
+
+
close() - Method in class com.launchdarkly.sdk.android.LDClient
+
+
Closes the client.
+
+
com.launchdarkly.sdk - package com.launchdarkly.sdk
+
+
Base namespace for LaunchDarkly Java-based SDKs, containing common types.
+
+
com.launchdarkly.sdk.android - package com.launchdarkly.sdk.android
+
+
Main package for the LaunchDarkly Android SDK, containing the client and configuration classes.
+
+
com.launchdarkly.sdk.android.env - package com.launchdarkly.sdk.android.env
+
 
+
com.launchdarkly.sdk.android.integrations - package com.launchdarkly.sdk.android.integrations
+
+
This package contains integration tools for connecting the SDK to other software components, or + configuring how it connects to LaunchDarkly.
+
+
com.launchdarkly.sdk.android.interfaces - package com.launchdarkly.sdk.android.interfaces
+
+
Types that are part of the public API, but are not needed for basic use of the SDK.
+
+
com.launchdarkly.sdk.android.subsystems - package com.launchdarkly.sdk.android.subsystems
+
+
Interfaces for implementation of LaunchDarkly SDK components.
+
+
com.launchdarkly.sdk.android.test - package com.launchdarkly.sdk.android.test
+
 
+
com.launchdarkly.sdk.json - package com.launchdarkly.sdk.json
+
+
Helper classes and methods for interoperability with JSON.
+
+
compareTo(AttributeRef) - Method in class com.launchdarkly.sdk.AttributeRef
+
 
+
compareTo(ContextKind) - Method in class com.launchdarkly.sdk.ContextKind
+
 
+
ComponentConfigurer<T> - Interface in com.launchdarkly.sdk.android.subsystems
+
+
The common interface for SDK component factories and configuration builders.
+
+
Components - Class in com.launchdarkly.sdk.android
+
+
Provides configurable factories for the standard implementations of LaunchDarkly component interfaces.
+
+
ConnectionInformation - Interface in com.launchdarkly.sdk.android
+
+
Provides various information about a current or previous connection.
+
+
ConnectionInformation.ConnectionMode - Enum Class in com.launchdarkly.sdk.android
+
+
Enumerated type defining the possible values of ConnectionInformation.getConnectionMode().
+
+
connectTimeoutMillis - Variable in class com.launchdarkly.sdk.android.integrations.HttpConfigurationBuilder
+
+
Connection timeout in millis
+
+
connectTimeoutMillis(int) - Method in class com.launchdarkly.sdk.android.integrations.HttpConfigurationBuilder
+
+
Sets the connection timeout.
+
+
ContextBuilder - Class in com.launchdarkly.sdk
+
+
A mutable object that uses the builder pattern to specify properties for LDContext.
+
+
ContextKind - Class in com.launchdarkly.sdk
+
+
A string identifier provided by the application to describe what kind of entity an + LDContext represents.
+
+
ContextMultiBuilder - Class in com.launchdarkly.sdk
+
+
A mutable object that uses the builder pattern to specify properties for a multi-kind + LDContext.
+
+
Converter() - Constructor for class com.launchdarkly.sdk.LDValue.Converter
+
 
+
country(String) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Set the country for a user.
+
+
COUNTRY - Static variable in class com.launchdarkly.sdk.UserAttribute
+
+
Deprecated.
+
Represents the country attribute.
+
+
create(ContextKind, String) - Static method in class com.launchdarkly.sdk.LDContext
+
+
Creates a single-kind LDContext with only the kind and keys specified.
+
+
create(String) - Static method in class com.launchdarkly.sdk.LDContext
+
+
Creates a single-kind LDContext with a kind of ContextKind.DEFAULT} and the specified key.
+
+
createApplicationInfo() - Method in class com.launchdarkly.sdk.android.integrations.ApplicationInfoBuilder
+
+
Called internally by the SDK to create the configuration object.
+
+
createMulti(LDContext...) - Static method in class com.launchdarkly.sdk.LDContext
+
+
Creates a multi-kind LDContext out of the specified single-kind LDContexts.
+
+
createServiceEndpoints() - Method in class com.launchdarkly.sdk.android.integrations.ServiceEndpointsBuilder
+
+
Called internally by the SDK to create a configuration instance.
+
+
custom(String, boolean) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Add a boolean-valued custom attribute.
+
+
custom(String, double) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Adds a double-precision numeric custom attribute.
+
+
custom(String, int) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Adds an integer-valued custom attribute.
+
+
custom(String, LDValue) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Add a custom attribute whose value can be any JSON type, using LDValue.
+
+
custom(String, String) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Adds a String-valued custom attribute.
+
+
+

D

+
+
DataModel - Class in com.launchdarkly.sdk.android
+
+
Contains information about the internal data model for feature flag state.
+
+
DataModel.Flag - Class in com.launchdarkly.sdk.android
+
+
Represents the state of a feature flag evaluation received from LaunchDarkly.
+
+
dataSource() - Static method in class com.launchdarkly.sdk.android.integrations.TestData
+
+
Creates a new instance of the test data source.
+
+
dataSource(ComponentConfigurer<DataSource>) - Method in class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
Sets the configuration of the component that receives feature flag data from LaunchDarkly.
+
+
DataSource - Interface in com.launchdarkly.sdk.android.subsystems
+
+
Interface for an object that receives updates to feature flags from LaunchDarkly.
+
+
DataSourceUpdateSink - Interface in com.launchdarkly.sdk.android.subsystems
+
+
Interface that an implementation of DataSource will use to push data into the SDK.
+
+
DEBUG - Static variable in class com.launchdarkly.sdk.android.BuildConfig
+
 
+
DEBUG - Static variable in class com.launchdarkly.sdk.android.test.BuildConfig
+
 
+
DEFAULT - Static variable in class com.launchdarkly.sdk.ContextKind
+
+
A constant for the default kind of "user".
+
+
DEFAULT_BACKGROUND_POLL_INTERVAL_MILLIS - Static variable in class com.launchdarkly.sdk.android.LDConfig
+
+ +
+
DEFAULT_CAPACITY - Static variable in class com.launchdarkly.sdk.android.integrations.EventProcessorBuilder
+
+ +
+
DEFAULT_CONNECT_TIMEOUT_MILLIS - Static variable in class com.launchdarkly.sdk.android.integrations.HttpConfigurationBuilder
+
+
The default value for HttpConfigurationBuilder.connectTimeoutMillis(int): ten seconds.
+
+
DEFAULT_DIAGNOSTIC_RECORDING_INTERVAL_MILLIS - Static variable in class com.launchdarkly.sdk.android.integrations.EventProcessorBuilder
+
+ +
+
DEFAULT_FLUSH_INTERVAL_MILLIS - Static variable in class com.launchdarkly.sdk.android.integrations.EventProcessorBuilder
+
+
The default value for EventProcessorBuilder.flushIntervalMillis(int): 30 seconds.
+
+
DEFAULT_INITIAL_RECONNECT_DELAY_MILLIS - Static variable in class com.launchdarkly.sdk.android.integrations.StreamingDataSourceBuilder
+
+
The default value for StreamingDataSourceBuilder.initialReconnectDelayMillis(int): 1000 milliseconds.
+
+
DEFAULT_LOGGER_NAME - Static variable in class com.launchdarkly.sdk.android.LDPackageConsts
+
+
Name the logger will use to identify this SDK.
+
+
DEFAULT_POLL_INTERVAL_MILLIS - Static variable in class com.launchdarkly.sdk.android.integrations.PollingDataSourceBuilder
+
+
The default value for PollingDataSourceBuilder.pollIntervalMillis(int): 5 minutes.
+
+
deletedItemPlaceholder(String, int) - Static method in class com.launchdarkly.sdk.android.DataModel.Flag
+
 
+
describeConfiguration(ClientContext) - Method in interface com.launchdarkly.sdk.android.subsystems.DiagnosticDescription
+
+
Used internally by the SDK to inspect the configuration.
+
+
deserialize(String, Class<T>) - Static method in class com.launchdarkly.sdk.json.JsonSerialization
+
+
Parses an object from its JSON representation.
+
+
DiagnosticDescription - Interface in com.launchdarkly.sdk.android.subsystems
+
+
Optional interface for components to describe their own configuration.
+
+
diagnosticOptOut(boolean) - Method in class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
Set to true to opt out of sending diagnostics data.
+
+
diagnosticRecordingIntervalMillis - Variable in class com.launchdarkly.sdk.android.integrations.EventProcessorBuilder
+
+
The diagnostic interval in millis
+
+
diagnosticRecordingIntervalMillis(int) - Method in class com.launchdarkly.sdk.android.integrations.EventProcessorBuilder
+
+
Sets the interval at which periodic diagnostic data is sent.
+
+
disableBackgroundUpdating(boolean) - Method in class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
Sets whether feature flag updates should be disabled when your app is in the background.
+
+
Disabled - Enum constant in enum class com.launchdarkly.sdk.android.LDConfig.Builder.AutoEnvAttributes
+
+
Disables the Auto EnvironmentAttributes functionality.
+
+
Double - Static variable in class com.launchdarkly.sdk.LDValue.Convert
+
+
A LDValue.Converter for doubles.
+
+
doubleValue() - Method in class com.launchdarkly.sdk.LDValue
+
+
Returns this value as a double if it is numeric.
+
+
doubleVariation(String, double) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
doubleVariation(String, double) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Returns the double-precision floating-point numeric value of a feature flag for the + current evaluation context.
+
+
doubleVariationDetail(String, double) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
doubleVariationDetail(String, double) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Returns the double-precision floating-point numeric value of a feature flag for the + current evaluation context, along with information about how it was calculated.
+
+
+

E

+
+
email(String) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Sets the user's e-mail address.
+
+
EMAIL - Static variable in class com.launchdarkly.sdk.UserAttribute
+
+
Deprecated.
+
Represents the user key attribute.
+
+
enableCollectionFromPlatform(Application) - Method in class com.launchdarkly.sdk.android.env.EnvironmentReporterBuilder
+
+
Enables automatically collecting attributes from the platform.
+
+
Enabled - Enum constant in enum class com.launchdarkly.sdk.android.LDConfig.Builder.AutoEnvAttributes
+
+
Enables the Auto EnvironmentAttributes functionality.
+
+
EnvironmentReporterBuilder - Class in com.launchdarkly.sdk.android.env
+
+
Builder for making an IEnvironmentReporter with various options.
+
+
EnvironmentReporterBuilder() - Constructor for class com.launchdarkly.sdk.android.env.EnvironmentReporterBuilder
+
 
+
equals(Object) - Method in class com.launchdarkly.sdk.android.DataModel.Flag
+
 
+
equals(Object) - Method in class com.launchdarkly.sdk.AttributeRef
+
 
+
equals(Object) - Method in class com.launchdarkly.sdk.ContextKind
+
 
+
equals(Object) - Method in class com.launchdarkly.sdk.EvaluationDetail
+
 
+
equals(Object) - Method in class com.launchdarkly.sdk.EvaluationReason
+
 
+
equals(Object) - Method in class com.launchdarkly.sdk.LDContext
+
 
+
equals(Object) - Method in class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
equals(Object) - Method in class com.launchdarkly.sdk.LDValue
+
+
Returns true if the other object is an LDValue that is logically equal.
+
+
equals(Object) - Method in class com.launchdarkly.sdk.UserAttribute
+
+
Deprecated.
+
error(EvaluationReason.ErrorKind) - Static method in class com.launchdarkly.sdk.EvaluationReason
+
+
Returns an instance whose kind is EvaluationReason.Kind.ERROR.
+
+
error(EvaluationReason.ErrorKind, LDValue) - Static method in class com.launchdarkly.sdk.EvaluationDetail
+
+
Shortcut for creating an instance with an error result.
+
+
ERROR - Enum constant in enum class com.launchdarkly.sdk.EvaluationReason.Kind
+
+
Indicates that the flag could not be evaluated, e.g.
+
+
EvaluationDetail<T> - Class in com.launchdarkly.sdk
+
+
An object returned by the SDK's "variation detail" methods such as boolVariationDetail, + combining the result of a flag evaluation with an explanation of how it was calculated.
+
+
EvaluationReason - Class in com.launchdarkly.sdk
+
+
Describes the reason that a flag evaluation produced a particular value.
+
+
EvaluationReason.BigSegmentsStatus - Enum Class in com.launchdarkly.sdk
+
+
Enumerated type defining the possible values of EvaluationReason.getBigSegmentsStatus().
+
+
EvaluationReason.ErrorKind - Enum Class in com.launchdarkly.sdk
+
+
Enumerated type defining the possible values of EvaluationReason.getErrorKind().
+
+
EvaluationReason.Kind - Enum Class in com.launchdarkly.sdk
+
+
Enumerated type defining the possible values of EvaluationReason.getKind().
+
+
evaluationReasons(boolean) - Method in class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
If enabled, LaunchDarkly will provide additional information about how flag values were + calculated.
+
+
EventProcessor - Interface in com.launchdarkly.sdk.android.subsystems
+
+
Interface for an object that can send or store analytics events.
+
+
EventProcessorBuilder - Class in com.launchdarkly.sdk.android.integrations
+
+
Contains methods for configuring delivery of analytics events.
+
+
EventProcessorBuilder() - Constructor for class com.launchdarkly.sdk.android.integrations.EventProcessorBuilder
+
 
+
events(ComponentConfigurer<EventProcessor>) - Method in class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
Sets the implementation of EventProcessor to be used for processing analytics events.
+
+
events(String) - Method in class com.launchdarkly.sdk.android.integrations.ServiceEndpointsBuilder
+
+
Equivalent to ServiceEndpointsBuilder.events(URI), specifying the URI as a string.
+
+
events(URI) - Method in class com.launchdarkly.sdk.android.integrations.ServiceEndpointsBuilder
+
+
Sets a custom base URI for the events service.
+
+
eventsBaseUri - Variable in class com.launchdarkly.sdk.android.integrations.ServiceEndpointsBuilder
+
+
Base URI for events
+
+
exception(Exception) - Static method in class com.launchdarkly.sdk.EvaluationReason
+
+
Returns an instance whose kind is EvaluationReason.Kind.ERROR, with an exception instance.
+
+
EXCEPTION - Enum constant in enum class com.launchdarkly.sdk.EvaluationReason.ErrorKind
+
+
Indicates that an unexpected exception stopped flag evaluation.
+
+
+

F

+
+
fallthrough() - Static method in class com.launchdarkly.sdk.EvaluationReason
+
+
Returns an instance whose kind is EvaluationReason.Kind.FALLTHROUGH.
+
+
fallthrough(boolean) - Static method in class com.launchdarkly.sdk.EvaluationReason
+
+
Returns an instance whose kind is EvaluationReason.Kind.FALLTHROUGH and + where the inExperiment parameter represents whether the evaluation was + part of an experiment.
+
+
FALLTHROUGH - Enum constant in enum class com.launchdarkly.sdk.EvaluationReason.Kind
+
+
Indicates that the flag was on but the user did not match any targets or rules.
+
+
FeatureFlagChangeListener - Interface in com.launchdarkly.sdk.android
+
+
Callback interface used for listening to changes to a feature flag.
+
+
FIRST_NAME - Static variable in class com.launchdarkly.sdk.UserAttribute
+
+
Deprecated.
+
Represents the first name attribute.
+
+
firstName(String) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Sets the user's first name
+
+
flag(String) - Method in class com.launchdarkly.sdk.android.integrations.TestData
+
+
Creates or copies a TestData.FlagBuilder for building a test flag configuration.
+
+
Flag(String, LDValue, int, Integer, Integer, boolean, boolean, Long, EvaluationReason) - Constructor for class com.launchdarkly.sdk.android.DataModel.Flag
+
+
Constructs an instance, specifying all properties.
+
+
FLAG_NOT_FOUND - Enum constant in enum class com.launchdarkly.sdk.EvaluationReason.ErrorKind
+
+
Indicates that the caller provided a flag key that did not match any known flag.
+
+
Float - Static variable in class com.launchdarkly.sdk.LDValue.Convert
+
+
A LDValue.Converter for floats.
+
+
floatValue() - Method in class com.launchdarkly.sdk.LDValue
+
+
Returns this value as a float if it is numeric.
+
+
flush() - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
flush() - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Sends all pending events to LaunchDarkly.
+
+
flush() - Method in interface com.launchdarkly.sdk.android.subsystems.EventProcessor
+
+
Specifies that any buffered events should be sent as soon as possible, rather than waiting + for the next flush interval.
+
+
flushIntervalMillis - Variable in class com.launchdarkly.sdk.android.integrations.EventProcessorBuilder
+
+
The flush interval in millis
+
+
flushIntervalMillis(int) - Method in class com.launchdarkly.sdk.android.integrations.EventProcessorBuilder
+
+
Sets the interval between flushes of the event buffer.
+
+
forName(String) - Static method in class com.launchdarkly.sdk.UserAttribute
+
+
Deprecated.
+
Returns a UserAttribute instance for the specified attribute name.
+
+
fromJson(String) - Static method in class com.launchdarkly.sdk.android.DataModel.Flag
+
+
Deserializes a flag from JSON to DataModel.Flag
+
+
fromLiteral(String) - Static method in class com.launchdarkly.sdk.AttributeRef
+
+
Similar to AttributeRef.fromPath(String), except that it always interprets the string as a literal + attribute name, never as a slash-delimited path expression.
+
+
fromPath(String) - Static method in class com.launchdarkly.sdk.AttributeRef
+
+
Creates an AttributeRef from a string.
+
+
fromType(T) - Method in class com.launchdarkly.sdk.LDValue.Converter
+
+
Converts a value of the specified type to an LDValue.
+
+
fromUser(LDUser) - Static method in class com.launchdarkly.sdk.LDContext
+
+
Deprecated. +
use LDContext directly instead.
+
+
+
fromValue(T, int, EvaluationReason) - Static method in class com.launchdarkly.sdk.EvaluationDetail
+
+
Factory method for an arbitrary value.
+
+
+

G

+
+
generateAnonymousKeys(boolean) - Method in class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
Set to true to make the SDK provide unique keys for anonymous contexts.
+
+
get() - Static method in class com.launchdarkly.sdk.android.LDClient
+
+
Returns the LDClient instance that was previously created with LDClient.init(Application, LDConfig, LDContext, int) + or LDClient.init(Application, LDConfig, LDContext).
+
+
get(int) - Method in class com.launchdarkly.sdk.LDValue
+
+
Returns an array element by index.
+
+
get(String) - Method in class com.launchdarkly.sdk.LDValue
+
+
Returns an object property by name.
+
+
getAllNamespaces() - Method in interface com.launchdarkly.sdk.android.subsystems.PersistentDataStore
+
+
Returns all namespaces that exist in the data store.
+
+
getApplicationId() - Method in class com.launchdarkly.sdk.android.subsystems.ApplicationInfo
+
+
A unique identifier representing the application where the LaunchDarkly SDK is running.
+
+
getApplicationInfo() - Method in interface com.launchdarkly.sdk.android.env.IEnvironmentReporter
+
 
+
getApplicationName() - Method in class com.launchdarkly.sdk.android.subsystems.ApplicationInfo
+
+
A human friendly name for the application in which the LaunchDarkly SDK is running.
+
+
getApplicationVersion() - Method in class com.launchdarkly.sdk.android.subsystems.ApplicationInfo
+
+
A unique identifier representing the version of the application where the + LaunchDarkly SDK is running.
+
+
getApplicationVersionName() - Method in class com.launchdarkly.sdk.android.subsystems.ApplicationInfo
+
+
A human friendly name for the version of the application in which the LaunchDarkly SDK is running.
+
+
getAttribute(UserAttribute) - Method in class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
Gets the value of a user attribute, if present.
+
+
getAvatar() - Method in class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
Returns the value of the avatar property for the user, if set.
+
+
getBaseLogger() - Method in class com.launchdarkly.sdk.android.subsystems.ClientContext
+
+
The base logger for the SDK.
+
+
getBigSegmentsStatus() - Method in class com.launchdarkly.sdk.EvaluationReason
+
+
Describes the validity of Big Segment information, if and only if the flag evaluation required + querying at least one Big Segment.
+
+
getComponent(int) - Method in class com.launchdarkly.sdk.AttributeRef
+
+
Retrieves a single path component from the attribute reference.
+
+
getConfig() - Method in class com.launchdarkly.sdk.android.subsystems.ClientContext
+
+
Returns the full configuration object.
+
+
getConnectionInformation() - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
getConnectionInformation() - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Gets a ConnectionInformation object from the client representing the current state + of the clients connection.
+
+
getConnectionMode() - Method in interface com.launchdarkly.sdk.android.ConnectionInformation
+
 
+
getConnectTimeoutMillis() - Method in class com.launchdarkly.sdk.android.subsystems.HttpConfiguration
+
+
The connection timeout.
+
+
getCountry() - Method in class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
Returns the value of the country property for the user, if set.
+
+
getCustomAttributeNames() - Method in class com.launchdarkly.sdk.LDContext
+
+
Returns the names of all non-built-in attributes that have been set in this context.
+
+
getCustomAttributes() - Method in class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
Returns an enumeration of all custom attribute names that were set for this user.
+
+
getDataSourceUpdateSink() - Method in class com.launchdarkly.sdk.android.subsystems.ClientContext
+
 
+
getDefaultHeaders() - Method in class com.launchdarkly.sdk.android.subsystems.HttpConfiguration
+
+
Returns the basic headers that should be added to all HTTP requests from SDK components to + LaunchDarkly services, based on the current SDK configuration.
+
+
getDepth() - Method in class com.launchdarkly.sdk.AttributeRef
+
+
The number of path components in the AttributeRef.
+
+
getEmail() - Method in class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
Returns the value of the email property for the user, if set.
+
+
getEnvironmentName() - Method in class com.launchdarkly.sdk.android.subsystems.ClientContext
+
+
Returns the configured environment name.
+
+
getEnvironmentReporter() - Method in class com.launchdarkly.sdk.android.subsystems.ClientContext
+
 
+
getError() - Method in class com.launchdarkly.sdk.AttributeRef
+
+
Null for a valid AttributeRef, or a non-null error message for an invalid AttributeRef.
+
+
getError() - Method in class com.launchdarkly.sdk.LDContext
+
+
Returns null for a valid LDContext, or an error message for an invalid one.
+
+
getErrorKind() - Method in class com.launchdarkly.sdk.EvaluationReason
+
+
An enumeration value indicating the general category of error, if the + kind is EvaluationReason.Kind.PREREQUISITE_FAILED.
+
+
getEvaluationContext() - Method in class com.launchdarkly.sdk.android.subsystems.ClientContext
+
+
Returns the current evaluation context as of the time that this component was created.
+
+
getEventsBaseUri() - Method in class com.launchdarkly.sdk.android.interfaces.ServiceEndpoints
+
+
The base URI for the events service.
+
+
getException() - Method in class com.launchdarkly.sdk.EvaluationReason
+
+
The exception that caused the error condition, if the kind is + EvaluationReason.Kind.ERROR and the errorKind is EvaluationReason.ErrorKind.EXCEPTION.
+
+
getFailureType() - Method in exception com.launchdarkly.sdk.android.LDFailure
+
 
+
getFirstName() - Method in class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
Returns the value of the first name property for the user, if set.
+
+
getForMobileKey(String) - Static method in class com.launchdarkly.sdk.android.LDClient
+
+
Returns the LDClient instance that was previously created with LDClient.init(Application, LDConfig, LDContext, int) + or LDClient.init(Application, LDConfig, LDContext), for a specific environment.
+
+
getFullyQualifiedKey() - Method in class com.launchdarkly.sdk.LDContext
+
+
Returns a string that describes the LDContext uniquely based on kind and + key values.
+
+
getHeaderTransform() - Method in class com.launchdarkly.sdk.android.subsystems.HttpConfiguration
+
+
Returns the callback for modifying request headers, if any.
+
+
getHttp() - Method in class com.launchdarkly.sdk.android.subsystems.ClientContext
+
+
Returns the HTTP configuration.
+
+
getIndividualContext(int) - Method in class com.launchdarkly.sdk.LDContext
+
+
Returns the single-kind LDContext corresponding to one of the kinds in this context.
+
+
getIndividualContext(ContextKind) - Method in class com.launchdarkly.sdk.LDContext
+
+
Returns the single-kind LDContext corresponding to one of the kinds in this context.
+
+
getIndividualContext(String) - Method in class com.launchdarkly.sdk.LDContext
+
+
Same as LDContext.getIndividualContext(ContextKind), but specifies the kind as a + plain string.
+
+
getIndividualContextCount() - Method in class com.launchdarkly.sdk.LDContext
+
+
Returns the number of context kinds in this context.
+
+
getIp() - Method in class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
Returns the value of the IP property for the user, if set.
+
+
getKey() - Method in class com.launchdarkly.sdk.LDContext
+
+
Returns the context's key attribute.
+
+
getKey() - Method in class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
Returns the user's unique key.
+
+
getKeys(String) - Method in interface com.launchdarkly.sdk.android.subsystems.PersistentDataStore
+
+
Returns all keys that exist in the namespace.
+
+
getKind() - Method in class com.launchdarkly.sdk.EvaluationReason
+
+
Returns an enum indicating the general category of the reason.
+
+
getKind() - Method in class com.launchdarkly.sdk.LDContext
+
+
Returns the context's kind attribute.
+
+
getLastFailedConnection() - Method in interface com.launchdarkly.sdk.android.ConnectionInformation
+
 
+
getLastFailure() - Method in interface com.launchdarkly.sdk.android.ConnectionInformation
+
 
+
getLastName() - Method in class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
Returns the value of the last name property for the user, if set.
+
+
getLastSuccessfulConnection() - Method in interface com.launchdarkly.sdk.android.ConnectionInformation
+
 
+
getLocale() - Method in interface com.launchdarkly.sdk.android.env.IEnvironmentReporter
+
 
+
getManufacturer() - Method in interface com.launchdarkly.sdk.android.env.IEnvironmentReporter
+
 
+
getMobileKey() - Method in class com.launchdarkly.sdk.android.LDConfig
+
 
+
getMobileKey() - Method in class com.launchdarkly.sdk.android.subsystems.ClientContext
+
+
Returns the configured mobile key.
+
+
getMobileKeys() - Method in class com.launchdarkly.sdk.android.LDConfig
+
 
+
getModel() - Method in interface com.launchdarkly.sdk.android.env.IEnvironmentReporter
+
 
+
getName() - Method in class com.launchdarkly.sdk.LDContext
+
+
Returns the context's name attribute.
+
+
getName() - Method in class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
Returns the value of the full name property for the user, if set.
+
+
getName() - Method in class com.launchdarkly.sdk.UserAttribute
+
+
Deprecated.
+
Returns the case-sensitive attribute name.
+
+
getOSFamily() - Method in interface com.launchdarkly.sdk.android.env.IEnvironmentReporter
+
 
+
getOSName() - Method in interface com.launchdarkly.sdk.android.env.IEnvironmentReporter
+
 
+
getOSVersion() - Method in interface com.launchdarkly.sdk.android.env.IEnvironmentReporter
+
 
+
getPollingBaseUri() - Method in class com.launchdarkly.sdk.android.interfaces.ServiceEndpoints
+
+
The base URI for the polling service.
+
+
getPrerequisiteKey() - Method in class com.launchdarkly.sdk.EvaluationReason
+
+
The key of the prerequisite flag that did not return the desired variation, if the + kind is EvaluationReason.Kind.PREREQUISITE_FAILED.
+
+
getPreviouslyInBackground() - Method in class com.launchdarkly.sdk.android.subsystems.ClientContext
+
+
Returns the previous background state.
+
+
getPrivateAttribute(int) - Method in class com.launchdarkly.sdk.LDContext
+
+
Retrieves one of the private attribute references that were specified for this context.
+
+
getPrivateAttributeCount() - Method in class com.launchdarkly.sdk.LDContext
+
+
Returns the number of private attribute references that were specified for this context.
+
+
getPrivateAttributes() - Method in class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
Returns an enumeration of all attributes that were marked private for this user.
+
+
getReason() - Method in class com.launchdarkly.sdk.EvaluationDetail
+
+
An object describing the main factor that influenced the flag evaluation value.
+
+
getResponseCode() - Method in exception com.launchdarkly.sdk.android.LDInvalidResponseCodeFailure
+
 
+
getRuleId() - Method in class com.launchdarkly.sdk.EvaluationReason
+
+
The unique identifier of the rule that was matched, if the kind is + EvaluationReason.Kind.RULE_MATCH.
+
+
getRuleIndex() - Method in class com.launchdarkly.sdk.EvaluationReason
+
+
The index of the rule that was matched (0 for the first rule in the feature flag), + if the kind is EvaluationReason.Kind.RULE_MATCH.
+
+
getServiceEndpoints() - Method in class com.launchdarkly.sdk.android.subsystems.ClientContext
+
+
Returns the base service URIs used by SDK components.
+
+
getStreamingBaseUri() - Method in class com.launchdarkly.sdk.android.interfaces.ServiceEndpoints
+
+
The base URI for the streaming service.
+
+
getType() - Method in class com.launchdarkly.sdk.LDValue
+
+
Gets the JSON type for this value.
+
+
getValue() - Method in class com.launchdarkly.sdk.EvaluationDetail
+
+
The result of the flag evaluation.
+
+
getValue(AttributeRef) - Method in class com.launchdarkly.sdk.LDContext
+
+
Looks up the value of any attribute of the context, or a value contained within an + attribute, based on an AttributeRef.
+
+
getValue(String) - Method in class com.launchdarkly.sdk.LDContext
+
+
Looks up the value of any attribute of the context by name.
+
+
getValue(String, String) - Method in interface com.launchdarkly.sdk.android.subsystems.PersistentDataStore
+
+
Attempts to retrieve a string value from the store.
+
+
getVariationIndex() - Method in class com.launchdarkly.sdk.EvaluationDetail
+
+
The index of the returned value within the flag's list of variations, e.g.
+
+
getVersion() - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
getVersion() - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Returns the version of the SDK, for instance "2.7.0".
+
+
+

H

+
+
hashCode() - Method in class com.launchdarkly.sdk.AttributeRef
+
 
+
hashCode() - Method in class com.launchdarkly.sdk.ContextKind
+
 
+
hashCode() - Method in class com.launchdarkly.sdk.EvaluationDetail
+
 
+
hashCode() - Method in class com.launchdarkly.sdk.EvaluationReason
+
 
+
hashCode() - Method in class com.launchdarkly.sdk.LDContext
+
 
+
hashCode() - Method in class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
hashCode() - Method in class com.launchdarkly.sdk.LDValue
+
 
+
hashCode() - Method in class com.launchdarkly.sdk.UserAttribute
+
+
Deprecated.
+
headerTransform - Variable in class com.launchdarkly.sdk.android.integrations.HttpConfigurationBuilder
+
+
LDHeaderUpdater that will be applied to requests
+
+
headerTransform(LDHeaderUpdater) - Method in class com.launchdarkly.sdk.android.integrations.HttpConfigurationBuilder
+
+
Provides a callback for dynamically modifying headers used on requests to LaunchDarkly services.
+
+
HEALTHY - Enum constant in enum class com.launchdarkly.sdk.EvaluationReason.BigSegmentsStatus
+
+
Indicates that the Big Segment query involved in the flag evaluation was successful, and that + the segment state is considered up to date.
+
+
http(ComponentConfigurer<HttpConfiguration>) - Method in class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
Sets the SDK's networking configuration, using a configuration builder.
+
+
httpConfiguration() - Static method in class com.launchdarkly.sdk.android.Components
+
+
Returns a configuration builder for the SDK's networking configuration.
+
+
HttpConfiguration - Class in com.launchdarkly.sdk.android.subsystems
+
+
Encapsulates top-level HTTP configuration that applies to all SDK components.
+
+
HttpConfiguration(int, Map<String, String>, LDHeaderUpdater, boolean) - Constructor for class com.launchdarkly.sdk.android.subsystems.HttpConfiguration
+
+
Creates an instance.
+
+
HttpConfigurationBuilder - Class in com.launchdarkly.sdk.android.integrations
+
+
Contains methods for configuring the SDK's networking behavior.
+
+
HttpConfigurationBuilder() - Constructor for class com.launchdarkly.sdk.android.integrations.HttpConfigurationBuilder
+
 
+
+

I

+
+
IContextModifier - Interface in com.launchdarkly.sdk.android
+
+
Modifies contexts when invoked.
+
+
identify(LDContext) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
identify(LDContext) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Changes the current evaluation context, requests flags for that context from LaunchDarkly if we are online, + and generates an analytics event to tell LaunchDarkly about the context.
+
+
IEnvironmentReporter - Interface in com.launchdarkly.sdk.android.env
+
+
Reports information about the software/hardware environment that the SDK is + executing within.
+
+
init(Application, LDConfig, LDContext) - Static method in class com.launchdarkly.sdk.android.LDClient
+
+
Initializes the singleton/primary instance.
+
+
init(Application, LDConfig, LDContext, int) - Static method in class com.launchdarkly.sdk.android.LDClient
+
+
Initializes the singleton instance and blocks for up to startWaitSeconds seconds + until the client has been initialized.
+
+
init(LDContext, Map<String, DataModel.Flag>) - Method in interface com.launchdarkly.sdk.android.subsystems.DataSourceUpdateSink
+
+
Completely overwrites the current contents of the data store with a new set of items.
+
+
initialReconnectDelayMillis - Variable in class com.launchdarkly.sdk.android.integrations.StreamingDataSourceBuilder
+
+
The initial reconnection delay in millis
+
+
initialReconnectDelayMillis(int) - Method in class com.launchdarkly.sdk.android.integrations.StreamingDataSourceBuilder
+
+
Sets the initial reconnect delay for the streaming connection.
+
+
Integer - Static variable in class com.launchdarkly.sdk.LDValue.Convert
+
+
A LDValue.Converter for integers.
+
+
intValue() - Method in class com.launchdarkly.sdk.LDValue
+
+
Returns this value as an int if it is numeric.
+
+
intVariation(String, int) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
intVariation(String, int) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Returns the integer value of a feature flag for the current evaluation context.
+
+
intVariationDetail(String, int) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
intVariationDetail(String, int) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Returns the integer value of a feature flag for the current evaluation context, along with + information about how it was calculated.
+
+
INVALID_RESPONSE_BODY - Enum constant in enum class com.launchdarkly.sdk.android.LDFailure.FailureType
+
+
A response body received either through polling or streaming was unable to be parsed.
+
+
ip(String) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Sets the IP for a user.
+
+
IP - Static variable in class com.launchdarkly.sdk.UserAttribute
+
+
Deprecated.
+
Represents the IP address attribute.
+
+
isAnonymous() - Method in class com.launchdarkly.sdk.LDContext
+
+
Returns true if this context is only intended for flag evaluations and will not be + indexed by LaunchDarkly.
+
+
isAnonymous() - Method in class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
Returns true if this user was marked anonymous.
+
+
isAttributePrivate(UserAttribute) - Method in class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
Tests whether an attribute has been marked private for this user.
+
+
isAutoEnvAttributes() - Method in class com.launchdarkly.sdk.android.LDConfig
+
 
+
isBuiltIn() - Method in class com.launchdarkly.sdk.UserAttribute
+
+
Deprecated.
+
Returns true for a built-in attribute or false for a custom attribute.
+
+
isDefault() - Method in class com.launchdarkly.sdk.ContextKind
+
+
True if this is equal to ContextKind.DEFAULT ("user").
+
+
isDefaultValue() - Method in class com.launchdarkly.sdk.EvaluationDetail
+
+
Returns true if the flag evaluation returned the default value, rather than one of the flag's + variations.
+
+
isDisableBackgroundPolling() - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
isDisableBackgroundPolling() - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Checks whether LDConfig.Builder.disableBackgroundUpdating(boolean) was set to + true in the configuration.
+
+
isDisableBackgroundPolling() - Method in class com.launchdarkly.sdk.android.LDConfig
+
 
+
isEvaluationReasons() - Method in class com.launchdarkly.sdk.android.LDConfig
+
 
+
isEvaluationReasons() - Method in class com.launchdarkly.sdk.android.subsystems.ClientContext
+
+
Returns true if evaluation reasons are enabled.
+
+
isGenerateAnonymousKeys() - Method in class com.launchdarkly.sdk.android.LDConfig
+
 
+
isInBackground() - Method in class com.launchdarkly.sdk.android.subsystems.ClientContext
+
+
Returns true if the application was in the background at the time that this component was + created.
+
+
isInExperiment() - Method in class com.launchdarkly.sdk.EvaluationReason
+
+
Whether the evaluation was part of an experiment.
+
+
isInitialized() - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
isInitialized() - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Checks whether the client is ready to return feature flag values.
+
+
isInt() - Method in class com.launchdarkly.sdk.LDValue
+
+
Tests whether this value is a number that is also an integer.
+
+
isMultiple() - Method in class com.launchdarkly.sdk.LDContext
+
+
Returns true if this is a multi-kind context.
+
+
isNull() - Method in class com.launchdarkly.sdk.LDValue
+
+
Tests whether this value is a null.
+
+
isNumber() - Method in class com.launchdarkly.sdk.LDValue
+
+
Tests whether this value is a number (not a numeric string).
+
+
isOffline() - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
isOffline() - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Checks whether the client has been put into offline mode.
+
+
isOffline() - Method in class com.launchdarkly.sdk.android.LDConfig
+
 
+
isRetryable() - Method in exception com.launchdarkly.sdk.android.LDInvalidResponseCodeFailure
+
 
+
isSetOffline() - Method in class com.launchdarkly.sdk.android.subsystems.ClientContext
+
+
Returns true if the application has specified that the SDK should be offline.
+
+
isString() - Method in class com.launchdarkly.sdk.LDValue
+
+
Tests whether this value is a string.
+
+
isUseReport() - Method in class com.launchdarkly.sdk.android.subsystems.HttpConfiguration
+
+
The setting for whether to use the HTTP REPORT method.
+
+
isValid() - Method in class com.launchdarkly.sdk.AttributeRef
+
+
True for a valid AttributeRef, false for an invalid AttributeRef.
+
+
isValid() - Method in class com.launchdarkly.sdk.LDContext
+
+
Returns true for a valid LDContext, false for an invalid one.
+
+
+

J

+
+
JsonSerializable - Interface in com.launchdarkly.sdk.json
+
+
Marker interface for SDK classes that have a custom JSON serialization.
+
+
JsonSerialization - Class in com.launchdarkly.sdk.json
+
+
Helper methods for JSON serialization of SDK classes.
+
+
jsonValueVariation(String, LDValue) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
jsonValueVariation(String, LDValue) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Returns the value of a feature flag for the current evaluation context, which may be of any + type.
+
+
jsonValueVariationDetail(String, LDValue) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
jsonValueVariationDetail(String, LDValue) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Returns the value of a feature flag for the current evaluation context, which may be of any + type, along with information about how it was calculated.
+
+
+

K

+
+
key(String) - Method in class com.launchdarkly.sdk.ContextBuilder
+
+
Sets the context's key attribute.
+
+
key(String) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Changes the user's key.
+
+
KEY - Static variable in class com.launchdarkly.sdk.UserAttribute
+
+
Deprecated.
+
Represents the user key attribute.
+
+
keys() - Method in class com.launchdarkly.sdk.LDValue
+
+
Enumerates the property names in an object.
+
+
kind(ContextKind) - Method in class com.launchdarkly.sdk.ContextBuilder
+
+
Sets the context's kind attribute.
+
+
kind(String) - Method in class com.launchdarkly.sdk.ContextBuilder
+
+
Sets the context's kind attribute, as a string.
+
+
+

L

+
+
LAST_NAME - Static variable in class com.launchdarkly.sdk.UserAttribute
+
+
Deprecated.
+
Represents the last name attribute.
+
+
lastName(String) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Sets the user's last name.
+
+
LaunchDarklyException - Exception in com.launchdarkly.sdk.android
+
+
Exception class that can be thrown by LaunchDarkly client methods.
+
+
LaunchDarklyException(String) - Constructor for exception com.launchdarkly.sdk.android.LaunchDarklyException
+
 
+
LDAllFlagsListener - Interface in com.launchdarkly.sdk.android
+
+
Callback interface used for listening to changes to the flag store.
+
+
LDAndroidLogging - Class in com.launchdarkly.sdk.android
+
+
Allows LaunchDarkly log output to be sent directly to the native Android Log API.
+
+
LDAndroidLogging() - Constructor for class com.launchdarkly.sdk.android.LDAndroidLogging
+
 
+
LDClient - Class in com.launchdarkly.sdk.android
+
+
Client for accessing LaunchDarkly's Feature Flag system.
+
+
LDClient(PlatformState, IEnvironmentReporter, TaskExecutor, PersistentDataStoreWrapper.PerEnvironmentData, LDContext, LDConfig, String, String) - Constructor for class com.launchdarkly.sdk.android.LDClient
+
 
+
LDClientInterface - Interface in com.launchdarkly.sdk.android
+
+
The interface for the LaunchDarkly SDK client.
+
+
LDConfig - Class in com.launchdarkly.sdk.android
+
+
This class exposes advanced configuration options for LDClient.
+
+
LDConfig.Builder - Class in com.launchdarkly.sdk.android
+
+
A builder that helps construct + LDConfig objects.
+
+
LDConfig.Builder.AutoEnvAttributes - Enum Class in com.launchdarkly.sdk.android
+
+
Enable / disable options for Auto Environment Attributes functionality.
+
+
LDContext - Class in com.launchdarkly.sdk
+
+
A collection of attributes that can be referenced in flag evaluations and analytics events.
+
+
LDFailure - Exception in com.launchdarkly.sdk.android
+
+
Container class representing a communication failure with LaunchDarkly servers.
+
+
LDFailure(String, LDFailure.FailureType) - Constructor for exception com.launchdarkly.sdk.android.LDFailure
+
 
+
LDFailure(String, Throwable, LDFailure.FailureType) - Constructor for exception com.launchdarkly.sdk.android.LDFailure
+
 
+
LDFailure.FailureType - Enum Class in com.launchdarkly.sdk.android
+
+
Enumerated type defining the possible values of LDFailure.getFailureType().
+
+
LDGson - Class in com.launchdarkly.sdk.json
+
+
A helper class for interoperability with application code that uses Gson.
+
+
LDHeaderUpdater - Interface in com.launchdarkly.sdk.android
+
+
An interface to provide the SDK with a function used to modify HTTP headers before each request + to the LaunchDarkly service.
+
+
LDInvalidResponseCodeFailure - Exception in com.launchdarkly.sdk.android
+
+
Container class representing a communication failure with LaunchDarkly servers in which the response was unexpected.
+
+
LDInvalidResponseCodeFailure(String, int, boolean) - Constructor for exception com.launchdarkly.sdk.android.LDInvalidResponseCodeFailure
+
 
+
LDInvalidResponseCodeFailure(String, Throwable, int, boolean) - Constructor for exception com.launchdarkly.sdk.android.LDInvalidResponseCodeFailure
+
 
+
LDJackson - Class in com.launchdarkly.sdk.json
+
+
A helper class for interoperability with application code that uses + Jackson.
+
+
LDPackageConsts - Class in com.launchdarkly.sdk.android
+
+
Constants related to the SDK package
+
+
LDPackageConsts() - Constructor for class com.launchdarkly.sdk.android.LDPackageConsts
+
 
+
LDStatusListener - Interface in com.launchdarkly.sdk.android
+
+
Listener for various SDK state changes.
+
+
LDTimberLogging - Class in com.launchdarkly.sdk.android
+
+
Allows LaunchDarkly log output to be forwarded to Timber.
+
+
LDTimberLogging() - Constructor for class com.launchdarkly.sdk.android.LDTimberLogging
+
 
+
LDTimberLogging.Adapter - Class in com.launchdarkly.sdk.android
+
+
A Timber implementation of the LDLogAdapter interface.
+
+
LDUser - Class in com.launchdarkly.sdk
+
+
Deprecated. +
use LDContext instead.
+
+
+
LDUser(LDUser.Builder) - Constructor for class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
LDUser(String) - Constructor for class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
Create a user with the given key
+
+
LDUser.Builder - Class in com.launchdarkly.sdk
+
+ +
+
LDUtil - Class in com.launchdarkly.sdk.android
+
+
Various utility functions
+
+
LDUtil() - Constructor for class com.launchdarkly.sdk.android.LDUtil
+
 
+
LDValue - Class in com.launchdarkly.sdk
+
+
An immutable instance of any data type that is allowed in JSON.
+
+
LDValue() - Constructor for class com.launchdarkly.sdk.LDValue
+
 
+
LDValue.Convert - Class in com.launchdarkly.sdk
+
+
Predefined instances of LDValue.Converter for commonly used types.
+
+
LDValue.Converter<T> - Class in com.launchdarkly.sdk
+
+
Defines a conversion between LDValue and some other type.
+
+
LDValueType - Enum Class in com.launchdarkly.sdk
+
+
Describes the type of an LDValue.
+
+
LIBRARY_PACKAGE_NAME - Static variable in class com.launchdarkly.sdk.android.BuildConfig
+
 
+
logAdapter(LDLogAdapter) - Method in class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
Specifies the implementation of logging to use.
+
+
loggerName(String) - Method in class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
Specifies a custom logger name/tag for the SDK.
+
+
logLevel(LDLogLevel) - Method in class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
Specifies the lowest level of logging to enable.
+
+
Long - Static variable in class com.launchdarkly.sdk.LDValue.Convert
+
+
A LDValue.Converter for long integers.
+
+
longValue() - Method in class com.launchdarkly.sdk.LDValue
+
+
Returns this value as a long if it is numeric.
+
+
+

M

+
+
MALFORMED_FLAG - Enum constant in enum class com.launchdarkly.sdk.EvaluationReason.ErrorKind
+
+
Indicates that there was an internal inconsistency in the flag data, e.g.
+
+
maxCachedContexts(int) - Method in class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
Sets the maximum number of evaluation contexts to cache the flag values for locally in + the device's SharedPreferences.
+
+
MIN_BACKGROUND_POLL_INTERVAL_MILLIS - Static variable in class com.launchdarkly.sdk.android.LDConfig
+
+ +
+
MIN_DIAGNOSTIC_RECORDING_INTERVAL_MILLIS - Static variable in class com.launchdarkly.sdk.android.integrations.EventProcessorBuilder
+
+ +
+
mobileKey(String) - Method in class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
Sets the key for authenticating with LaunchDarkly.
+
+
modifyContext(LDContext) - Method in class com.launchdarkly.sdk.android.AutoEnvContextModifier
+
 
+
modifyContext(LDContext) - Method in interface com.launchdarkly.sdk.android.IContextModifier
+
+
Modifies the provided context and returns a resulting context.
+
+
modifyContext(LDContext) - Method in class com.launchdarkly.sdk.android.NoOpContextModifier
+
 
+
module() - Static method in class com.launchdarkly.sdk.json.LDJackson
+
+
Returns a Jackson Module that defines the correct serialization and deserialization + behavior for all LaunchDarkly SDK objects that implement JsonSerializable.
+
+
MULTI - Static variable in class com.launchdarkly.sdk.ContextKind
+
+
A constant for the kind that all multi-kind contexts have.
+
+
multiBuilder() - Static method in class com.launchdarkly.sdk.LDContext
+
+
Creates a ContextMultiBuilder for building a multi-kind context.
+
+
+

N

+
+
name(String) - Method in class com.launchdarkly.sdk.ContextBuilder
+
+
Sets the context's name attribute.
+
+
name(String) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Sets the user's full name.
+
+
NAME - Static variable in class com.launchdarkly.sdk.UserAttribute
+
+
Deprecated.
+
Represents the full name attribute.
+
+
needsRefresh(boolean, LDContext) - Method in interface com.launchdarkly.sdk.android.subsystems.DataSource
+
+
The SDK calls this method to determine whether it needs to stop the current data source and + start a new one after a state transition.
+
+
NETWORK_FAILURE - Enum constant in enum class com.launchdarkly.sdk.android.LDFailure.FailureType
+
+
A network request for polling, or the EventSource stream reported a failure.
+
+
newChannel(String) - Method in class com.launchdarkly.sdk.android.LDTimberLogging.Adapter
+
 
+
NO_VARIATION - Static variable in class com.launchdarkly.sdk.EvaluationDetail
+
+
If EvaluationDetail.getVariationIndex() is equal to this constant, it means no variation was chosen + (evaluation failed and returned a default value).
+
+
NO_VERSION - Static variable in interface com.launchdarkly.sdk.android.subsystems.EventProcessor
+
+ +
+
noEvents() - Static method in class com.launchdarkly.sdk.android.Components
+
+
Returns a configuration object that disables analytics events.
+
+
NoOpContextModifier - Class in com.launchdarkly.sdk.android
+
+
Context modifier that does nothing to the context.
+
+
NoOpContextModifier() - Constructor for class com.launchdarkly.sdk.android.NoOpContextModifier
+
 
+
normalize(LDValue) - Static method in class com.launchdarkly.sdk.LDValue
+
+
Returns the same value if non-null, or LDValue.ofNull() if null.
+
+
NOT_CONFIGURED - Enum constant in enum class com.launchdarkly.sdk.EvaluationReason.BigSegmentsStatus
+
+
Indicates that Big Segments could not be queried for the flag evaluation because the SDK + configuration did not include a Big Segment store.
+
+
NULL - Enum constant in enum class com.launchdarkly.sdk.LDValueType
+
+
The value is null.
+
+
NUMBER - Enum constant in enum class com.launchdarkly.sdk.LDValueType
+
+
The value is numeric.
+
+
+

O

+
+
OBJECT - Enum constant in enum class com.launchdarkly.sdk.LDValueType
+
+
The value is an object (map).
+
+
ObjectBuilder - Class in com.launchdarkly.sdk
+
+
A builder created by LDValue.buildObject().
+
+
ObjectBuilder() - Constructor for class com.launchdarkly.sdk.ObjectBuilder
+
 
+
objectFrom(Map<String, T>) - Method in class com.launchdarkly.sdk.LDValue.Converter
+
+
Initializes an LDValue as an object, from a map containing this type.
+
+
of(boolean) - Static method in class com.launchdarkly.sdk.LDValue
+
+
Returns an instance for a boolean value.
+
+
of(double) - Static method in class com.launchdarkly.sdk.LDValue
+
+
Returns an instance for a numeric value.
+
+
of(float) - Static method in class com.launchdarkly.sdk.LDValue
+
+
Returns an instance for a numeric value.
+
+
of(int) - Static method in class com.launchdarkly.sdk.LDValue
+
+
Returns an instance for a numeric value.
+
+
of(long) - Static method in class com.launchdarkly.sdk.LDValue
+
+
Returns an instance for a numeric value.
+
+
of(String) - Static method in class com.launchdarkly.sdk.ContextKind
+
+
Constructor from a string value.
+
+
of(String) - Static method in class com.launchdarkly.sdk.LDValue
+
+
Returns an instance for a string value (or a null).
+
+
off() - Static method in class com.launchdarkly.sdk.EvaluationReason
+
+
Returns an instance whose kind is EvaluationReason.Kind.OFF.
+
+
OFF - Enum constant in enum class com.launchdarkly.sdk.EvaluationReason.Kind
+
+
Indicates that the flag was off and therefore returned its configured off value.
+
+
offline(boolean) - Method in class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
Disables all network calls from the LaunchDarkly client.
+
+
OFFLINE - Enum constant in enum class com.launchdarkly.sdk.android.ConnectionInformation.ConnectionMode
+
+
The SDK has detected that the mobile device does not have an active network connection.
+
+
ofNull() - Static method in class com.launchdarkly.sdk.LDValue
+
+
Returns an instance for a null value.
+
+
onChange(List<String>) - Method in interface com.launchdarkly.sdk.android.LDAllFlagsListener
+
+
Called by the SDK whenever it receives an update for the stored flag values of the current context.
+
+
onConnectionModeChanged(ConnectionInformation) - Method in interface com.launchdarkly.sdk.android.LDStatusListener
+
+
Invoked when the connection mode changes
+
+
onError(Throwable) - Method in interface com.launchdarkly.sdk.android.subsystems.Callback
+
+
This method is called on failure.
+
+
onFeatureFlagChange(String) - Method in interface com.launchdarkly.sdk.android.FeatureFlagChangeListener
+
+
The SDK calls this method when a feature flag value has changed for the current evaluation context.
+
+
onInternalFailure(LDFailure) - Method in interface com.launchdarkly.sdk.android.LDStatusListener
+
+
Invoked when an internal issue results in a failure to connect to LaunchDarkly
+
+
onSuccess(T) - Method in interface com.launchdarkly.sdk.android.subsystems.Callback
+
+
This method is called on successful completion.
+
+
+

P

+
+
parse(String) - Static method in class com.launchdarkly.sdk.LDValue
+
+
Parses an LDValue from a JSON representation.
+
+
PersistentDataStore - Interface in com.launchdarkly.sdk.android.subsystems
+
+
Interface for a data store that holds feature flag data and other SDK properties in a simple + string format.
+
+
polling(String) - Method in class com.launchdarkly.sdk.android.integrations.ServiceEndpointsBuilder
+
+
Equivalent to ServiceEndpointsBuilder.polling(URI), specifying the URI as a string.
+
+
polling(URI) - Method in class com.launchdarkly.sdk.android.integrations.ServiceEndpointsBuilder
+
+
Sets a custom base URI for the polling service.
+
+
POLLING - Enum constant in enum class com.launchdarkly.sdk.android.ConnectionInformation.ConnectionMode
+
+
The SDK is in foreground polling mode because it was configured with streaming disabled.
+
+
pollingBaseUri - Variable in class com.launchdarkly.sdk.android.integrations.ServiceEndpointsBuilder
+
+
Base URI for polling requests
+
+
pollingDataSource() - Static method in class com.launchdarkly.sdk.android.Components
+
+
Returns a configuration builder for using polling mode to get feature flag data.
+
+
PollingDataSourceBuilder - Class in com.launchdarkly.sdk.android.integrations
+
+
Contains methods for configuring the polling data source.
+
+
PollingDataSourceBuilder() - Constructor for class com.launchdarkly.sdk.android.integrations.PollingDataSourceBuilder
+
 
+
pollIntervalMillis - Variable in class com.launchdarkly.sdk.android.integrations.PollingDataSourceBuilder
+
+
The foreground polling interval in millis
+
+
pollIntervalMillis(int) - Method in class com.launchdarkly.sdk.android.integrations.PollingDataSourceBuilder
+
+
Sets the interval between feature flag updates when the application is running in the foreground.
+
+
PREREQUISITE_FAILED - Enum constant in enum class com.launchdarkly.sdk.EvaluationReason.Kind
+
+
Indicates that the flag was considered off because it had at least one prerequisite flag + that either was off or did not return the desired variation.
+
+
prerequisiteFailed(String) - Static method in class com.launchdarkly.sdk.EvaluationReason
+
+
Returns an instance whose kind is EvaluationReason.Kind.PREREQUISITE_FAILED.
+
+
privateAttributes - Variable in class com.launchdarkly.sdk.android.integrations.EventProcessorBuilder
+
+
Set of attributes by reference that will be treated as private
+
+
privateAttributes(AttributeRef...) - Method in class com.launchdarkly.sdk.ContextBuilder
+
+
Equivalent to ContextBuilder.privateAttributes(String...), but uses the AttributeRef + type.
+
+
privateAttributes(String...) - Method in class com.launchdarkly.sdk.android.integrations.EventProcessorBuilder
+
+
Marks a set of attribute names or subproperties as private.
+
+
privateAttributes(String...) - Method in class com.launchdarkly.sdk.ContextBuilder
+
+
Designates any number of context attributes, or properties within them, as private: + that is, their values will not be recorded by LaunchDarkly.
+
+
privateAvatar(String) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Sets the user's avatar, and ensures that the avatar attribute will not be sent back to LaunchDarkly.
+
+
privateCountry(String) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Set the country for a user, and ensures that the country attribute will not be sent back to LaunchDarkly.
+
+
privateCustom(String, boolean) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Add a boolean-valued custom attribute that will not be sent back to LaunchDarkly.
+
+
privateCustom(String, double) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Add a double-precision numeric custom attribute that will not be sent back to LaunchDarkly.
+
+
privateCustom(String, int) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Add an int-valued custom attribute that will not be sent back to LaunchDarkly.
+
+
privateCustom(String, LDValue) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Add a custom attribute of any JSON type, that will not be sent back to LaunchDarkly.
+
+
privateCustom(String, String) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Add a String-valued custom attribute that will not be sent back to LaunchDarkly.
+
+
privateEmail(String) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Sets the user's e-mail address, and ensures that the e-mail address attribute will not be sent back to LaunchDarkly.
+
+
privateFirstName(String) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Sets the user's first name, and ensures that the first name attribute will not be sent back to LaunchDarkly.
+
+
privateIp(String) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Sets the IP for a user, and ensures that the IP attribute is not sent back to LaunchDarkly.
+
+
privateLastName(String) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Sets the user's last name, and ensures that the last name attribute will not be sent back to LaunchDarkly.
+
+
privateName(String) - Method in class com.launchdarkly.sdk.LDUser.Builder
+
+
Deprecated.
+
Sets the user's full name, and ensures that the name attribute will not be sent back to LaunchDarkly.
+
+
put(String, boolean) - Method in class com.launchdarkly.sdk.ObjectBuilder
+
+
Sets a key-value pair in the builder, overwriting any previous value for that key.
+
+
put(String, double) - Method in class com.launchdarkly.sdk.ObjectBuilder
+
+
Sets a key-value pair in the builder, overwriting any previous value for that key.
+
+
put(String, float) - Method in class com.launchdarkly.sdk.ObjectBuilder
+
+
Sets a key-value pair in the builder, overwriting any previous value for that key.
+
+
put(String, int) - Method in class com.launchdarkly.sdk.ObjectBuilder
+
+
Sets a key-value pair in the builder, overwriting any previous value for that key.
+
+
put(String, long) - Method in class com.launchdarkly.sdk.ObjectBuilder
+
+
Sets a key-value pair in the builder, overwriting any previous value for that key.
+
+
put(String, LDValue) - Method in class com.launchdarkly.sdk.ObjectBuilder
+
+
Sets a key-value pair in the builder, overwriting any previous value for that key.
+
+
put(String, String) - Method in class com.launchdarkly.sdk.ObjectBuilder
+
+
Sets a key-value pair in the builder, overwriting any previous value for that key.
+
+
+

R

+
+
recordCustomEvent(LDContext, String, LDValue, Double) - Method in interface com.launchdarkly.sdk.android.subsystems.EventProcessor
+
+
Creates a custom event, as when the SDK's track method is called.
+
+
recordEvaluationEvent(LDContext, String, int, int, LDValue, EvaluationReason, LDValue, boolean, Long) - Method in interface com.launchdarkly.sdk.android.subsystems.EventProcessor
+
+
Records the action of evaluating a feature flag.
+
+
recordIdentifyEvent(LDContext) - Method in interface com.launchdarkly.sdk.android.subsystems.EventProcessor
+
+
Registers an evaluation context, as when the SDK's identify method is called.
+
+
registerAllFlagsListener(LDAllFlagsListener) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
registerAllFlagsListener(LDAllFlagsListener) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Registers a LDAllFlagsListener to be called when a flag update is processed by the + SDK.
+
+
registerFeatureFlagListener(String, FeatureFlagChangeListener) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
registerFeatureFlagListener(String, FeatureFlagChangeListener) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Registers a FeatureFlagChangeListener to be called when the flagKey changes + from its current value.
+
+
registerStatusListener(LDStatusListener) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
registerStatusListener(LDStatusListener) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Registers a LDStatusListener to be called on connection status updates.
+
+
relayProxy(String) - Method in class com.launchdarkly.sdk.android.integrations.ServiceEndpointsBuilder
+
+
Equivalent to ServiceEndpointsBuilder.relayProxy(URI), specifying the URI as a string.
+
+
relayProxy(URI) - Method in class com.launchdarkly.sdk.android.integrations.ServiceEndpointsBuilder
+
+
Specifies a single base URI for a Relay Proxy instance.
+
+
RULE_MATCH - Enum constant in enum class com.launchdarkly.sdk.EvaluationReason.Kind
+
+
Indicates that the context matched one of the flag's rules.
+
+
ruleMatch(int, String) - Static method in class com.launchdarkly.sdk.EvaluationReason
+
+
Returns an instance whose kind is EvaluationReason.Kind.RULE_MATCH.
+
+
ruleMatch(int, String, boolean) - Static method in class com.launchdarkly.sdk.EvaluationReason
+
+
Returns an instance whose kind is EvaluationReason.Kind.RULE_MATCH and + where the inExperiment parameter represents whether the evaluation was + part of an experiment.
+
+
+

S

+
+
sanitizeSpaces(String) - Static method in class com.launchdarkly.sdk.android.LDUtil
+
+
Replaces spaces with hyphens.
+
+
SDK_CLIENT_NAME - Static variable in class com.launchdarkly.sdk.android.LDPackageConsts
+
+
Name that will be used for identifying this SDK when using a network client.
+
+
SDK_NAME - Static variable in class com.launchdarkly.sdk.android.LDPackageConsts
+
+
Name of the SDK
+
+
SDK_PLATFORM_NAME - Static variable in class com.launchdarkly.sdk.android.LDPackageConsts
+
+
Name of the platform this SDK is primarily for
+
+
secondaryMobileKeys(Map<String, String>) - Method in class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
Sets the secondary keys for authenticating to additional LaunchDarkly environments.
+
+
sendEvents() - Static method in class com.launchdarkly.sdk.android.Components
+
+
Returns a configuration builder for analytics event delivery.
+
+
SerializationException - Exception in com.launchdarkly.sdk.json
+
+
General exception class for all errors in serializing or deserializing JSON.
+
+
SerializationException(String) - Constructor for exception com.launchdarkly.sdk.json.SerializationException
+
+
Creates an instance.
+
+
SerializationException(Throwable) - Constructor for exception com.launchdarkly.sdk.json.SerializationException
+
+
Creates an instance.
+
+
serialize(T) - Static method in class com.launchdarkly.sdk.json.JsonSerialization
+
+
Converts an object to its JSON representation.
+
+
serviceEndpoints() - Static method in class com.launchdarkly.sdk.android.Components
+
+
Returns a builder for configuring custom service URIs.
+
+
serviceEndpoints(ServiceEndpointsBuilder) - Method in class com.launchdarkly.sdk.android.LDConfig.Builder
+
+
Sets the base service URIs used by SDK components.
+
+
ServiceEndpoints - Class in com.launchdarkly.sdk.android.interfaces
+
+
Specifies the base service URIs used by SDK components.
+
+
ServiceEndpoints(URI, URI, URI) - Constructor for class com.launchdarkly.sdk.android.interfaces.ServiceEndpoints
+
+
Used internally by the SDK to store service endpoints.
+
+
ServiceEndpointsBuilder - Class in com.launchdarkly.sdk.android.integrations
+
+
Contains methods for configuring the SDK's service URIs.
+
+
ServiceEndpointsBuilder() - Constructor for class com.launchdarkly.sdk.android.integrations.ServiceEndpointsBuilder
+
 
+
set(String, boolean) - Method in class com.launchdarkly.sdk.ContextBuilder
+
+
Same as ContextBuilder.set(String, LDValue) for a boolean value.
+
+
set(String, double) - Method in class com.launchdarkly.sdk.ContextBuilder
+
+
Same as ContextBuilder.set(String, LDValue) for a double-precision numeric value.
+
+
set(String, int) - Method in class com.launchdarkly.sdk.ContextBuilder
+
+
Same as ContextBuilder.set(String, LDValue) for an integer numeric value.
+
+
set(String, LDValue) - Method in class com.launchdarkly.sdk.ContextBuilder
+
+
Sets the value of any attribute for the context.
+
+
set(String, String) - Method in class com.launchdarkly.sdk.ContextBuilder
+
+
Same as ContextBuilder.set(String, LDValue) for a string value.
+
+
SET_OFFLINE - Enum constant in enum class com.launchdarkly.sdk.android.ConnectionInformation.ConnectionMode
+
+
The SDK has been explicitly set offline, either in the initial configuration, by + LDClient.setOffline(), or as a result of failed authentication to LaunchDarkly.
+
+
setApplicationInfo(ApplicationInfo) - Method in class com.launchdarkly.sdk.android.env.EnvironmentReporterBuilder
+
+
Sets the application info that this environment reporter will report when asked in the future, + overriding the automatically sourced ApplicationInfo
+
+
setEvaluationContext(LDContext) - Method in class com.launchdarkly.sdk.android.subsystems.ClientContext
+
+
Sets the evaluation context and returns a new instance of ClientContext
+
+
setInBackground(boolean) - Method in interface com.launchdarkly.sdk.android.subsystems.EventProcessor
+
+
Puts the event processor into background mode if appropriate.
+
+
setOffline() - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
setOffline() - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Shuts down any network connections maintained by the client and puts the client in offline + mode, preventing the client from opening new network connections until + setOnline() is called.
+
+
setOffline(boolean) - Method in interface com.launchdarkly.sdk.android.subsystems.EventProcessor
+
+
Puts the event processor into offline mode if appropriate.
+
+
setOnline() - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
setOnline() - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Restores network connectivity for the client, if the client was previously in offline mode.
+
+
setStatus(ConnectionInformation.ConnectionMode, Throwable) - Method in interface com.launchdarkly.sdk.android.subsystems.DataSourceUpdateSink
+
+
Informs the SDK of a change in the data source's status or the connection mode.
+
+
setValue(String, String, String) - Method in interface com.launchdarkly.sdk.android.subsystems.PersistentDataStore
+
+
Attempts to update or remove a string value in the store.
+
+
setValues(String, Map<String, String>) - Method in interface com.launchdarkly.sdk.android.subsystems.PersistentDataStore
+
+
Attempts to update multiple values atomically.
+
+
shutDown() - Method in interface com.launchdarkly.sdk.android.subsystems.DataSourceUpdateSink
+
+
Informs the SDK that the data source is being permanently shut down due to an unrecoverable + problem reported by LaunchDarkly, such as the mobile key being invalid.
+
+
SHUTDOWN - Enum constant in enum class com.launchdarkly.sdk.android.ConnectionInformation.ConnectionMode
+
+
The shutdown state indicates the SDK has been permanently shutdown as a result of a call to close().
+
+
size() - Method in class com.launchdarkly.sdk.LDValue
+
+
Returns the number of elements in an array or object.
+
+
STALE - Enum constant in enum class com.launchdarkly.sdk.EvaluationReason.BigSegmentsStatus
+
+
Indicates that the Big Segment query involved in the flag evaluation was successful, but that + the segment state may not be up to date.
+
+
start(Callback<Boolean>) - Method in interface com.launchdarkly.sdk.android.subsystems.DataSource
+
+
Initializes the data source.
+
+
stop(Callback<Void>) - Method in interface com.launchdarkly.sdk.android.subsystems.DataSource
+
+
Tells the data source to stop.
+
+
STORE_ERROR - Enum constant in enum class com.launchdarkly.sdk.EvaluationReason.BigSegmentsStatus
+
+
Indicates that the Big Segment query involved in the flag evaluation failed, for instance due + to a database error.
+
+
streamEvenInBackground - Variable in class com.launchdarkly.sdk.android.integrations.StreamingDataSourceBuilder
+
+
True if the data source will attempt to continue streaming when in the background
+
+
streamEvenInBackground(boolean) - Method in class com.launchdarkly.sdk.android.integrations.StreamingDataSourceBuilder
+
+
Sets whether streaming should be used even if the application is in the background.
+
+
streaming(String) - Method in class com.launchdarkly.sdk.android.integrations.ServiceEndpointsBuilder
+
+
Equivalent to ServiceEndpointsBuilder.streaming(URI), specifying the URI as a string.
+
+
streaming(URI) - Method in class com.launchdarkly.sdk.android.integrations.ServiceEndpointsBuilder
+
+
Sets a custom base URI for the streaming service.
+
+
STREAMING - Enum constant in enum class com.launchdarkly.sdk.android.ConnectionInformation.ConnectionMode
+
+
The SDK is either connected to the flag stream, or is actively attempting to acquire a connection.
+
+
streamingBaseUri - Variable in class com.launchdarkly.sdk.android.integrations.ServiceEndpointsBuilder
+
+
Base URI for streaming requests
+
+
streamingDataSource() - Static method in class com.launchdarkly.sdk.android.Components
+
+
Returns a configuration builder for using streaming mode to get feature flag data.
+
+
StreamingDataSourceBuilder - Class in com.launchdarkly.sdk.android.integrations
+
+
Contains methods for configuring the streaming data source.
+
+
StreamingDataSourceBuilder() - Constructor for class com.launchdarkly.sdk.android.integrations.StreamingDataSourceBuilder
+
 
+
String - Static variable in class com.launchdarkly.sdk.LDValue.Convert
+
+
A LDValue.Converter for strings.
+
+
STRING - Enum constant in enum class com.launchdarkly.sdk.LDValueType
+
+
The value is a string.
+
+
stringValue() - Method in class com.launchdarkly.sdk.LDValue
+
+
Returns this value as a String if it is a string.
+
+
stringVariation(String, String) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
stringVariation(String, String) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Returns the string value of a feature flag for the current evaluation context.
+
+
stringVariationDetail(String, String) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
stringVariationDetail(String, String) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Returns the string value of a feature flag for the current evaluation context, along with + information about how it was calculated.
+
+
+

T

+
+
TARGET_MATCH - Enum constant in enum class com.launchdarkly.sdk.EvaluationReason.Kind
+
+
Indicates that the context key was specifically targeted for this flag.
+
+
targetMatch() - Static method in class com.launchdarkly.sdk.EvaluationReason
+
+
Returns an instance whose kind is EvaluationReason.Kind.TARGET_MATCH.
+
+
TestData - Class in com.launchdarkly.sdk.android.integrations
+
+
A mechanism for providing dynamically updatable feature flag state in a simplified form to an SDK + client in test scenarios.
+
+
TestData.FlagBuilder - Class in com.launchdarkly.sdk.android.integrations
+
+
A builder for feature flag configurations to be used with TestData.
+
+
TestData.FlagBuilder.VariationFunc<T> - Interface in com.launchdarkly.sdk.android.integrations
+
+ +
+
toJson() - Method in class com.launchdarkly.sdk.android.DataModel.Flag
+
 
+
toJsonString() - Method in class com.launchdarkly.sdk.LDValue
+
+
Converts this value to its JSON serialization.
+
+
toString() - Method in class com.launchdarkly.sdk.android.DataModel.Flag
+
 
+
toString() - Method in class com.launchdarkly.sdk.AttributeRef
+
+
Returns the attribute reference as a string, in the same format used by + AttributeRef.fromPath(String).
+
+
toString() - Method in class com.launchdarkly.sdk.ContextKind
+
+
Returns the string value of the context kind.
+
+
toString() - Method in class com.launchdarkly.sdk.EvaluationDetail
+
+
Returns a simple string representation of this instance.
+
+
toString() - Method in class com.launchdarkly.sdk.EvaluationReason
+
+
Returns a simple string representation of the reason.
+
+
toString() - Method in class com.launchdarkly.sdk.LDContext
+
+
Returns a string representation of the context.
+
+
toString() - Method in class com.launchdarkly.sdk.LDUser
+
+
Deprecated.
+
toString() - Method in class com.launchdarkly.sdk.LDValue
+
+
Returns a string representation of this value.
+
+
toString() - Method in class com.launchdarkly.sdk.UserAttribute
+
+
Deprecated.
+
toType(LDValue) - Method in class com.launchdarkly.sdk.LDValue.Converter
+
+
Converts an LDValue to a value of the specified type.
+
+
track(String) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
track(String) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Tracks that an application-defined event occurred.
+
+
trackData(String, LDValue) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
trackData(String, LDValue) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Tracks that an application-defined event occurred, and provides additional custom data.
+
+
trackMetric(String, LDValue, double) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
trackMetric(String, LDValue, double) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Tracks that an application-defined event occurred, and provides an additional numeric value + for custom metrics.
+
+
trySet(String, LDValue) - Method in class com.launchdarkly.sdk.ContextBuilder
+
+
Same as ContextBuilder.set(String, LDValue), but returns a boolean indicating whether + the attribute was successfully set.
+
+
typeAdapters() - Static method in class com.launchdarkly.sdk.json.LDGson
+
+
Returns a Gson TypeAdapterFactory that defines the correct serialization and + deserialization behavior for all LaunchDarkly SDK objects that implement JsonSerializable.
+
+
+

U

+
+
UNEXPECTED_RESPONSE_CODE - Enum constant in enum class com.launchdarkly.sdk.android.LDFailure.FailureType
+
+
This indicates the LDFailure is an instance of LDInvalidResponseCodeFailure.
+
+
UNEXPECTED_STREAM_ELEMENT_TYPE - Enum constant in enum class com.launchdarkly.sdk.android.LDFailure.FailureType
+
+
An event was received through the stream with an unknown event key.
+
+
UNKNOWN_ERROR - Enum constant in enum class com.launchdarkly.sdk.android.LDFailure.FailureType
+
+
Some other issue occurred.
+
+
unregisterAllFlagsListener(LDAllFlagsListener) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
unregisterAllFlagsListener(LDAllFlagsListener) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Unregisters a LDAllFlagsListener so it will no longer be called on flag updates.
+
+
unregisterFeatureFlagListener(String, FeatureFlagChangeListener) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
unregisterFeatureFlagListener(String, FeatureFlagChangeListener) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Unregisters a FeatureFlagChangeListener for the flagKey.
+
+
unregisterStatusListener(LDStatusListener) - Method in class com.launchdarkly.sdk.android.LDClient
+
 
+
unregisterStatusListener(LDStatusListener) - Method in interface com.launchdarkly.sdk.android.LDClientInterface
+
+
Unregisters a LDStatusListener so it will no longer be called on connection status updates.
+
+
update(TestData.FlagBuilder) - Method in class com.launchdarkly.sdk.android.integrations.TestData
+
+
Updates the test data with the specified flag configuration.
+
+
updateHeaders(Map<String, String>) - Method in interface com.launchdarkly.sdk.android.LDHeaderUpdater
+
+
An application provided method for dynamic configuration of HTTP headers.
+
+
upsert(LDContext, DataModel.Flag) - Method in interface com.launchdarkly.sdk.android.subsystems.DataSourceUpdateSink
+
+
Updates or inserts an item.
+
+
USER_NOT_SPECIFIED - Enum constant in enum class com.launchdarkly.sdk.EvaluationReason.ErrorKind
+
+
Indicates that the caller passed null for the user parameter, or the user lacked a key.
+
+
UserAttribute - Class in com.launchdarkly.sdk
+
+
Deprecated. +
LDUser replaced by LDContext
+
+
+
useReport - Variable in class com.launchdarkly.sdk.android.integrations.HttpConfigurationBuilder
+
+
Whether or not Http REPORT method will be used
+
+
useReport(boolean) - Method in class com.launchdarkly.sdk.android.integrations.HttpConfigurationBuilder
+
+
Sets whether to use the HTTP REPORT method for feature flag requests.
+
+
+

V

+
+
validateStringValue(String) - Static method in class com.launchdarkly.sdk.android.LDUtil
+
 
+
valueMapToJsonElementMap(Map<T, LDValue>) - Static method in class com.launchdarkly.sdk.json.LDGson
+
+
Convenience method for converting a map of LDValue values to a map of Gson JsonElements.
+
+
valueOf(String) - Static method in enum class com.launchdarkly.sdk.android.ConnectionInformation.ConnectionMode
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class com.launchdarkly.sdk.android.LDConfig.Builder.AutoEnvAttributes
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class com.launchdarkly.sdk.android.LDFailure.FailureType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class com.launchdarkly.sdk.EvaluationReason.BigSegmentsStatus
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class com.launchdarkly.sdk.EvaluationReason.ErrorKind
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class com.launchdarkly.sdk.EvaluationReason.Kind
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class com.launchdarkly.sdk.LDValueType
+
+
Returns the enum constant of this class with the specified name.
+
+
values() - Static method in enum class com.launchdarkly.sdk.android.ConnectionInformation.ConnectionMode
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class com.launchdarkly.sdk.android.LDConfig.Builder.AutoEnvAttributes
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class com.launchdarkly.sdk.android.LDFailure.FailureType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class com.launchdarkly.sdk.EvaluationReason.BigSegmentsStatus
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class com.launchdarkly.sdk.EvaluationReason.ErrorKind
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class com.launchdarkly.sdk.EvaluationReason.Kind
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Method in class com.launchdarkly.sdk.LDValue
+
+
Enumerates the values in an array or object.
+
+
values() - Static method in enum class com.launchdarkly.sdk.LDValueType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
valuesAs(LDValue.Converter<T>) - Method in class com.launchdarkly.sdk.LDValue
+
+
Enumerates the values in an array or object, converting them to a specific type.
+
+
valueToJsonElement(LDValue) - Static method in class com.launchdarkly.sdk.json.LDGson
+
+
Returns a Gson JsonElement that is equivalent to the specified LDValue.
+
+
variation(boolean) - Method in class com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder
+
+
Sets the flag to return the specified boolean variation for all contexts by default.
+
+
variation(int) - Method in class com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder
+
+
Sets the flag to return the specified variation for all contexts by default.
+
+
variation(LDValue) - Method in class com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder
+
+
Sets the flag to return the specified variation for all contexts by default.
+
+
variationForKey(ContextKind, String, boolean) - Method in class com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder
+
+
Sets the flag to return the specified boolean variation for a specific context by kind + and key, overriding any other defaults.
+
+
variationForKey(ContextKind, String, int) - Method in class com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder
+
+
Sets the flag to return the specified variation for a specific context by kind and key, + overriding any other defaults.
+
+
variationForKey(ContextKind, String, LDValue) - Method in class com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder
+
+
Sets the flag to return the specified variation for a specific context by kind and key, + overriding any other defaults.
+
+
variationForUser(String, boolean) - Method in class com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder
+
+
Sets the flag to return the specified boolean variation for a specific user key, + overriding any other defaults.
+
+
variationForUser(String, int) - Method in class com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder
+
+
Sets the flag to return the specified variation for a specific user key, overriding any + other defaults.
+
+
variationForUser(String, LDValue) - Method in class com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder
+
+
Sets the flag to return the specified variation for a specific user key, overriding any + other defaults.
+
+
variationFunc(TestData.FlagBuilder.VariationFunc<Boolean>) - Method in class com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder
+
+
Sets the flag to use a function to determine whether to return true or false for any + given context.
+
+
variationIndexFunc(TestData.FlagBuilder.VariationFunc<Integer>) - Method in class com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder
+
+
Sets the flag to use a function to determine the variation index to return for any given + context.
+
+
variations(LDValue...) - Method in class com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder
+
+
Changes the allowable variation values for the flag.
+
+
variationValueFunc(TestData.FlagBuilder.VariationFunc<LDValue>) - Method in class com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder
+
+
Sets the flag to use a function to determine the variation index to return for any given + context.
+
+
VERSION_NAME - Static variable in class com.launchdarkly.sdk.android.BuildConfig
+
 
+
VERSION_NAME - Static variable in class com.launchdarkly.sdk.android.test.BuildConfig
+
 
+
+

W

+
+
withBigSegmentsStatus(EvaluationReason.BigSegmentsStatus) - Method in class com.launchdarkly.sdk.EvaluationReason
+
+
Returns a copy of this EvaluationReason with a specific EvaluationReason.BigSegmentsStatus + value.
+
+
wrapper(String, String) - Method in class com.launchdarkly.sdk.android.integrations.HttpConfigurationBuilder
+
+
For use by wrapper libraries to set an identifying name for the wrapper being used.
+
+
wrapperName - Variable in class com.launchdarkly.sdk.android.integrations.HttpConfigurationBuilder
+
+
Name of the wrapping library
+
+
wrapperVersion - Variable in class com.launchdarkly.sdk.android.integrations.HttpConfigurationBuilder
+
+
Version of the wrapping library
+
+
WRONG_TYPE - Enum constant in enum class com.launchdarkly.sdk.EvaluationReason.ErrorKind
+
+
Indicates that the result value was not of the requested type, e.g.
+
+
+A B C D E F G H I J K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/index.html b/index.html new file mode 100644 index 00000000..6bf8ce3b --- /dev/null +++ b/index.html @@ -0,0 +1,93 @@ + + + + +Overview (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

launchdarkly-android-client-sdk 5.1.1 API

+
+
+
Packages
+
+
Package
+
Description
+ +
+
Base namespace for LaunchDarkly Java-based SDKs, containing common types.
+
+ +
+
Main package for the LaunchDarkly Android SDK, containing the client and configuration classes.
+
+ +
 
+ +
+
This package contains integration tools for connecting the SDK to other software components, or + configuring how it connects to LaunchDarkly.
+
+ +
+
Types that are part of the public API, but are not needed for basic use of the SDK.
+
+ +
+
Interfaces for implementation of LaunchDarkly SDK components.
+
+ +
 
+ +
+
Helper classes and methods for interoperability with JSON.
+
+
+
+
+
+
+ + diff --git a/jquery-ui.overrides.css b/jquery-ui.overrides.css new file mode 100644 index 00000000..facf852c --- /dev/null +++ b/jquery-ui.overrides.css @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active, +a.ui-button:active, +.ui-button:active, +.ui-button.ui-state-active:hover { + /* Overrides the color of selection used in jQuery UI */ + background: #F8981D; + border: 1px solid #F8981D; +} diff --git a/legal/ADDITIONAL_LICENSE_INFO b/legal/ADDITIONAL_LICENSE_INFO new file mode 100644 index 00000000..ff700cd0 --- /dev/null +++ b/legal/ADDITIONAL_LICENSE_INFO @@ -0,0 +1,37 @@ + ADDITIONAL INFORMATION ABOUT LICENSING + +Certain files distributed by Oracle America, Inc. and/or its affiliates are +subject to the following clarification and special exception to the GPLv2, +based on the GNU Project exception for its Classpath libraries, known as the +GNU Classpath Exception. + +Note that Oracle includes multiple, independent programs in this software +package. Some of those programs are provided under licenses deemed +incompatible with the GPLv2 by the Free Software Foundation and others. +For example, the package includes programs licensed under the Apache +License, Version 2.0 and may include FreeType. Such programs are licensed +to you under their original licenses. + +Oracle facilitates your further distribution of this package by adding the +Classpath Exception to the necessary parts of its GPLv2 code, which permits +you to use that code in combination with other independent modules not +licensed under the GPLv2. However, note that this would not permit you to +commingle code under an incompatible license with Oracle's GPLv2 licensed +code by, for example, cutting and pasting such code into a file also +containing Oracle's GPLv2 licensed code and then distributing the result. + +Additionally, if you were to remove the Classpath Exception from any of the +files to which it applies and distribute the result, you would likely be +required to license some or all of the other code in that distribution under +the GPLv2 as well, and since the GPLv2 is incompatible with the license terms +of some items included in the distribution by Oracle, removing the Classpath +Exception could therefore effectively compromise your ability to further +distribute the package. + +Failing to distribute notices associated with some files may also create +unexpected legal consequences. + +Proceed with caution and we recommend that you obtain the advice of a lawyer +skilled in open source matters before removing the Classpath Exception or +making modifications to this package which may subsequently be redistributed +and/or involve the use of third party software. diff --git a/legal/ASSEMBLY_EXCEPTION b/legal/ASSEMBLY_EXCEPTION new file mode 100644 index 00000000..065b8d90 --- /dev/null +++ b/legal/ASSEMBLY_EXCEPTION @@ -0,0 +1,27 @@ + +OPENJDK ASSEMBLY EXCEPTION + +The OpenJDK source code made available by Oracle America, Inc. (Oracle) at +openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU +General Public License version 2 +only ("GPL2"), with the following clarification and special exception. + + Linking this OpenJDK Code statically or dynamically with other code + is making a combined work based on this library. Thus, the terms + and conditions of GPL2 cover the whole combination. + + As a special exception, Oracle gives you permission to link this + OpenJDK Code with certain code licensed by Oracle as indicated at + http://openjdk.java.net/legal/exception-modules-2007-05-08.html + ("Designated Exception Modules") to produce an executable, + regardless of the license terms of the Designated Exception Modules, + and to copy and distribute the resulting executable under GPL2, + provided that the Designated Exception Modules continue to be + governed by the licenses under which they were offered by Oracle. + +As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code +to build an executable that includes those portions of necessary code that +Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 +with the Classpath exception). If you modify or add to the OpenJDK code, +that new GPL2 code may still be combined with Designated Exception Modules +if the new code is made subject to this exception by its copyright holder. diff --git a/legal/LICENSE b/legal/LICENSE new file mode 100644 index 00000000..8b400c7a --- /dev/null +++ b/legal/LICENSE @@ -0,0 +1,347 @@ +The GNU General Public License (GPL) + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software is +covered by the GNU Library General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom to +distribute copies of free software (and charge for this service if you wish), +that you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs; and that you know you +can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny +you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of the +software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for +a fee, you must give the recipients all the rights that you have. You must +make sure that they, too, receive or can get the source code. And you must +show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If the +software is modified by someone else and passed on, we want its recipients to +know that what they have is not the original, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will +individually obtain patent licenses, in effect making the program proprietary. +To prevent this, we have made it clear that any patent must be licensed for +everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms of +this General Public License. The "Program", below, refers to any such program +or work, and a "work based on the Program" means either the Program or any +derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or +translated into another language. (Hereinafter, translation is included +without limitation in the term "modification".) Each licensee is addressed as +"you". + +Activities other than copying, distribution and modification are not covered by +this License; they are outside its scope. The act of running the Program is +not restricted, and the output from the Program is covered only if its contents +constitute a work based on the Program (independent of having been made by +running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as +you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this License +and to the absence of any warranty; and give any other recipients of the +Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may +at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus +forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all of +these conditions: + + a) You must cause the modified files to carry prominent notices stating + that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in whole or + in part contains or is derived from the Program or any part thereof, to be + licensed as a whole at no charge to all third parties under the terms of + this License. + + c) If the modified program normally reads commands interactively when run, + you must cause it, when started running for such interactive use in the + most ordinary way, to print or display an announcement including an + appropriate copyright notice and a notice that there is no warranty (or + else, saying that you provide a warranty) and that users may redistribute + the program under these conditions, and telling the user how to view a copy + of this License. (Exception: if the Program itself is interactive but does + not normally print such an announcement, your work based on the Program is + not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, and +its terms, do not apply to those sections when you distribute them as separate +works. But when you distribute the same sections as part of a whole which is a +work based on the Program, the distribution of the whole must be on the terms +of this License, whose permissions for other licensees extend to the entire +whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise the +right to control the distribution of derivative or collective works based on +the Program. + +In addition, mere aggregation of another work not based on the Program with the +Program (or with a work based on the Program) on a volume of a storage or +distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under +Section 2) in object code or executable form under the terms of Sections 1 and +2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable source + code, which must be distributed under the terms of Sections 1 and 2 above + on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three years, to + give any third party, for a charge no more than your cost of physically + performing source distribution, a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of Sections 1 + and 2 above on a medium customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer to + distribute corresponding source code. (This alternative is allowed only + for noncommercial distribution and only if you received the program in + object code or executable form with such an offer, in accord with + Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code +distributed need not include anything that is normally distributed (in either +source or binary form) with the major components (compiler, kernel, and so on) +of the operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the source +code from the same place counts as distribution of the source code, even though +third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as +expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, or +rights, from you under this License will not have their licenses terminated so +long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. +However, nothing else grants you permission to modify or distribute the Program +or its derivative works. These actions are prohibited by law if you do not +accept this License. Therefore, by modifying or distributing the Program (or +any work based on the Program), you indicate your acceptance of this License to +do so, and all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor to +copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of the +rights granted herein. You are not responsible for enforcing compliance by +third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), conditions +are imposed on you (whether by court order, agreement or otherwise) that +contradict the conditions of this License, they do not excuse you from the +conditions of this License. If you cannot distribute so as to satisfy +simultaneously your obligations under this License and any other pertinent +obligations, then as a consequence you may not distribute the Program at all. +For example, if a patent license would not permit royalty-free redistribution +of the Program by all those who receive copies directly or indirectly through +you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or +other property right claims or to contest validity of any such claims; this +section has the sole purpose of protecting the integrity of the free software +distribution system, which is implemented by public license practices. Many +people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose that +choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original +copyright holder who places the Program under this License may add an explicit +geographical distribution limitation excluding those countries, so that +distribution is permitted only in or among countries not thus excluded. In +such case, this License incorporates the limitation as if written in the body +of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the +General Public License from time to time. Such new versions will be similar in +spirit to the present version, but may differ in detail to address new problems +or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any later +version", you have the option of following the terms and conditions either of +that version or of any later version published by the Free Software Foundation. +If the Program does not specify a version number of this License, you may +choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status of +all derivatives of our free software and of promoting the sharing and reuse of +software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE +PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, +YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE +PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR +INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA +BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER +OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + + One line to give the program's name and a brief idea of what it does. + + Copyright (C) + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when it +starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes + with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free + software, and you are welcome to redistribute it under certain conditions; + type 'show c' for details. + +The hypothetical commands 'show w' and 'show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may be +called something other than 'show w' and 'show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the program, if necessary. Here +is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + 'Gnomovision' (which makes passes at compilers) written by James Hacker. + + signature of Ty Coon, 1 April 1989 + + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General Public +License instead of this License. + + +"CLASSPATH" EXCEPTION TO THE GPL + +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." + + Linking this library statically or dynamically with other modules is making + a combined work based on this library. Thus, the terms and conditions of + the GNU General Public License cover the whole combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent modules, + and to copy and distribute the resulting executable under terms of your + choice, provided that you also meet, for each linked independent module, + the terms and conditions of the license of that module. An independent + module is a module which is not derived from or based on this library. If + you modify this library, you may extend this exception to your version of + the library, but you are not obligated to do so. If you do not wish to do + so, delete this exception statement from your version. diff --git a/legal/jquery.md b/legal/jquery.md new file mode 100644 index 00000000..d468b318 --- /dev/null +++ b/legal/jquery.md @@ -0,0 +1,72 @@ +## jQuery v3.6.1 + +### jQuery License +``` +jQuery v 3.6.1 +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +****************************************** + +The jQuery JavaScript Library v3.6.1 also includes Sizzle.js + +Sizzle.js includes the following license: + +Copyright JS Foundation and other contributors, https://js.foundation/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/sizzle + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +********************* + +``` diff --git a/legal/jqueryUI.md b/legal/jqueryUI.md new file mode 100644 index 00000000..8bda9d7a --- /dev/null +++ b/legal/jqueryUI.md @@ -0,0 +1,49 @@ +## jQuery UI v1.13.2 + +### jQuery UI License +``` +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-ui + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code contained within the demos directory. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +``` diff --git a/member-search-index.js b/member-search-index.js new file mode 100644 index 00000000..3ce7a6e7 --- /dev/null +++ b/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"com.launchdarkly.sdk.android","c":"LDAndroidLogging","l":"adapter()"},{"p":"com.launchdarkly.sdk.android","c":"LDTimberLogging","l":"adapter()"},{"p":"com.launchdarkly.sdk","c":"ArrayBuilder","l":"add(boolean)"},{"p":"com.launchdarkly.sdk","c":"ArrayBuilder","l":"add(double)"},{"p":"com.launchdarkly.sdk","c":"ArrayBuilder","l":"add(float)"},{"p":"com.launchdarkly.sdk","c":"ArrayBuilder","l":"add(int)"},{"p":"com.launchdarkly.sdk","c":"ContextMultiBuilder","l":"add(LDContext)","u":"add(com.launchdarkly.sdk.LDContext)"},{"p":"com.launchdarkly.sdk","c":"ArrayBuilder","l":"add(LDValue)","u":"add(com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk","c":"ArrayBuilder","l":"add(long)"},{"p":"com.launchdarkly.sdk","c":"ArrayBuilder","l":"add(String)","u":"add(java.lang.String)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"EventProcessorBuilder","l":"allAttributesPrivate"},{"p":"com.launchdarkly.sdk.android.integrations","c":"EventProcessorBuilder","l":"allAttributesPrivate(boolean)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"allFlags()"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"allFlags()"},{"p":"com.launchdarkly.sdk","c":"UserAttribute","l":"ANONYMOUS"},{"p":"com.launchdarkly.sdk","c":"ContextBuilder","l":"anonymous(boolean)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"anonymous(boolean)"},{"p":"com.launchdarkly.sdk.android.test","c":"BuildConfig","l":"APPLICATION_ID"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ApplicationInfoBuilder","l":"applicationId(String)","u":"applicationId(java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"Components","l":"applicationInfo()"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"applicationInfo(ApplicationInfoBuilder)","u":"applicationInfo(com.launchdarkly.sdk.android.integrations.ApplicationInfoBuilder)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ApplicationInfo","l":"ApplicationInfo(String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ApplicationInfoBuilder","l":"ApplicationInfoBuilder()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ApplicationInfoBuilder","l":"applicationName(String)","u":"applicationName(java.lang.String)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ApplicationInfoBuilder","l":"applicationVersion(String)","u":"applicationVersion(java.lang.String)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ApplicationInfoBuilder","l":"applicationVersionName(String)","u":"applicationVersionName(java.lang.String)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData.FlagBuilder.VariationFunc","l":"apply(LDContext)","u":"apply(com.launchdarkly.sdk.LDContext)"},{"p":"com.launchdarkly.sdk","c":"LDValueType","l":"ARRAY"},{"p":"com.launchdarkly.sdk","c":"ArrayBuilder","l":"ArrayBuilder()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk","c":"LDValue.Converter","l":"arrayFrom(Iterable)","u":"arrayFrom(java.lang.Iterable)"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"arrayOf(LDValue...)","u":"arrayOf(com.launchdarkly.sdk.LDValue...)"},{"p":"com.launchdarkly.sdk","c":"LDValue.Converter","l":"arrayOf(T...)"},{"p":"com.launchdarkly.sdk.android","c":"AutoEnvContextModifier","l":"AutoEnvContextModifier(PersistentDataStoreWrapper, IEnvironmentReporter, LDLogger)","u":"%3Cinit%3E(com.launchdarkly.sdk.android.PersistentDataStoreWrapper,com.launchdarkly.sdk.android.env.IEnvironmentReporter,com.launchdarkly.logging.LDLogger)"},{"p":"com.launchdarkly.sdk.android","c":"LDTimberLogging.Adapter","l":"autoPlantDebugTree(boolean)"},{"p":"com.launchdarkly.sdk","c":"UserAttribute","l":"AVATAR"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"avatar(String)","u":"avatar(java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"ConnectionInformation.ConnectionMode","l":"BACKGROUND_DISABLED"},{"p":"com.launchdarkly.sdk.android","c":"ConnectionInformation.ConnectionMode","l":"BACKGROUND_POLLING"},{"p":"com.launchdarkly.sdk.android.integrations","c":"PollingDataSourceBuilder","l":"backgroundPollIntervalMillis"},{"p":"com.launchdarkly.sdk.android.integrations","c":"StreamingDataSourceBuilder","l":"backgroundPollIntervalMillis"},{"p":"com.launchdarkly.sdk.android.integrations","c":"PollingDataSourceBuilder","l":"backgroundPollIntervalMillis(int)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"StreamingDataSourceBuilder","l":"backgroundPollIntervalMillis(int)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"EventProcessor","l":"blockingFlush()"},{"p":"com.launchdarkly.sdk","c":"LDValue.Convert","l":"Boolean"},{"p":"com.launchdarkly.sdk","c":"LDValueType","l":"BOOLEAN"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData.FlagBuilder","l":"booleanFlag()"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"booleanValue()"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"boolVariation(String, boolean)","u":"boolVariation(java.lang.String,boolean)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"boolVariation(String, boolean)","u":"boolVariation(java.lang.String,boolean)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"boolVariationDetail(String, boolean)","u":"boolVariationDetail(java.lang.String,boolean)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"boolVariationDetail(String, boolean)","u":"boolVariationDetail(java.lang.String,boolean)"},{"p":"com.launchdarkly.sdk.android","c":"BuildConfig","l":"BUILD_TYPE"},{"p":"com.launchdarkly.sdk.android.test","c":"BuildConfig","l":"BUILD_TYPE"},{"p":"com.launchdarkly.sdk.android.env","c":"EnvironmentReporterBuilder","l":"build()"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"build()"},{"p":"com.launchdarkly.sdk","c":"ArrayBuilder","l":"build()"},{"p":"com.launchdarkly.sdk","c":"ContextBuilder","l":"build()"},{"p":"com.launchdarkly.sdk","c":"ContextMultiBuilder","l":"build()"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"build()"},{"p":"com.launchdarkly.sdk","c":"ObjectBuilder","l":"build()"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData","l":"build(ClientContext)","u":"build(com.launchdarkly.sdk.android.subsystems.ClientContext)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ComponentConfigurer","l":"build(ClientContext)","u":"build(com.launchdarkly.sdk.android.subsystems.ClientContext)"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"buildArray()"},{"p":"com.launchdarkly.sdk.android","c":"BuildConfig","l":"BuildConfig()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk.android.test","c":"BuildConfig","l":"BuildConfig()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"builder(ContextKind, String)","u":"builder(com.launchdarkly.sdk.ContextKind,java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"Builder(LDConfig.Builder.AutoEnvAttributes)","u":"%3Cinit%3E(com.launchdarkly.sdk.android.LDConfig.Builder.AutoEnvAttributes)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"Builder(LDUser)","u":"%3Cinit%3E(com.launchdarkly.sdk.LDUser)"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"builder(String)","u":"builder(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"Builder(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"builderFromContext(LDContext)","u":"builderFromContext(com.launchdarkly.sdk.LDContext)"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"buildObject()"},{"p":"com.launchdarkly.sdk.android.integrations","c":"EventProcessorBuilder","l":"capacity"},{"p":"com.launchdarkly.sdk.android.integrations","c":"EventProcessorBuilder","l":"capacity(int)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"PersistentDataStore","l":"clear(String, boolean)","u":"clear(java.lang.String,boolean)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.ErrorKind","l":"CLIENT_NOT_READY"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ClientContext","l":"ClientContext(ClientContext)","u":"%3Cinit%3E(com.launchdarkly.sdk.android.subsystems.ClientContext)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ClientContext","l":"ClientContext(String, IEnvironmentReporter, LDLogger, LDConfig, DataSourceUpdateSink, String, boolean, LDContext, HttpConfiguration, boolean, Boolean, ServiceEndpoints, boolean)","u":"%3Cinit%3E(java.lang.String,com.launchdarkly.sdk.android.env.IEnvironmentReporter,com.launchdarkly.logging.LDLogger,com.launchdarkly.sdk.android.LDConfig,com.launchdarkly.sdk.android.subsystems.DataSourceUpdateSink,java.lang.String,boolean,com.launchdarkly.sdk.LDContext,com.launchdarkly.sdk.android.subsystems.HttpConfiguration,boolean,java.lang.Boolean,com.launchdarkly.sdk.android.interfaces.ServiceEndpoints,boolean)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"close()"},{"p":"com.launchdarkly.sdk","c":"AttributeRef","l":"compareTo(AttributeRef)","u":"compareTo(com.launchdarkly.sdk.AttributeRef)"},{"p":"com.launchdarkly.sdk","c":"ContextKind","l":"compareTo(ContextKind)","u":"compareTo(com.launchdarkly.sdk.ContextKind)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"HttpConfigurationBuilder","l":"connectTimeoutMillis"},{"p":"com.launchdarkly.sdk.android.integrations","c":"HttpConfigurationBuilder","l":"connectTimeoutMillis(int)"},{"p":"com.launchdarkly.sdk","c":"LDValue.Converter","l":"Converter()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk","c":"UserAttribute","l":"COUNTRY"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"country(String)","u":"country(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"create(ContextKind, String)","u":"create(com.launchdarkly.sdk.ContextKind,java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"create(String)","u":"create(java.lang.String)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ApplicationInfoBuilder","l":"createApplicationInfo()"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"createMulti(LDContext...)","u":"createMulti(com.launchdarkly.sdk.LDContext...)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ServiceEndpointsBuilder","l":"createServiceEndpoints()"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"custom(String, boolean)","u":"custom(java.lang.String,boolean)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"custom(String, double)","u":"custom(java.lang.String,double)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"custom(String, int)","u":"custom(java.lang.String,int)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"custom(String, LDValue)","u":"custom(java.lang.String,com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"custom(String, String)","u":"custom(java.lang.String,java.lang.String)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData","l":"dataSource()"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"dataSource(ComponentConfigurer)","u":"dataSource(com.launchdarkly.sdk.android.subsystems.ComponentConfigurer)"},{"p":"com.launchdarkly.sdk.android","c":"BuildConfig","l":"DEBUG"},{"p":"com.launchdarkly.sdk.android.test","c":"BuildConfig","l":"DEBUG"},{"p":"com.launchdarkly.sdk","c":"ContextKind","l":"DEFAULT"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig","l":"DEFAULT_BACKGROUND_POLL_INTERVAL_MILLIS"},{"p":"com.launchdarkly.sdk.android.integrations","c":"EventProcessorBuilder","l":"DEFAULT_CAPACITY"},{"p":"com.launchdarkly.sdk.android.integrations","c":"HttpConfigurationBuilder","l":"DEFAULT_CONNECT_TIMEOUT_MILLIS"},{"p":"com.launchdarkly.sdk.android.integrations","c":"EventProcessorBuilder","l":"DEFAULT_DIAGNOSTIC_RECORDING_INTERVAL_MILLIS"},{"p":"com.launchdarkly.sdk.android.integrations","c":"EventProcessorBuilder","l":"DEFAULT_FLUSH_INTERVAL_MILLIS"},{"p":"com.launchdarkly.sdk.android.integrations","c":"StreamingDataSourceBuilder","l":"DEFAULT_INITIAL_RECONNECT_DELAY_MILLIS"},{"p":"com.launchdarkly.sdk.android","c":"LDPackageConsts","l":"DEFAULT_LOGGER_NAME"},{"p":"com.launchdarkly.sdk.android.integrations","c":"PollingDataSourceBuilder","l":"DEFAULT_POLL_INTERVAL_MILLIS"},{"p":"com.launchdarkly.sdk.android","c":"DataModel.Flag","l":"deletedItemPlaceholder(String, int)","u":"deletedItemPlaceholder(java.lang.String,int)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"DiagnosticDescription","l":"describeConfiguration(ClientContext)","u":"describeConfiguration(com.launchdarkly.sdk.android.subsystems.ClientContext)"},{"p":"com.launchdarkly.sdk.json","c":"JsonSerialization","l":"deserialize(String, Class)","u":"deserialize(java.lang.String,java.lang.Class)"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"diagnosticOptOut(boolean)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"EventProcessorBuilder","l":"diagnosticRecordingIntervalMillis"},{"p":"com.launchdarkly.sdk.android.integrations","c":"EventProcessorBuilder","l":"diagnosticRecordingIntervalMillis(int)"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"disableBackgroundUpdating(boolean)"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder.AutoEnvAttributes","l":"Disabled"},{"p":"com.launchdarkly.sdk","c":"LDValue.Convert","l":"Double"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"doubleValue()"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"doubleVariation(String, double)","u":"doubleVariation(java.lang.String,double)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"doubleVariation(String, double)","u":"doubleVariation(java.lang.String,double)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"doubleVariationDetail(String, double)","u":"doubleVariationDetail(java.lang.String,double)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"doubleVariationDetail(String, double)","u":"doubleVariationDetail(java.lang.String,double)"},{"p":"com.launchdarkly.sdk","c":"UserAttribute","l":"EMAIL"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"email(String)","u":"email(java.lang.String)"},{"p":"com.launchdarkly.sdk.android.env","c":"EnvironmentReporterBuilder","l":"enableCollectionFromPlatform(Application)","u":"enableCollectionFromPlatform(android.app.Application)"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder.AutoEnvAttributes","l":"Enabled"},{"p":"com.launchdarkly.sdk.android.env","c":"EnvironmentReporterBuilder","l":"EnvironmentReporterBuilder()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk.android","c":"DataModel.Flag","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.launchdarkly.sdk","c":"AttributeRef","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.launchdarkly.sdk","c":"ContextKind","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.launchdarkly.sdk","c":"EvaluationDetail","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.launchdarkly.sdk","c":"UserAttribute","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.Kind","l":"ERROR"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"error(EvaluationReason.ErrorKind)","u":"error(com.launchdarkly.sdk.EvaluationReason.ErrorKind)"},{"p":"com.launchdarkly.sdk","c":"EvaluationDetail","l":"error(EvaluationReason.ErrorKind, LDValue)","u":"error(com.launchdarkly.sdk.EvaluationReason.ErrorKind,com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"evaluationReasons(boolean)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"EventProcessorBuilder","l":"EventProcessorBuilder()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"events(ComponentConfigurer)","u":"events(com.launchdarkly.sdk.android.subsystems.ComponentConfigurer)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ServiceEndpointsBuilder","l":"events(String)","u":"events(java.lang.String)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ServiceEndpointsBuilder","l":"events(URI)","u":"events(java.net.URI)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ServiceEndpointsBuilder","l":"eventsBaseUri"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.ErrorKind","l":"EXCEPTION"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"exception(Exception)","u":"exception(java.lang.Exception)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.Kind","l":"FALLTHROUGH"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"fallthrough()"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"fallthrough(boolean)"},{"p":"com.launchdarkly.sdk","c":"UserAttribute","l":"FIRST_NAME"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"firstName(String)","u":"firstName(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.ErrorKind","l":"FLAG_NOT_FOUND"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData","l":"flag(String)","u":"flag(java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"DataModel.Flag","l":"Flag(String, LDValue, int, Integer, Integer, boolean, boolean, Long, EvaluationReason)","u":"%3Cinit%3E(java.lang.String,com.launchdarkly.sdk.LDValue,int,java.lang.Integer,java.lang.Integer,boolean,boolean,java.lang.Long,com.launchdarkly.sdk.EvaluationReason)"},{"p":"com.launchdarkly.sdk","c":"LDValue.Convert","l":"Float"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"floatValue()"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"flush()"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"flush()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"EventProcessor","l":"flush()"},{"p":"com.launchdarkly.sdk.android.integrations","c":"EventProcessorBuilder","l":"flushIntervalMillis"},{"p":"com.launchdarkly.sdk.android.integrations","c":"EventProcessorBuilder","l":"flushIntervalMillis(int)"},{"p":"com.launchdarkly.sdk","c":"UserAttribute","l":"forName(String)","u":"forName(java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"DataModel.Flag","l":"fromJson(String)","u":"fromJson(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"AttributeRef","l":"fromLiteral(String)","u":"fromLiteral(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"AttributeRef","l":"fromPath(String)","u":"fromPath(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDValue.Converter","l":"fromType(T)"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"fromUser(LDUser)","u":"fromUser(com.launchdarkly.sdk.LDUser)"},{"p":"com.launchdarkly.sdk","c":"EvaluationDetail","l":"fromValue(T, int, EvaluationReason)","u":"fromValue(T,int,com.launchdarkly.sdk.EvaluationReason)"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"generateAnonymousKeys(boolean)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"get()"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"get(int)"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"PersistentDataStore","l":"getAllNamespaces()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ApplicationInfo","l":"getApplicationId()"},{"p":"com.launchdarkly.sdk.android.env","c":"IEnvironmentReporter","l":"getApplicationInfo()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ApplicationInfo","l":"getApplicationName()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ApplicationInfo","l":"getApplicationVersion()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ApplicationInfo","l":"getApplicationVersionName()"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"getAttribute(UserAttribute)","u":"getAttribute(com.launchdarkly.sdk.UserAttribute)"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"getAvatar()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ClientContext","l":"getBaseLogger()"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"getBigSegmentsStatus()"},{"p":"com.launchdarkly.sdk","c":"AttributeRef","l":"getComponent(int)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ClientContext","l":"getConfig()"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"getConnectionInformation()"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"getConnectionInformation()"},{"p":"com.launchdarkly.sdk.android","c":"ConnectionInformation","l":"getConnectionMode()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"HttpConfiguration","l":"getConnectTimeoutMillis()"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"getCountry()"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"getCustomAttributeNames()"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"getCustomAttributes()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ClientContext","l":"getDataSourceUpdateSink()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"HttpConfiguration","l":"getDefaultHeaders()"},{"p":"com.launchdarkly.sdk","c":"AttributeRef","l":"getDepth()"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"getEmail()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ClientContext","l":"getEnvironmentName()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ClientContext","l":"getEnvironmentReporter()"},{"p":"com.launchdarkly.sdk","c":"AttributeRef","l":"getError()"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"getError()"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"getErrorKind()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ClientContext","l":"getEvaluationContext()"},{"p":"com.launchdarkly.sdk.android.interfaces","c":"ServiceEndpoints","l":"getEventsBaseUri()"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"getException()"},{"p":"com.launchdarkly.sdk.android","c":"LDFailure","l":"getFailureType()"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"getFirstName()"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"getForMobileKey(String)","u":"getForMobileKey(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"getFullyQualifiedKey()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"HttpConfiguration","l":"getHeaderTransform()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ClientContext","l":"getHttp()"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"getIndividualContext(ContextKind)","u":"getIndividualContext(com.launchdarkly.sdk.ContextKind)"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"getIndividualContext(int)"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"getIndividualContext(String)","u":"getIndividualContext(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"getIndividualContextCount()"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"getIp()"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"getKey()"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"getKey()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"PersistentDataStore","l":"getKeys(String)","u":"getKeys(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"getKind()"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"getKind()"},{"p":"com.launchdarkly.sdk.android","c":"ConnectionInformation","l":"getLastFailedConnection()"},{"p":"com.launchdarkly.sdk.android","c":"ConnectionInformation","l":"getLastFailure()"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"getLastName()"},{"p":"com.launchdarkly.sdk.android","c":"ConnectionInformation","l":"getLastSuccessfulConnection()"},{"p":"com.launchdarkly.sdk.android.env","c":"IEnvironmentReporter","l":"getLocale()"},{"p":"com.launchdarkly.sdk.android.env","c":"IEnvironmentReporter","l":"getManufacturer()"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig","l":"getMobileKey()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ClientContext","l":"getMobileKey()"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig","l":"getMobileKeys()"},{"p":"com.launchdarkly.sdk.android.env","c":"IEnvironmentReporter","l":"getModel()"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"getName()"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"getName()"},{"p":"com.launchdarkly.sdk","c":"UserAttribute","l":"getName()"},{"p":"com.launchdarkly.sdk.android.env","c":"IEnvironmentReporter","l":"getOSFamily()"},{"p":"com.launchdarkly.sdk.android.env","c":"IEnvironmentReporter","l":"getOSName()"},{"p":"com.launchdarkly.sdk.android.env","c":"IEnvironmentReporter","l":"getOSVersion()"},{"p":"com.launchdarkly.sdk.android.interfaces","c":"ServiceEndpoints","l":"getPollingBaseUri()"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"getPrerequisiteKey()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ClientContext","l":"getPreviouslyInBackground()"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"getPrivateAttribute(int)"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"getPrivateAttributeCount()"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"getPrivateAttributes()"},{"p":"com.launchdarkly.sdk","c":"EvaluationDetail","l":"getReason()"},{"p":"com.launchdarkly.sdk.android","c":"LDInvalidResponseCodeFailure","l":"getResponseCode()"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"getRuleId()"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"getRuleIndex()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ClientContext","l":"getServiceEndpoints()"},{"p":"com.launchdarkly.sdk.android.interfaces","c":"ServiceEndpoints","l":"getStreamingBaseUri()"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"getType()"},{"p":"com.launchdarkly.sdk","c":"EvaluationDetail","l":"getValue()"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"getValue(AttributeRef)","u":"getValue(com.launchdarkly.sdk.AttributeRef)"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"getValue(String)","u":"getValue(java.lang.String)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"PersistentDataStore","l":"getValue(String, String)","u":"getValue(java.lang.String,java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"EvaluationDetail","l":"getVariationIndex()"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"getVersion()"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"getVersion()"},{"p":"com.launchdarkly.sdk","c":"AttributeRef","l":"hashCode()"},{"p":"com.launchdarkly.sdk","c":"ContextKind","l":"hashCode()"},{"p":"com.launchdarkly.sdk","c":"EvaluationDetail","l":"hashCode()"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"hashCode()"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"hashCode()"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"hashCode()"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"hashCode()"},{"p":"com.launchdarkly.sdk","c":"UserAttribute","l":"hashCode()"},{"p":"com.launchdarkly.sdk.android.integrations","c":"HttpConfigurationBuilder","l":"headerTransform"},{"p":"com.launchdarkly.sdk.android.integrations","c":"HttpConfigurationBuilder","l":"headerTransform(LDHeaderUpdater)","u":"headerTransform(com.launchdarkly.sdk.android.LDHeaderUpdater)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.BigSegmentsStatus","l":"HEALTHY"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"http(ComponentConfigurer)","u":"http(com.launchdarkly.sdk.android.subsystems.ComponentConfigurer)"},{"p":"com.launchdarkly.sdk.android","c":"Components","l":"httpConfiguration()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"HttpConfiguration","l":"HttpConfiguration(int, Map, LDHeaderUpdater, boolean)","u":"%3Cinit%3E(int,java.util.Map,com.launchdarkly.sdk.android.LDHeaderUpdater,boolean)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"HttpConfigurationBuilder","l":"HttpConfigurationBuilder()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"identify(LDContext)","u":"identify(com.launchdarkly.sdk.LDContext)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"identify(LDContext)","u":"identify(com.launchdarkly.sdk.LDContext)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"init(Application, LDConfig, LDContext)","u":"init(android.app.Application,com.launchdarkly.sdk.android.LDConfig,com.launchdarkly.sdk.LDContext)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"init(Application, LDConfig, LDContext, int)","u":"init(android.app.Application,com.launchdarkly.sdk.android.LDConfig,com.launchdarkly.sdk.LDContext,int)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"DataSourceUpdateSink","l":"init(LDContext, Map)","u":"init(com.launchdarkly.sdk.LDContext,java.util.Map)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"StreamingDataSourceBuilder","l":"initialReconnectDelayMillis"},{"p":"com.launchdarkly.sdk.android.integrations","c":"StreamingDataSourceBuilder","l":"initialReconnectDelayMillis(int)"},{"p":"com.launchdarkly.sdk","c":"LDValue.Convert","l":"Integer"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"intValue()"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"intVariation(String, int)","u":"intVariation(java.lang.String,int)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"intVariation(String, int)","u":"intVariation(java.lang.String,int)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"intVariationDetail(String, int)","u":"intVariationDetail(java.lang.String,int)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"intVariationDetail(String, int)","u":"intVariationDetail(java.lang.String,int)"},{"p":"com.launchdarkly.sdk.android","c":"LDFailure.FailureType","l":"INVALID_RESPONSE_BODY"},{"p":"com.launchdarkly.sdk","c":"UserAttribute","l":"IP"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"ip(String)","u":"ip(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"isAnonymous()"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"isAnonymous()"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"isAttributePrivate(UserAttribute)","u":"isAttributePrivate(com.launchdarkly.sdk.UserAttribute)"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig","l":"isAutoEnvAttributes()"},{"p":"com.launchdarkly.sdk","c":"UserAttribute","l":"isBuiltIn()"},{"p":"com.launchdarkly.sdk","c":"ContextKind","l":"isDefault()"},{"p":"com.launchdarkly.sdk","c":"EvaluationDetail","l":"isDefaultValue()"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"isDisableBackgroundPolling()"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"isDisableBackgroundPolling()"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig","l":"isDisableBackgroundPolling()"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig","l":"isEvaluationReasons()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ClientContext","l":"isEvaluationReasons()"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig","l":"isGenerateAnonymousKeys()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ClientContext","l":"isInBackground()"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"isInExperiment()"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"isInitialized()"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"isInitialized()"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"isInt()"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"isMultiple()"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"isNull()"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"isNumber()"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"isOffline()"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"isOffline()"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig","l":"isOffline()"},{"p":"com.launchdarkly.sdk.android","c":"LDInvalidResponseCodeFailure","l":"isRetryable()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ClientContext","l":"isSetOffline()"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"isString()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"HttpConfiguration","l":"isUseReport()"},{"p":"com.launchdarkly.sdk","c":"AttributeRef","l":"isValid()"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"isValid()"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"jsonValueVariation(String, LDValue)","u":"jsonValueVariation(java.lang.String,com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"jsonValueVariation(String, LDValue)","u":"jsonValueVariation(java.lang.String,com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"jsonValueVariationDetail(String, LDValue)","u":"jsonValueVariationDetail(java.lang.String,com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"jsonValueVariationDetail(String, LDValue)","u":"jsonValueVariationDetail(java.lang.String,com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk","c":"UserAttribute","l":"KEY"},{"p":"com.launchdarkly.sdk","c":"ContextBuilder","l":"key(String)","u":"key(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"key(String)","u":"key(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"keys()"},{"p":"com.launchdarkly.sdk","c":"ContextBuilder","l":"kind(ContextKind)","u":"kind(com.launchdarkly.sdk.ContextKind)"},{"p":"com.launchdarkly.sdk","c":"ContextBuilder","l":"kind(String)","u":"kind(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"UserAttribute","l":"LAST_NAME"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"lastName(String)","u":"lastName(java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"LaunchDarklyException","l":"LaunchDarklyException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"LDAndroidLogging","l":"LDAndroidLogging()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"LDClient(PlatformState, IEnvironmentReporter, TaskExecutor, PersistentDataStoreWrapper.PerEnvironmentData, LDContext, LDConfig, String, String)","u":"%3Cinit%3E(com.launchdarkly.sdk.android.PlatformState,com.launchdarkly.sdk.android.env.IEnvironmentReporter,com.launchdarkly.sdk.android.TaskExecutor,com.launchdarkly.sdk.android.PersistentDataStoreWrapper.PerEnvironmentData,com.launchdarkly.sdk.LDContext,com.launchdarkly.sdk.android.LDConfig,java.lang.String,java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"LDFailure","l":"LDFailure(String, LDFailure.FailureType)","u":"%3Cinit%3E(java.lang.String,com.launchdarkly.sdk.android.LDFailure.FailureType)"},{"p":"com.launchdarkly.sdk.android","c":"LDFailure","l":"LDFailure(String, Throwable, LDFailure.FailureType)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable,com.launchdarkly.sdk.android.LDFailure.FailureType)"},{"p":"com.launchdarkly.sdk.android","c":"LDInvalidResponseCodeFailure","l":"LDInvalidResponseCodeFailure(String, int, boolean)","u":"%3Cinit%3E(java.lang.String,int,boolean)"},{"p":"com.launchdarkly.sdk.android","c":"LDInvalidResponseCodeFailure","l":"LDInvalidResponseCodeFailure(String, Throwable, int, boolean)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable,int,boolean)"},{"p":"com.launchdarkly.sdk.android","c":"LDPackageConsts","l":"LDPackageConsts()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk.android","c":"LDTimberLogging","l":"LDTimberLogging()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"LDUser(LDUser.Builder)","u":"%3Cinit%3E(com.launchdarkly.sdk.LDUser.Builder)"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"LDUser(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"LDUtil","l":"LDUtil()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"LDValue()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk.android","c":"BuildConfig","l":"LIBRARY_PACKAGE_NAME"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"logAdapter(LDLogAdapter)","u":"logAdapter(com.launchdarkly.logging.LDLogAdapter)"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"loggerName(String)","u":"loggerName(java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"logLevel(LDLogLevel)","u":"logLevel(com.launchdarkly.logging.LDLogLevel)"},{"p":"com.launchdarkly.sdk","c":"LDValue.Convert","l":"Long"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"longValue()"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.ErrorKind","l":"MALFORMED_FLAG"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"maxCachedContexts(int)"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig","l":"MIN_BACKGROUND_POLL_INTERVAL_MILLIS"},{"p":"com.launchdarkly.sdk.android.integrations","c":"EventProcessorBuilder","l":"MIN_DIAGNOSTIC_RECORDING_INTERVAL_MILLIS"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"mobileKey(String)","u":"mobileKey(java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"AutoEnvContextModifier","l":"modifyContext(LDContext)","u":"modifyContext(com.launchdarkly.sdk.LDContext)"},{"p":"com.launchdarkly.sdk.android","c":"IContextModifier","l":"modifyContext(LDContext)","u":"modifyContext(com.launchdarkly.sdk.LDContext)"},{"p":"com.launchdarkly.sdk.android","c":"NoOpContextModifier","l":"modifyContext(LDContext)","u":"modifyContext(com.launchdarkly.sdk.LDContext)"},{"p":"com.launchdarkly.sdk.json","c":"LDJackson","l":"module()"},{"p":"com.launchdarkly.sdk","c":"ContextKind","l":"MULTI"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"multiBuilder()"},{"p":"com.launchdarkly.sdk","c":"UserAttribute","l":"NAME"},{"p":"com.launchdarkly.sdk","c":"ContextBuilder","l":"name(String)","u":"name(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"name(String)","u":"name(java.lang.String)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"DataSource","l":"needsRefresh(boolean, LDContext)","u":"needsRefresh(boolean,com.launchdarkly.sdk.LDContext)"},{"p":"com.launchdarkly.sdk.android","c":"LDFailure.FailureType","l":"NETWORK_FAILURE"},{"p":"com.launchdarkly.sdk.android","c":"LDTimberLogging.Adapter","l":"newChannel(String)","u":"newChannel(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"EvaluationDetail","l":"NO_VARIATION"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"EventProcessor","l":"NO_VERSION"},{"p":"com.launchdarkly.sdk.android","c":"Components","l":"noEvents()"},{"p":"com.launchdarkly.sdk.android","c":"NoOpContextModifier","l":"NoOpContextModifier()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"normalize(LDValue)","u":"normalize(com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.BigSegmentsStatus","l":"NOT_CONFIGURED"},{"p":"com.launchdarkly.sdk","c":"LDValueType","l":"NULL"},{"p":"com.launchdarkly.sdk","c":"LDValueType","l":"NUMBER"},{"p":"com.launchdarkly.sdk","c":"LDValueType","l":"OBJECT"},{"p":"com.launchdarkly.sdk","c":"ObjectBuilder","l":"ObjectBuilder()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk","c":"LDValue.Converter","l":"objectFrom(Map)","u":"objectFrom(java.util.Map)"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"of(boolean)"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"of(double)"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"of(float)"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"of(int)"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"of(long)"},{"p":"com.launchdarkly.sdk","c":"ContextKind","l":"of(String)","u":"of(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"of(String)","u":"of(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.Kind","l":"OFF"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"off()"},{"p":"com.launchdarkly.sdk.android","c":"ConnectionInformation.ConnectionMode","l":"OFFLINE"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"offline(boolean)"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"ofNull()"},{"p":"com.launchdarkly.sdk.android","c":"LDAllFlagsListener","l":"onChange(List)","u":"onChange(java.util.List)"},{"p":"com.launchdarkly.sdk.android","c":"LDStatusListener","l":"onConnectionModeChanged(ConnectionInformation)","u":"onConnectionModeChanged(com.launchdarkly.sdk.android.ConnectionInformation)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"Callback","l":"onError(Throwable)","u":"onError(java.lang.Throwable)"},{"p":"com.launchdarkly.sdk.android","c":"FeatureFlagChangeListener","l":"onFeatureFlagChange(String)","u":"onFeatureFlagChange(java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"LDStatusListener","l":"onInternalFailure(LDFailure)","u":"onInternalFailure(com.launchdarkly.sdk.android.LDFailure)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"Callback","l":"onSuccess(T)"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"parse(String)","u":"parse(java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"ConnectionInformation.ConnectionMode","l":"POLLING"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ServiceEndpointsBuilder","l":"polling(String)","u":"polling(java.lang.String)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ServiceEndpointsBuilder","l":"polling(URI)","u":"polling(java.net.URI)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ServiceEndpointsBuilder","l":"pollingBaseUri"},{"p":"com.launchdarkly.sdk.android","c":"Components","l":"pollingDataSource()"},{"p":"com.launchdarkly.sdk.android.integrations","c":"PollingDataSourceBuilder","l":"PollingDataSourceBuilder()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk.android.integrations","c":"PollingDataSourceBuilder","l":"pollIntervalMillis"},{"p":"com.launchdarkly.sdk.android.integrations","c":"PollingDataSourceBuilder","l":"pollIntervalMillis(int)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.Kind","l":"PREREQUISITE_FAILED"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"prerequisiteFailed(String)","u":"prerequisiteFailed(java.lang.String)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"EventProcessorBuilder","l":"privateAttributes"},{"p":"com.launchdarkly.sdk","c":"ContextBuilder","l":"privateAttributes(AttributeRef...)","u":"privateAttributes(com.launchdarkly.sdk.AttributeRef...)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"EventProcessorBuilder","l":"privateAttributes(String...)","u":"privateAttributes(java.lang.String...)"},{"p":"com.launchdarkly.sdk","c":"ContextBuilder","l":"privateAttributes(String...)","u":"privateAttributes(java.lang.String...)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"privateAvatar(String)","u":"privateAvatar(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"privateCountry(String)","u":"privateCountry(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"privateCustom(String, boolean)","u":"privateCustom(java.lang.String,boolean)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"privateCustom(String, double)","u":"privateCustom(java.lang.String,double)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"privateCustom(String, int)","u":"privateCustom(java.lang.String,int)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"privateCustom(String, LDValue)","u":"privateCustom(java.lang.String,com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"privateCustom(String, String)","u":"privateCustom(java.lang.String,java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"privateEmail(String)","u":"privateEmail(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"privateFirstName(String)","u":"privateFirstName(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"privateIp(String)","u":"privateIp(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"privateLastName(String)","u":"privateLastName(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDUser.Builder","l":"privateName(String)","u":"privateName(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"ObjectBuilder","l":"put(String, boolean)","u":"put(java.lang.String,boolean)"},{"p":"com.launchdarkly.sdk","c":"ObjectBuilder","l":"put(String, double)","u":"put(java.lang.String,double)"},{"p":"com.launchdarkly.sdk","c":"ObjectBuilder","l":"put(String, float)","u":"put(java.lang.String,float)"},{"p":"com.launchdarkly.sdk","c":"ObjectBuilder","l":"put(String, int)","u":"put(java.lang.String,int)"},{"p":"com.launchdarkly.sdk","c":"ObjectBuilder","l":"put(String, LDValue)","u":"put(java.lang.String,com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk","c":"ObjectBuilder","l":"put(String, long)","u":"put(java.lang.String,long)"},{"p":"com.launchdarkly.sdk","c":"ObjectBuilder","l":"put(String, String)","u":"put(java.lang.String,java.lang.String)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"EventProcessor","l":"recordCustomEvent(LDContext, String, LDValue, Double)","u":"recordCustomEvent(com.launchdarkly.sdk.LDContext,java.lang.String,com.launchdarkly.sdk.LDValue,java.lang.Double)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"EventProcessor","l":"recordEvaluationEvent(LDContext, String, int, int, LDValue, EvaluationReason, LDValue, boolean, Long)","u":"recordEvaluationEvent(com.launchdarkly.sdk.LDContext,java.lang.String,int,int,com.launchdarkly.sdk.LDValue,com.launchdarkly.sdk.EvaluationReason,com.launchdarkly.sdk.LDValue,boolean,java.lang.Long)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"EventProcessor","l":"recordIdentifyEvent(LDContext)","u":"recordIdentifyEvent(com.launchdarkly.sdk.LDContext)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"registerAllFlagsListener(LDAllFlagsListener)","u":"registerAllFlagsListener(com.launchdarkly.sdk.android.LDAllFlagsListener)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"registerAllFlagsListener(LDAllFlagsListener)","u":"registerAllFlagsListener(com.launchdarkly.sdk.android.LDAllFlagsListener)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"registerFeatureFlagListener(String, FeatureFlagChangeListener)","u":"registerFeatureFlagListener(java.lang.String,com.launchdarkly.sdk.android.FeatureFlagChangeListener)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"registerFeatureFlagListener(String, FeatureFlagChangeListener)","u":"registerFeatureFlagListener(java.lang.String,com.launchdarkly.sdk.android.FeatureFlagChangeListener)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"registerStatusListener(LDStatusListener)","u":"registerStatusListener(com.launchdarkly.sdk.android.LDStatusListener)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"registerStatusListener(LDStatusListener)","u":"registerStatusListener(com.launchdarkly.sdk.android.LDStatusListener)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ServiceEndpointsBuilder","l":"relayProxy(String)","u":"relayProxy(java.lang.String)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ServiceEndpointsBuilder","l":"relayProxy(URI)","u":"relayProxy(java.net.URI)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.Kind","l":"RULE_MATCH"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"ruleMatch(int, String)","u":"ruleMatch(int,java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"ruleMatch(int, String, boolean)","u":"ruleMatch(int,java.lang.String,boolean)"},{"p":"com.launchdarkly.sdk.android","c":"LDUtil","l":"sanitizeSpaces(String)","u":"sanitizeSpaces(java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"LDPackageConsts","l":"SDK_CLIENT_NAME"},{"p":"com.launchdarkly.sdk.android","c":"LDPackageConsts","l":"SDK_NAME"},{"p":"com.launchdarkly.sdk.android","c":"LDPackageConsts","l":"SDK_PLATFORM_NAME"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"secondaryMobileKeys(Map)","u":"secondaryMobileKeys(java.util.Map)"},{"p":"com.launchdarkly.sdk.android","c":"Components","l":"sendEvents()"},{"p":"com.launchdarkly.sdk.json","c":"SerializationException","l":"SerializationException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"com.launchdarkly.sdk.json","c":"SerializationException","l":"SerializationException(Throwable)","u":"%3Cinit%3E(java.lang.Throwable)"},{"p":"com.launchdarkly.sdk.json","c":"JsonSerialization","l":"serialize(T)"},{"p":"com.launchdarkly.sdk.android","c":"Components","l":"serviceEndpoints()"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder","l":"serviceEndpoints(ServiceEndpointsBuilder)","u":"serviceEndpoints(com.launchdarkly.sdk.android.integrations.ServiceEndpointsBuilder)"},{"p":"com.launchdarkly.sdk.android.interfaces","c":"ServiceEndpoints","l":"ServiceEndpoints(URI, URI, URI)","u":"%3Cinit%3E(java.net.URI,java.net.URI,java.net.URI)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ServiceEndpointsBuilder","l":"ServiceEndpointsBuilder()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk.android","c":"ConnectionInformation.ConnectionMode","l":"SET_OFFLINE"},{"p":"com.launchdarkly.sdk","c":"ContextBuilder","l":"set(String, boolean)","u":"set(java.lang.String,boolean)"},{"p":"com.launchdarkly.sdk","c":"ContextBuilder","l":"set(String, double)","u":"set(java.lang.String,double)"},{"p":"com.launchdarkly.sdk","c":"ContextBuilder","l":"set(String, int)","u":"set(java.lang.String,int)"},{"p":"com.launchdarkly.sdk","c":"ContextBuilder","l":"set(String, LDValue)","u":"set(java.lang.String,com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk","c":"ContextBuilder","l":"set(String, String)","u":"set(java.lang.String,java.lang.String)"},{"p":"com.launchdarkly.sdk.android.env","c":"EnvironmentReporterBuilder","l":"setApplicationInfo(ApplicationInfo)","u":"setApplicationInfo(com.launchdarkly.sdk.android.subsystems.ApplicationInfo)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"ClientContext","l":"setEvaluationContext(LDContext)","u":"setEvaluationContext(com.launchdarkly.sdk.LDContext)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"EventProcessor","l":"setInBackground(boolean)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"setOffline()"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"setOffline()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"EventProcessor","l":"setOffline(boolean)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"setOnline()"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"setOnline()"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"DataSourceUpdateSink","l":"setStatus(ConnectionInformation.ConnectionMode, Throwable)","u":"setStatus(com.launchdarkly.sdk.android.ConnectionInformation.ConnectionMode,java.lang.Throwable)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"PersistentDataStore","l":"setValue(String, String, String)","u":"setValue(java.lang.String,java.lang.String,java.lang.String)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"PersistentDataStore","l":"setValues(String, Map)","u":"setValues(java.lang.String,java.util.Map)"},{"p":"com.launchdarkly.sdk.android","c":"ConnectionInformation.ConnectionMode","l":"SHUTDOWN"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"DataSourceUpdateSink","l":"shutDown()"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"size()"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.BigSegmentsStatus","l":"STALE"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"DataSource","l":"start(Callback)","u":"start(com.launchdarkly.sdk.android.subsystems.Callback)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"DataSource","l":"stop(Callback)","u":"stop(com.launchdarkly.sdk.android.subsystems.Callback)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.BigSegmentsStatus","l":"STORE_ERROR"},{"p":"com.launchdarkly.sdk.android.integrations","c":"StreamingDataSourceBuilder","l":"streamEvenInBackground"},{"p":"com.launchdarkly.sdk.android.integrations","c":"StreamingDataSourceBuilder","l":"streamEvenInBackground(boolean)"},{"p":"com.launchdarkly.sdk.android","c":"ConnectionInformation.ConnectionMode","l":"STREAMING"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ServiceEndpointsBuilder","l":"streaming(String)","u":"streaming(java.lang.String)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ServiceEndpointsBuilder","l":"streaming(URI)","u":"streaming(java.net.URI)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"ServiceEndpointsBuilder","l":"streamingBaseUri"},{"p":"com.launchdarkly.sdk.android","c":"Components","l":"streamingDataSource()"},{"p":"com.launchdarkly.sdk.android.integrations","c":"StreamingDataSourceBuilder","l":"StreamingDataSourceBuilder()","u":"%3Cinit%3E()"},{"p":"com.launchdarkly.sdk","c":"LDValue.Convert","l":"String"},{"p":"com.launchdarkly.sdk","c":"LDValueType","l":"STRING"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"stringValue()"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"stringVariation(String, String)","u":"stringVariation(java.lang.String,java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"stringVariation(String, String)","u":"stringVariation(java.lang.String,java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"stringVariationDetail(String, String)","u":"stringVariationDetail(java.lang.String,java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"stringVariationDetail(String, String)","u":"stringVariationDetail(java.lang.String,java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.Kind","l":"TARGET_MATCH"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"targetMatch()"},{"p":"com.launchdarkly.sdk.android","c":"DataModel.Flag","l":"toJson()"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"toJsonString()"},{"p":"com.launchdarkly.sdk.android","c":"DataModel.Flag","l":"toString()"},{"p":"com.launchdarkly.sdk","c":"AttributeRef","l":"toString()"},{"p":"com.launchdarkly.sdk","c":"ContextKind","l":"toString()"},{"p":"com.launchdarkly.sdk","c":"EvaluationDetail","l":"toString()"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"toString()"},{"p":"com.launchdarkly.sdk","c":"LDContext","l":"toString()"},{"p":"com.launchdarkly.sdk","c":"LDUser","l":"toString()"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"toString()"},{"p":"com.launchdarkly.sdk","c":"UserAttribute","l":"toString()"},{"p":"com.launchdarkly.sdk","c":"LDValue.Converter","l":"toType(LDValue)","u":"toType(com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"track(String)","u":"track(java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"track(String)","u":"track(java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"trackData(String, LDValue)","u":"trackData(java.lang.String,com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"trackData(String, LDValue)","u":"trackData(java.lang.String,com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"trackMetric(String, LDValue, double)","u":"trackMetric(java.lang.String,com.launchdarkly.sdk.LDValue,double)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"trackMetric(String, LDValue, double)","u":"trackMetric(java.lang.String,com.launchdarkly.sdk.LDValue,double)"},{"p":"com.launchdarkly.sdk","c":"ContextBuilder","l":"trySet(String, LDValue)","u":"trySet(java.lang.String,com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk.json","c":"LDGson","l":"typeAdapters()"},{"p":"com.launchdarkly.sdk.android","c":"LDFailure.FailureType","l":"UNEXPECTED_RESPONSE_CODE"},{"p":"com.launchdarkly.sdk.android","c":"LDFailure.FailureType","l":"UNEXPECTED_STREAM_ELEMENT_TYPE"},{"p":"com.launchdarkly.sdk.android","c":"LDFailure.FailureType","l":"UNKNOWN_ERROR"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"unregisterAllFlagsListener(LDAllFlagsListener)","u":"unregisterAllFlagsListener(com.launchdarkly.sdk.android.LDAllFlagsListener)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"unregisterAllFlagsListener(LDAllFlagsListener)","u":"unregisterAllFlagsListener(com.launchdarkly.sdk.android.LDAllFlagsListener)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"unregisterFeatureFlagListener(String, FeatureFlagChangeListener)","u":"unregisterFeatureFlagListener(java.lang.String,com.launchdarkly.sdk.android.FeatureFlagChangeListener)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"unregisterFeatureFlagListener(String, FeatureFlagChangeListener)","u":"unregisterFeatureFlagListener(java.lang.String,com.launchdarkly.sdk.android.FeatureFlagChangeListener)"},{"p":"com.launchdarkly.sdk.android","c":"LDClient","l":"unregisterStatusListener(LDStatusListener)","u":"unregisterStatusListener(com.launchdarkly.sdk.android.LDStatusListener)"},{"p":"com.launchdarkly.sdk.android","c":"LDClientInterface","l":"unregisterStatusListener(LDStatusListener)","u":"unregisterStatusListener(com.launchdarkly.sdk.android.LDStatusListener)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData","l":"update(TestData.FlagBuilder)","u":"update(com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder)"},{"p":"com.launchdarkly.sdk.android","c":"LDHeaderUpdater","l":"updateHeaders(Map)","u":"updateHeaders(java.util.Map)"},{"p":"com.launchdarkly.sdk.android.subsystems","c":"DataSourceUpdateSink","l":"upsert(LDContext, DataModel.Flag)","u":"upsert(com.launchdarkly.sdk.LDContext,com.launchdarkly.sdk.android.DataModel.Flag)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.ErrorKind","l":"USER_NOT_SPECIFIED"},{"p":"com.launchdarkly.sdk.android.integrations","c":"HttpConfigurationBuilder","l":"useReport"},{"p":"com.launchdarkly.sdk.android.integrations","c":"HttpConfigurationBuilder","l":"useReport(boolean)"},{"p":"com.launchdarkly.sdk.android","c":"LDUtil","l":"validateStringValue(String)","u":"validateStringValue(java.lang.String)"},{"p":"com.launchdarkly.sdk.json","c":"LDGson","l":"valueMapToJsonElementMap(Map)","u":"valueMapToJsonElementMap(java.util.Map)"},{"p":"com.launchdarkly.sdk.android","c":"ConnectionInformation.ConnectionMode","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder.AutoEnvAttributes","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"LDFailure.FailureType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.BigSegmentsStatus","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.ErrorKind","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.Kind","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.launchdarkly.sdk","c":"LDValueType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.launchdarkly.sdk.android","c":"ConnectionInformation.ConnectionMode","l":"values()"},{"p":"com.launchdarkly.sdk.android","c":"LDConfig.Builder.AutoEnvAttributes","l":"values()"},{"p":"com.launchdarkly.sdk.android","c":"LDFailure.FailureType","l":"values()"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.BigSegmentsStatus","l":"values()"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.ErrorKind","l":"values()"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.Kind","l":"values()"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"values()"},{"p":"com.launchdarkly.sdk","c":"LDValueType","l":"values()"},{"p":"com.launchdarkly.sdk","c":"LDValue","l":"valuesAs(LDValue.Converter)","u":"valuesAs(com.launchdarkly.sdk.LDValue.Converter)"},{"p":"com.launchdarkly.sdk.json","c":"LDGson","l":"valueToJsonElement(LDValue)","u":"valueToJsonElement(com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData.FlagBuilder","l":"variation(boolean)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData.FlagBuilder","l":"variation(int)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData.FlagBuilder","l":"variation(LDValue)","u":"variation(com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData.FlagBuilder","l":"variationForKey(ContextKind, String, boolean)","u":"variationForKey(com.launchdarkly.sdk.ContextKind,java.lang.String,boolean)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData.FlagBuilder","l":"variationForKey(ContextKind, String, int)","u":"variationForKey(com.launchdarkly.sdk.ContextKind,java.lang.String,int)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData.FlagBuilder","l":"variationForKey(ContextKind, String, LDValue)","u":"variationForKey(com.launchdarkly.sdk.ContextKind,java.lang.String,com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData.FlagBuilder","l":"variationForUser(String, boolean)","u":"variationForUser(java.lang.String,boolean)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData.FlagBuilder","l":"variationForUser(String, int)","u":"variationForUser(java.lang.String,int)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData.FlagBuilder","l":"variationForUser(String, LDValue)","u":"variationForUser(java.lang.String,com.launchdarkly.sdk.LDValue)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData.FlagBuilder","l":"variationFunc(TestData.FlagBuilder.VariationFunc)","u":"variationFunc(com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder.VariationFunc)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData.FlagBuilder","l":"variationIndexFunc(TestData.FlagBuilder.VariationFunc)","u":"variationIndexFunc(com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder.VariationFunc)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData.FlagBuilder","l":"variations(LDValue...)","u":"variations(com.launchdarkly.sdk.LDValue...)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"TestData.FlagBuilder","l":"variationValueFunc(TestData.FlagBuilder.VariationFunc)","u":"variationValueFunc(com.launchdarkly.sdk.android.integrations.TestData.FlagBuilder.VariationFunc)"},{"p":"com.launchdarkly.sdk.android","c":"BuildConfig","l":"VERSION_NAME"},{"p":"com.launchdarkly.sdk.android.test","c":"BuildConfig","l":"VERSION_NAME"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason","l":"withBigSegmentsStatus(EvaluationReason.BigSegmentsStatus)","u":"withBigSegmentsStatus(com.launchdarkly.sdk.EvaluationReason.BigSegmentsStatus)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"HttpConfigurationBuilder","l":"wrapper(String, String)","u":"wrapper(java.lang.String,java.lang.String)"},{"p":"com.launchdarkly.sdk.android.integrations","c":"HttpConfigurationBuilder","l":"wrapperName"},{"p":"com.launchdarkly.sdk.android.integrations","c":"HttpConfigurationBuilder","l":"wrapperVersion"},{"p":"com.launchdarkly.sdk","c":"EvaluationReason.ErrorKind","l":"WRONG_TYPE"}];updateSearchResults(); \ No newline at end of file diff --git a/module-search-index.js b/module-search-index.js new file mode 100644 index 00000000..0d59754f --- /dev/null +++ b/module-search-index.js @@ -0,0 +1 @@ +moduleSearchIndex = [];updateSearchResults(); \ No newline at end of file diff --git a/overview-summary.html b/overview-summary.html new file mode 100644 index 00000000..1d405a88 --- /dev/null +++ b/overview-summary.html @@ -0,0 +1,25 @@ + + + + +launchdarkly-android-client-sdk 5.1.1 API + + + + + + + + + + +
+ +

index.html

+
+ + diff --git a/overview-tree.html b/overview-tree.html new file mode 100644 index 00000000..27912feb --- /dev/null +++ b/overview-tree.html @@ -0,0 +1,191 @@ + + + + +Class Hierarchy (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/package-search-index.js b/package-search-index.js new file mode 100644 index 00000000..35cc86a0 --- /dev/null +++ b/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"com.launchdarkly.sdk"},{"l":"com.launchdarkly.sdk.android"},{"l":"com.launchdarkly.sdk.android.env"},{"l":"com.launchdarkly.sdk.android.integrations"},{"l":"com.launchdarkly.sdk.android.interfaces"},{"l":"com.launchdarkly.sdk.android.subsystems"},{"l":"com.launchdarkly.sdk.android.test"},{"l":"com.launchdarkly.sdk.json"}];updateSearchResults(); \ No newline at end of file diff --git a/resources/glass.png b/resources/glass.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f591f467a1c0c949bbc510156a0c1afb860a6e GIT binary patch literal 499 zcmVJoRsvExf%rEN>jUL}qZ_~k#FbE+Q;{`;0FZwVNX2n-^JoI; zP;4#$8DIy*Yk-P>VN(DUKmPse7mx+ExD4O|;?E5D0Z5($mjO3`*anwQU^s{ZDK#Lz zj>~{qyaIx5K!t%=G&2IJNzg!ChRpyLkO7}Ry!QaotAHAMpbB3AF(}|_f!G-oI|uK6 z`id_dumai5K%C3Y$;tKS_iqMPHg<*|-@e`liWLAggVM!zAP#@l;=c>S03;{#04Z~5 zN_+ss=Yg6*hTr59mzMwZ@+l~q!+?ft!fF66AXT#wWavHt30bZWFCK%!BNk}LN?0Hg z1VF_nfs`Lm^DjYZ1(1uD0u4CSIr)XAaqW6IT{!St5~1{i=i}zAy76p%_|w8rh@@c0Axr!ns=D-X+|*sY6!@wacG9%)Qn*O zl0sa739kT-&_?#oVxXF6tOnqTD)cZ}2vi$`ZU8RLAlo8=_z#*P3xI~i!lEh+Pdu-L zx{d*wgjtXbnGX_Yf@Tc7Q3YhLhPvc8noGJs2DA~1DySiA&6V{5JzFt ojAY1KXm~va;tU{v7C?Xj0BHw!K;2aXV*mgE07*qoM6N<$f;4TDA^-pY literal 0 HcmV?d00001 diff --git a/script-dir/jquery-3.6.1.min.js b/script-dir/jquery-3.6.1.min.js new file mode 100644 index 00000000..2c69bc90 --- /dev/null +++ b/script-dir/jquery-3.6.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",v.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=x.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthC(E(s),E(n))?o.important="horizontal":o.important="vertical",c.using.call(this,t,o)}),l.offset(x.extend(u,{using:t}))})},x.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,l=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=x(t.target),i=x(x.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){x.contains(this.element[0],x.ui.safeActiveElement(this.document[0]))||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=x(t.target).closest(".ui-menu-item"),i=x(t.currentTarget),e[0]===i[0]&&(i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=x(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case x.ui.keyCode.PAGE_UP:this.previousPage(t);break;case x.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case x.ui.keyCode.HOME:this._move("first","first",t);break;case x.ui.keyCode.END:this._move("last","last",t);break;case x.ui.keyCode.UP:this.previous(t);break;case x.ui.keyCode.DOWN:this.next(t);break;case x.ui.keyCode.LEFT:this.collapse(t);break;case x.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case x.ui.keyCode.ENTER:case x.ui.keyCode.SPACE:this._activate(t);break;case x.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),e=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=x(this),e=t.prev(),i=x("").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(e,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=x(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),i=(e=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(e,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!x.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(i=parseFloat(x.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(x.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-i-s,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&this._isContentEditable(this.element),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)return i=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault());if(!s){var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=x("
    ").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault()},menufocus:function(t,e){var i,s;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){x(t.target).trigger(t.originalEvent)});s=e.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:s})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value),(i=e.item.attr("aria-label")||s.value)&&String.prototype.trim.call(i).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(x("
    ").text(i))},100))},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==x.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=x("
    ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var e=this.menu.element[0];return t.target===this.element[0]||t.target===e||x.contains(e,t.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t=!(t=!(t=t&&(t.jquery||t.nodeType?x(t):this.document.find(t).eq(0)))||!t[0]?this.element.closest(".ui-front, dialog"):t).length?this.document[0].body:t},_initSource:function(){var i,s,n=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(t,e){e(x.ui.autocomplete.filter(i,t.term))}):"string"==typeof this.options.source?(s=this.options.source,this.source=function(t,e){n.xhr&&n.xhr.abort(),n.xhr=x.ajax({url:s,data:t,dataType:"json",success:function(t){e(t)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(s){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),e=this.menu.element.is(":visible"),i=s.altKey||s.ctrlKey||s.metaKey||s.shiftKey;t&&(e||i)||(this.selectedItem=null,this.search(null,s))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(x("
    ").text(e.label)).appendTo(t)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),x.extend(x.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,e){var i=new RegExp(x.ui.autocomplete.escapeRegex(e),"i");return x.grep(t,function(t){return i.test(t.label||t.value||t)})}}),x.widget("ui.autocomplete",x.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(1").text(e))},100))}});x.ui.autocomplete}); \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 00000000..864989cf --- /dev/null +++ b/script.js @@ -0,0 +1,132 @@ +/* + * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; +function loadScripts(doc, tag) { + createElem(doc, tag, 'search.js'); + + createElem(doc, tag, 'module-search-index.js'); + createElem(doc, tag, 'package-search-index.js'); + createElem(doc, tag, 'type-search-index.js'); + createElem(doc, tag, 'member-search-index.js'); + createElem(doc, tag, 'tag-search-index.js'); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +function show(tableId, selected, columns) { + if (tableId !== selected) { + document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')') + .forEach(function(elem) { + elem.style.display = 'none'; + }); + } + document.querySelectorAll('div.' + selected) + .forEach(function(elem, index) { + elem.style.display = ''; + var isEvenRow = index % (columns * 2) < columns; + elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor); + elem.classList.add(isEvenRow ? evenRowColor : oddRowColor); + }); + updateTabs(tableId, selected); +} + +function updateTabs(tableId, selected) { + document.querySelector('div#' + tableId +' .summary-table') + .setAttribute('aria-labelledby', selected); + document.querySelectorAll('button[id^="' + tableId + '"]') + .forEach(function(tab, index) { + if (selected === tab.id || (tableId === selected && index === 0)) { + tab.className = activeTableTab; + tab.setAttribute('aria-selected', true); + tab.setAttribute('tabindex',0); + } else { + tab.className = tableTab; + tab.setAttribute('aria-selected', false); + tab.setAttribute('tabindex',-1); + } + }); +} + +function switchTab(e) { + var selected = document.querySelector('[aria-selected=true]'); + if (selected) { + if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) { + // left or up arrow key pressed: move focus to previous tab + selected.previousSibling.click(); + selected.previousSibling.focus(); + e.preventDefault(); + } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) { + // right or down arrow key pressed: move focus to next tab + selected.nextSibling.click(); + selected.nextSibling.focus(); + e.preventDefault(); + } + } +} + +var updateSearchResults = function() {}; + +function indexFilesLoaded() { + return moduleSearchIndex + && packageSearchIndex + && typeSearchIndex + && memberSearchIndex + && tagSearchIndex; +} + +// Workaround for scroll position not being included in browser history (8249133) +document.addEventListener("DOMContentLoaded", function(e) { + var contentDiv = document.querySelector("div.flex-content"); + window.addEventListener("popstate", function(e) { + if (e.state !== null) { + contentDiv.scrollTop = e.state; + } + }); + window.addEventListener("hashchange", function(e) { + history.replaceState(contentDiv.scrollTop, document.title); + }); + contentDiv.addEventListener("scroll", function(e) { + var timeoutID; + if (!timeoutID) { + timeoutID = setTimeout(function() { + history.replaceState(contentDiv.scrollTop, document.title); + timeoutID = null; + }, 100); + } + }); + if (!location.hash) { + history.replaceState(contentDiv.scrollTop, document.title); + } +}); diff --git a/search.js b/search.js new file mode 100644 index 00000000..db3b2f4a --- /dev/null +++ b/search.js @@ -0,0 +1,354 @@ +/* + * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var noResult = {l: "No results found"}; +var loading = {l: "Loading search index..."}; +var catModules = "Modules"; +var catPackages = "Packages"; +var catTypes = "Classes and Interfaces"; +var catMembers = "Members"; +var catSearchTags = "Search Tags"; +var highlight = "$&"; +var searchPattern = ""; +var fallbackPattern = ""; +var RANKING_THRESHOLD = 2; +var NO_MATCH = 0xffff; +var MIN_RESULTS = 3; +var MAX_RESULTS = 500; +var UNNAMED = ""; +function escapeHtml(str) { + return str.replace(//g, ">"); +} +function getHighlightedText(item, matcher, fallbackMatcher) { + var escapedItem = escapeHtml(item); + var highlighted = escapedItem.replace(matcher, highlight); + if (highlighted === escapedItem) { + highlighted = escapedItem.replace(fallbackMatcher, highlight) + } + return highlighted; +} +function getURLPrefix(ui) { + var urlPrefix=""; + var slash = "/"; + if (ui.item.category === catModules) { + return ui.item.l + slash; + } else if (ui.item.category === catPackages && ui.item.m) { + return ui.item.m + slash; + } else if (ui.item.category === catTypes || ui.item.category === catMembers) { + if (ui.item.m) { + urlPrefix = ui.item.m + slash; + } else { + $.each(packageSearchIndex, function(index, item) { + if (item.m && ui.item.p === item.l) { + urlPrefix = item.m + slash; + } + }); + } + } + return urlPrefix; +} +function createSearchPattern(term) { + var pattern = ""; + var isWordToken = false; + term.replace(/,\s*/g, ", ").trim().split(/\s+/).forEach(function(w, index) { + if (index > 0) { + // whitespace between identifiers is significant + pattern += (isWordToken && /^\w/.test(w)) ? "\\s+" : "\\s*"; + } + var tokens = w.split(/(?=[A-Z,.()<>[\/])/); + for (var i = 0; i < tokens.length; i++) { + var s = tokens[i]; + if (s === "") { + continue; + } + pattern += $.ui.autocomplete.escapeRegex(s); + isWordToken = /\w$/.test(s); + if (isWordToken) { + pattern += "([a-z0-9_$<>\\[\\]]*?)"; + } + } + }); + return pattern; +} +function createMatcher(pattern, flags) { + var isCamelCase = /[A-Z]/.test(pattern); + return new RegExp(pattern, flags + (isCamelCase ? "" : "i")); +} +var watermark = 'Search'; +$(function() { + var search = $("#search-input"); + var reset = $("#reset-button"); + search.val(''); + search.prop("disabled", false); + reset.prop("disabled", false); + search.val(watermark).addClass('watermark'); + search.blur(function() { + if ($(this).val().length === 0) { + $(this).val(watermark).addClass('watermark'); + } + }); + search.on('click keydown paste', function() { + if ($(this).val() === watermark) { + $(this).val('').removeClass('watermark'); + } + }); + reset.click(function() { + search.val('').focus(); + }); + search.focus()[0].setSelectionRange(0, 0); +}); +$.widget("custom.catcomplete", $.ui.autocomplete, { + _create: function() { + this._super(); + this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)"); + }, + _renderMenu: function(ul, items) { + var rMenu = this; + var currentCategory = ""; + rMenu.menu.bindings = $(); + $.each(items, function(index, item) { + var li; + if (item.category && item.category !== currentCategory) { + ul.append("
  • " + item.category + "
  • "); + currentCategory = item.category; + } + li = rMenu._renderItemData(ul, item); + if (item.category) { + li.attr("aria-label", item.category + " : " + item.l); + li.attr("class", "result-item"); + } else { + li.attr("aria-label", item.l); + li.attr("class", "result-item"); + } + }); + }, + _renderItem: function(ul, item) { + var label = ""; + var matcher = createMatcher(escapeHtml(searchPattern), "g"); + var fallbackMatcher = new RegExp(fallbackPattern, "gi") + if (item.category === catModules) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catPackages) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catTypes) { + label = (item.p && item.p !== UNNAMED) + ? getHighlightedText(item.p + "." + item.l, matcher, fallbackMatcher) + : getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catMembers) { + label = (item.p && item.p !== UNNAMED) + ? getHighlightedText(item.p + "." + item.c + "." + item.l, matcher, fallbackMatcher) + : getHighlightedText(item.c + "." + item.l, matcher, fallbackMatcher); + } else if (item.category === catSearchTags) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else { + label = item.l; + } + var li = $("
  • ").appendTo(ul); + var div = $("
    ").appendTo(li); + if (item.category === catSearchTags && item.h) { + if (item.d) { + div.html(label + " (" + item.h + ")
    " + + item.d + "
    "); + } else { + div.html(label + " (" + item.h + ")"); + } + } else { + if (item.m) { + div.html(item.m + "/" + label); + } else { + div.html(label); + } + } + return li; + } +}); +function rankMatch(match, category) { + if (!match) { + return NO_MATCH; + } + var index = match.index; + var input = match.input; + var leftBoundaryMatch = 2; + var periferalMatch = 0; + // make sure match is anchored on a left word boundary + if (index === 0 || /\W/.test(input[index - 1]) || "_" === input[index]) { + leftBoundaryMatch = 0; + } else if ("_" === input[index - 1] || (input[index] === input[index].toUpperCase() && !/^[A-Z0-9_$]+$/.test(input))) { + leftBoundaryMatch = 1; + } + var matchEnd = index + match[0].length; + var leftParen = input.indexOf("("); + var endOfName = leftParen > -1 ? leftParen : input.length; + // exclude peripheral matches + if (category !== catModules && category !== catSearchTags) { + var delim = category === catPackages ? "/" : "."; + if (leftParen > -1 && leftParen < index) { + periferalMatch += 2; + } else if (input.lastIndexOf(delim, endOfName) >= matchEnd) { + periferalMatch += 2; + } + } + var delta = match[0].length === endOfName ? 0 : 1; // rank full match higher than partial match + for (var i = 1; i < match.length; i++) { + // lower ranking if parts of the name are missing + if (match[i]) + delta += match[i].length; + } + if (category === catTypes) { + // lower ranking if a type name contains unmatched camel-case parts + if (/[A-Z]/.test(input.substring(matchEnd))) + delta += 5; + if (/[A-Z]/.test(input.substring(0, index))) + delta += 5; + } + return leftBoundaryMatch + periferalMatch + (delta / 200); + +} +function doSearch(request, response) { + var result = []; + searchPattern = createSearchPattern(request.term); + fallbackPattern = createSearchPattern(request.term.toLowerCase()); + if (searchPattern === "") { + return this.close(); + } + var camelCaseMatcher = createMatcher(searchPattern, ""); + var fallbackMatcher = new RegExp(fallbackPattern, "i"); + + function searchIndexWithMatcher(indexArray, matcher, category, nameFunc) { + if (indexArray) { + var newResults = []; + $.each(indexArray, function (i, item) { + item.category = category; + var ranking = rankMatch(matcher.exec(nameFunc(item)), category); + if (ranking < RANKING_THRESHOLD) { + newResults.push({ranking: ranking, item: item}); + } + return newResults.length <= MAX_RESULTS; + }); + return newResults.sort(function(e1, e2) { + return e1.ranking - e2.ranking; + }).map(function(e) { + return e.item; + }); + } + return []; + } + function searchIndex(indexArray, category, nameFunc) { + var primaryResults = searchIndexWithMatcher(indexArray, camelCaseMatcher, category, nameFunc); + result = result.concat(primaryResults); + if (primaryResults.length <= MIN_RESULTS && !camelCaseMatcher.ignoreCase) { + var secondaryResults = searchIndexWithMatcher(indexArray, fallbackMatcher, category, nameFunc); + result = result.concat(secondaryResults.filter(function (item) { + return primaryResults.indexOf(item) === -1; + })); + } + } + + searchIndex(moduleSearchIndex, catModules, function(item) { return item.l; }); + searchIndex(packageSearchIndex, catPackages, function(item) { + return (item.m && request.term.indexOf("/") > -1) + ? (item.m + "/" + item.l) : item.l; + }); + searchIndex(typeSearchIndex, catTypes, function(item) { + return request.term.indexOf(".") > -1 ? item.p + "." + item.l : item.l; + }); + searchIndex(memberSearchIndex, catMembers, function(item) { + return request.term.indexOf(".") > -1 + ? item.p + "." + item.c + "." + item.l : item.l; + }); + searchIndex(tagSearchIndex, catSearchTags, function(item) { return item.l; }); + + if (!indexFilesLoaded()) { + updateSearchResults = function() { + doSearch(request, response); + } + result.unshift(loading); + } else { + updateSearchResults = function() {}; + } + response(result); +} +$(function() { + $("#search-input").catcomplete({ + minLength: 1, + delay: 300, + source: doSearch, + response: function(event, ui) { + if (!ui.content.length) { + ui.content.push(noResult); + } else { + $("#search-input").empty(); + } + }, + autoFocus: true, + focus: function(event, ui) { + return false; + }, + position: { + collision: "flip" + }, + select: function(event, ui) { + if (ui.item.category) { + var url = getURLPrefix(ui); + if (ui.item.category === catModules) { + url += "module-summary.html"; + } else if (ui.item.category === catPackages) { + if (ui.item.u) { + url = ui.item.u; + } else { + url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; + } + } else if (ui.item.category === catTypes) { + if (ui.item.u) { + url = ui.item.u; + } else if (ui.item.p === UNNAMED) { + url += ui.item.l + ".html"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html"; + } + } else if (ui.item.category === catMembers) { + if (ui.item.p === UNNAMED) { + url += ui.item.c + ".html" + "#"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#"; + } + if (ui.item.u) { + url += ui.item.u; + } else { + url += ui.item.l; + } + } else if (ui.item.category === catSearchTags) { + url += ui.item.u; + } + if (top !== window) { + parent.classFrame.location = pathtoroot + url; + } else { + window.location.href = pathtoroot + url; + } + $("#search-input").focus(); + } + } + }); +}); diff --git a/serialized-form.html b/serialized-form.html new file mode 100644 index 00000000..5f059502 --- /dev/null +++ b/serialized-form.html @@ -0,0 +1,130 @@ + + + + +Serialized Form (launchdarkly-android-client-sdk 5.1.1 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Serialized Form

    +
    + +
    +
    +
    + + diff --git a/stylesheet.css b/stylesheet.css new file mode 100644 index 00000000..4a576bd2 --- /dev/null +++ b/stylesheet.css @@ -0,0 +1,869 @@ +/* + * Javadoc style sheet + */ + +@import url('resources/fonts/dejavu.css'); + +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a[href]:hover, a[href]:focus { + text-decoration:none; + color:#bb7a2a; +} +a[name] { + color:#353833; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; +} +h4 { + font-size:15px; +} +h5 { + font-size:14px; +} +h6 { + font-size:13px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; +} +:not(h1, h2, h3, h4, h5, h6) > code, +:not(h1, h2, h3, h4, h5, h6) > tt { + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +.summary-table dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +button { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size: 14px; +} +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.clear { + clear:both; + height:0; + overflow:hidden; +} +.about-language { + float:right; + padding:0 21px 8px 8px; + font-size:11px; + margin-top:-9px; + height:2.9em; +} +.legal-copy { + margin-left:.5em; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* + * Styles for navigation bar. + */ +@media screen { + .flex-box { + position:fixed; + display:flex; + flex-direction:column; + height: 100%; + width: 100%; + } + .flex-header { + flex: 0 0 auto; + } + .flex-content { + flex: 1 1 auto; + overflow-y: auto; + } +} +.top-nav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + min-height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.sub-nav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.sub-nav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list { + padding-top:5px; +} +ul.nav-list { + display:block; + margin:0 25px 0 0; + padding:0; +} +ul.sub-nav-list { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.nav-list li { + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list-search { + float:right; + margin:0 0 0 0; + padding:5px 6px; + clear:none; +} +.nav-list-search label { + position:relative; + right:-16px; +} +ul.sub-nav-list li { + list-style:none; + float:left; + padding-top:10px; +} +.top-nav a:link, .top-nav a:active, .top-nav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.top-nav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.nav-bar-cell1-rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skip-nav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Hide navigation links and search box in print layout + */ +@media print { + ul.nav-list, div.sub-nav { + display:none; + } +} +/* + * Styles for page header and footer. + */ +.title { + color:#2c4557; + margin:10px 0; +} +.sub-title { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* + * Styles for headings. + */ +body.class-declaration-page .summary h2, +body.class-declaration-page .details h2, +body.class-use-page h2, +body.module-declaration-page .block-list h2 { + font-style: italic; + padding:0; + margin:15px 0; +} +body.class-declaration-page .summary h3, +body.class-declaration-page .details h3, +body.class-declaration-page .summary .inherited-list h2 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +/* + * Styles for page layout containers. + */ +main { + clear:both; + padding:10px 20px; + position:relative; +} +dl.notes > dt { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +dl.notes > dd { + margin:5px 10px 10px 0; + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +dl.name-value > dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +dl.name-value > dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for lists. + */ +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +div.inheritance { + margin:0; + padding:0; +} +div.inheritance div.inheritance { + margin-left:2em; +} +ul.block-list, +ul.details-list, +ul.member-list, +ul.summary-list { + margin:10px 0 10px 0; + padding:0; +} +ul.block-list > li, +ul.details-list > li, +ul.member-list > li, +ul.summary-list > li { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +.summary-table dl, .summary-table dl dt, .summary-table dl dd { + margin-top:0; + margin-bottom:1px; +} +ul.see-list, ul.see-list-long { + padding-left: 0; + list-style: none; +} +ul.see-list li { + display: inline; +} +ul.see-list li:not(:last-child):after, +ul.see-list-long li:not(:last-child):after { + content: ", "; + white-space: pre-wrap; +} +/* + * Styles for tables. + */ +.summary-table, .details-table { + width:100%; + border-spacing:0; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; + padding:0; +} +.caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0; + padding-top:10px; + padding-left:1px; + margin:0; + white-space:pre; +} +.caption a:link, .caption a:visited { + color:#1f389c; +} +.caption a:hover, +.caption a:active { + color:#FFFFFF; +} +.caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +div.table-tabs { + padding:10px 0 0 1px; + margin:0; +} +div.table-tabs > button { + border: none; + cursor: pointer; + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 3px; +} +div.table-tabs > button.active-table-tab { + background: #F8981D; + color: #253441; +} +div.table-tabs > button.table-tab { + background: #4D7A97; + color: #FFFFFF; +} +.two-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); +} +.three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto); +} +.four-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto); +} +@media screen and (max-width: 600px) { + .two-column-summary { + display: grid; + grid-template-columns: 1fr; + } +} +@media screen and (max-width: 800px) { + .three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(25%, auto); + } + .three-column-summary .col-last { + grid-column-end: span 2; + } +} +@media screen and (max-width: 1000px) { + .four-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); + } +} +.summary-table > div, .details-table > div { + text-align:left; + padding: 8px 3px 3px 7px; +} +.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name { + vertical-align:top; + padding-right:0; + padding-top:8px; + padding-bottom:3px; +} +.table-header { + background:#dee3e9; + font-weight: bold; +} +.col-first, .col-first { + font-size:13px; +} +.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last { + font-size:13px; +} +.col-first, .col-second, .col-constructor-name { + vertical-align:top; + overflow: auto; +} +.col-last { + white-space:normal; +} +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-constructor-name a:link, .col-constructor-name a:visited, +.col-summary-item-name a:link, .col-summary-item-name a:visited, +.constant-values-container a:link, .constant-values-container a:visited, +.all-classes-container a:link, .all-classes-container a:visited, +.all-packages-container a:link, .all-packages-container a:visited { + font-weight:bold; +} +.table-sub-heading-color { + background-color:#EEEEFF; +} +.even-row-color, .even-row-color .table-header { + background-color:#FFFFFF; +} +.odd-row-color, .odd-row-color .table-header { + background-color:#EEEEEF; +} +/* + * Styles for contents. + */ +.deprecated-content { + margin:0; + padding:10px 0; +} +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +.col-last div { + padding-top:0; +} +.col-last a { + padding-bottom:3px; +} +.module-signature, +.package-signature, +.type-signature, +.member-signature { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + margin:14px 0; + white-space: pre-wrap; +} +.module-signature, +.package-signature, +.type-signature { + margin-top: 0; +} +.member-signature .type-parameters-long, +.member-signature .parameters, +.member-signature .exceptions { + display: inline-block; + vertical-align: top; + white-space: pre; +} +.member-signature .type-parameters { + white-space: normal; +} +/* + * Styles for formatting effect. + */ +.source-line-no { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:0 10px 5px 0; + color:#474747; +} +.deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link, +.module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type, +.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label { + font-weight:bold; +} +.deprecation-comment, .help-footnote, .preview-comment { + font-style:italic; +} +.deprecation-block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +.preview-block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecation-comment { + font-style:normal; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:#4D7A97; + color:#FFFFFF; +} +.result-item { + font-size:13px; +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:scroll; + overflow-x:scroll; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +ul.ui-autocomplete { + position:fixed; + z-index:999999; + background-color: #FFFFFF; +} +ul.ui-autocomplete li { + float:left; + clear:both; + width:100%; +} +.result-highlight { + font-weight:bold; +} +.ui-autocomplete .result-item { + font-size: inherit; +} +#search-input { + background-image:url('resources/glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + padding-left:20px; + position:relative; + right:-18px; + width:400px; +} +#reset-button { + background-color: rgb(255,255,255); + background-image:url('resources/x.png'); + background-position:center; + background-repeat:no-repeat; + background-size:12px; + border:0 none; + width:16px; + height:16px; + position:relative; + left:-4px; + top:-4px; + font-size:0px; +} +.watermark { + color:#545454; +} +.search-tag-desc-result { + font-style:italic; + font-size:11px; +} +.search-tag-holder-result { + font-style:italic; + font-size:12px; +} +.search-tag-result:target { + background-color:yellow; +} +.module-graph span { + display:none; + position:absolute; +} +.module-graph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.inherited-list { + margin: 10px 0 10px 0; +} +section.class-description { + line-height: 1.4; +} +.summary section[class$="-summary"], .details section[class$="-details"], +.class-uses .detail, .serialized-class-details { + padding: 0px 20px 5px 10px; + border: 1px solid #ededed; + background-color: #f8f8f8; +} +.inherited-list, section[class$="-details"] .detail { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +.vertical-separator { + padding: 0 5px; +} +ul.help-section-list { + margin: 0; +} +ul.help-subtoc > li { + display: inline-block; + padding-right: 5px; + font-size: smaller; +} +ul.help-subtoc > li::before { + content: "\2022" ; + padding-right:2px; +} +span.help-note { + font-style: italic; +} +/* + * Indicator icon for external links. + */ +main a[href*="://"]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + background-size:100% 100%; + width:7px; + height:7px; + margin-left:2px; + margin-bottom:4px; +} +main a[href*="://"]:hover::after, +main a[href*="://"]:focus::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} + +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid black; +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid black; +} +table.striped { + border-collapse: collapse; + border: 1px solid black; +} +table.striped > thead { + background-color: #E3E3E3; +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid black; +} +table.striped > tbody > tr:nth-child(even) { + background-color: #EEE +} +table.striped > tbody > tr:nth-child(odd) { + background-color: #FFF +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid black; + border-right: 1px solid black; +} +table.striped > tbody > tr > th { + font-weight: normal; +} +/** + * Tweak font sizes and paddings for small screens. + */ +@media screen and (max-width: 1050px) { + #search-input { + width: 300px; + } +} +@media screen and (max-width: 800px) { + #search-input { + width: 200px; + } + .top-nav, + .bottom-nav { + font-size: 11px; + padding-top: 6px; + } + .sub-nav { + font-size: 11px; + } + .about-language { + padding-right: 16px; + } + ul.nav-list li, + .sub-nav .nav-list-search { + padding: 6px; + } + ul.sub-nav-list li { + padding-top: 5px; + } + main { + padding: 10px; + } + .summary section[class$="-summary"], .details section[class$="-details"], + .class-uses .detail, .serialized-class-details { + padding: 0 8px 5px 8px; + } + body { + -webkit-text-size-adjust: none; + } +} +@media screen and (max-width: 500px) { + #search-input { + width: 150px; + } + .top-nav, + .bottom-nav { + font-size: 10px; + } + .sub-nav { + font-size: 10px; + } + .about-language { + font-size: 10px; + padding-right: 12px; + } +} diff --git a/tag-search-index.js b/tag-search-index.js new file mode 100644 index 00000000..bf10aaf6 --- /dev/null +++ b/tag-search-index.js @@ -0,0 +1 @@ +tagSearchIndex = [{"l":"Constant Field Values","h":"","u":"constant-values.html"},{"l":"Serialized Form","h":"","u":"serialized-form.html"}];updateSearchResults(); \ No newline at end of file diff --git a/type-search-index.js b/type-search-index.js new file mode 100644 index 00000000..7a6d8a60 --- /dev/null +++ b/type-search-index.js @@ -0,0 +1 @@ +typeSearchIndex = [{"p":"com.launchdarkly.sdk.android","l":"LDTimberLogging.Adapter"},{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"com.launchdarkly.sdk.android.subsystems","l":"ApplicationInfo"},{"p":"com.launchdarkly.sdk.android.integrations","l":"ApplicationInfoBuilder"},{"p":"com.launchdarkly.sdk","l":"ArrayBuilder"},{"p":"com.launchdarkly.sdk","l":"AttributeRef"},{"p":"com.launchdarkly.sdk.android","l":"LDConfig.Builder.AutoEnvAttributes"},{"p":"com.launchdarkly.sdk.android","l":"AutoEnvContextModifier"},{"p":"com.launchdarkly.sdk","l":"EvaluationReason.BigSegmentsStatus"},{"p":"com.launchdarkly.sdk.android","l":"BuildConfig"},{"p":"com.launchdarkly.sdk.android.test","l":"BuildConfig"},{"p":"com.launchdarkly.sdk.android","l":"LDConfig.Builder"},{"p":"com.launchdarkly.sdk","l":"LDUser.Builder"},{"p":"com.launchdarkly.sdk.android.subsystems","l":"Callback"},{"p":"com.launchdarkly.sdk.android.subsystems","l":"ClientContext"},{"p":"com.launchdarkly.sdk.android.subsystems","l":"ComponentConfigurer"},{"p":"com.launchdarkly.sdk.android","l":"Components"},{"p":"com.launchdarkly.sdk.android","l":"ConnectionInformation"},{"p":"com.launchdarkly.sdk.android","l":"ConnectionInformation.ConnectionMode"},{"p":"com.launchdarkly.sdk","l":"ContextBuilder"},{"p":"com.launchdarkly.sdk","l":"ContextKind"},{"p":"com.launchdarkly.sdk","l":"ContextMultiBuilder"},{"p":"com.launchdarkly.sdk","l":"LDValue.Convert"},{"p":"com.launchdarkly.sdk","l":"LDValue.Converter"},{"p":"com.launchdarkly.sdk.android","l":"DataModel"},{"p":"com.launchdarkly.sdk.android.subsystems","l":"DataSource"},{"p":"com.launchdarkly.sdk.android.subsystems","l":"DataSourceUpdateSink"},{"p":"com.launchdarkly.sdk.android.subsystems","l":"DiagnosticDescription"},{"p":"com.launchdarkly.sdk.android.env","l":"EnvironmentReporterBuilder"},{"p":"com.launchdarkly.sdk","l":"EvaluationReason.ErrorKind"},{"p":"com.launchdarkly.sdk","l":"EvaluationDetail"},{"p":"com.launchdarkly.sdk","l":"EvaluationReason"},{"p":"com.launchdarkly.sdk.android.subsystems","l":"EventProcessor"},{"p":"com.launchdarkly.sdk.android.integrations","l":"EventProcessorBuilder"},{"p":"com.launchdarkly.sdk.android","l":"LDFailure.FailureType"},{"p":"com.launchdarkly.sdk.android","l":"FeatureFlagChangeListener"},{"p":"com.launchdarkly.sdk.android","l":"DataModel.Flag"},{"p":"com.launchdarkly.sdk.android.integrations","l":"TestData.FlagBuilder"},{"p":"com.launchdarkly.sdk.android.subsystems","l":"HttpConfiguration"},{"p":"com.launchdarkly.sdk.android.integrations","l":"HttpConfigurationBuilder"},{"p":"com.launchdarkly.sdk.android","l":"IContextModifier"},{"p":"com.launchdarkly.sdk.android.env","l":"IEnvironmentReporter"},{"p":"com.launchdarkly.sdk.json","l":"JsonSerializable"},{"p":"com.launchdarkly.sdk.json","l":"JsonSerialization"},{"p":"com.launchdarkly.sdk","l":"EvaluationReason.Kind"},{"p":"com.launchdarkly.sdk.android","l":"LaunchDarklyException"},{"p":"com.launchdarkly.sdk.android","l":"LDAllFlagsListener"},{"p":"com.launchdarkly.sdk.android","l":"LDAndroidLogging"},{"p":"com.launchdarkly.sdk.android","l":"LDClient"},{"p":"com.launchdarkly.sdk.android","l":"LDClientInterface"},{"p":"com.launchdarkly.sdk.android","l":"LDConfig"},{"p":"com.launchdarkly.sdk","l":"LDContext"},{"p":"com.launchdarkly.sdk.android","l":"LDFailure"},{"p":"com.launchdarkly.sdk.json","l":"LDGson"},{"p":"com.launchdarkly.sdk.android","l":"LDHeaderUpdater"},{"p":"com.launchdarkly.sdk.android","l":"LDInvalidResponseCodeFailure"},{"p":"com.launchdarkly.sdk.json","l":"LDJackson"},{"p":"com.launchdarkly.sdk.android","l":"LDPackageConsts"},{"p":"com.launchdarkly.sdk.android","l":"LDStatusListener"},{"p":"com.launchdarkly.sdk.android","l":"LDTimberLogging"},{"p":"com.launchdarkly.sdk","l":"LDUser"},{"p":"com.launchdarkly.sdk.android","l":"LDUtil"},{"p":"com.launchdarkly.sdk","l":"LDValue"},{"p":"com.launchdarkly.sdk","l":"LDValueType"},{"p":"com.launchdarkly.sdk.android","l":"NoOpContextModifier"},{"p":"com.launchdarkly.sdk","l":"ObjectBuilder"},{"p":"com.launchdarkly.sdk.android.subsystems","l":"PersistentDataStore"},{"p":"com.launchdarkly.sdk.android.integrations","l":"PollingDataSourceBuilder"},{"p":"com.launchdarkly.sdk.json","l":"SerializationException"},{"p":"com.launchdarkly.sdk.android.interfaces","l":"ServiceEndpoints"},{"p":"com.launchdarkly.sdk.android.integrations","l":"ServiceEndpointsBuilder"},{"p":"com.launchdarkly.sdk.android.integrations","l":"StreamingDataSourceBuilder"},{"p":"com.launchdarkly.sdk.android.integrations","l":"TestData"},{"p":"com.launchdarkly.sdk","l":"UserAttribute"},{"p":"com.launchdarkly.sdk.android.integrations","l":"TestData.FlagBuilder.VariationFunc"}];updateSearchResults(); \ No newline at end of file